Security Data Works

Open notebook

Architecture research, in the open

Somewhere in your program there's a claim nobody has tried to falsify: the retention number in the board deck, the coverage figure from the last vendor QBR, the architecture assumption everyone inherited. This page is where I run my own claims through that test in public. Twelve anchor hypotheses, each with an evidence tier, a confidence score, and a falsification condition, meaning the thing that would make me retract it. The flagship has already been through one revision on the record: the performance claim now stands as two regimes, with the index winning simple lookups and the lakehouse engines winning the hunting-shaped aggregations by 5–62× (Tier B, single host, CV-gated, identical answers verified).

How positions form

Evidence tiers. Update on contact

Every claim I put in a recommendation gets graded by the kind of evidence it rests on. The tiers determine whether a claim makes it into a recommendation at all, and how loudly I'll defend it under pushback.

  • Tier A — peer-reviewed research, ratified standards, and named production deployments on the public record.
  • Tier B — practitioner conference talks and controlled first-party benchmarks, single-host caveats stated.
  • Tier C — vendor-published material, blogs, and analyst reports (Gartner included), bias flagged.
  • Tier D — speculation, labeled as such.

The update rule: positions evolve when new evidence overturns them. Twenty-nine contradictions are tracked across the portfolio, each one a place where a prior position got revised on contact with new data. Several of those changed what's in the matrix, what gets recommended in engagements, or how a benchmark gets framed. Surfacing them publicly is part of the deal. The alternative is a research practice that moves the goalposts and hopes no one notices.

Vendor claims get held to the same evidence standard as everyone else's. A vendor who publishes a benchmark with methodology and reproduction code (which is rare) earns Tier B, and reaches Tier A only when a named production deployment stands behind the result. A vendor who publishes a number with no methodology gets a Tier D rating until something independent corroborates it. This page is updated as new evidence is ready, rather than on a fixed schedule.

Read more on the method →. The contradiction-hunting workflow, the five patterns that 25 hypotheses (the 2025 methodology-validation sample) revealed about vendor claims, and the four practices that move the floor on architecture decisions.

Active research — anchor hypotheses

Anchor hypotheses, with the evidence each one rests on.

Selected from a portfolio of 102 active hypotheses as of November 2026 (the 25 carried through full methodology validation are described on the methodology page). These are the claims most likely to show up in a platform recommendation, including one per foundational standard (Arrow, Iceberg, OCSF, Sigma). Pick one from the list; each names what would change the answer.

H3-PERFORMANCE-01 · Tier B · 4.5/5

Two-regime: the schema-on-read index wins the simple lookups; the lakehouse engines win the hunting-shaped aggregations by 5–62×.

Two-regime finding: a schema-on-read index wins the simple indexed lookups; the lakehouse engines win the hunting-shaped aggregations by 5–62×, a 46.8× native / 10.1× Iceberg five-query average (Tier B, single host, 10M events, CV-gated, identical answers verified). I revised this from the earlier single-headline framing, and the revision is logged in the contradictions register. You can see how this evidence rolls up into a recommendation on the worked scorecard.

The counter-position runs along two lines. First, "ClickHouse isn't a SIEM," which is true, but the comparison is on query-engine performance against the same workload and makes no claim about the broader SIEM feature set. Second, "the workload was selected to favor columnar storage." The workload is a Zeek deployment shape, and the result generalizes most cleanly to security workloads dominated by a small number of recurring queries. A workload dominated by ad-hoc full-text search across raw events would narrow the gap.

What would change the answer: an independent benchmark on a workload with a meaningfully different shape where the schema-on-read engine closes the gap, or evidence that the ClickHouse result fails to reproduce on different hardware.

Deeper analyses

Selected hypotheses extended into long-form deep dives.

Grouped by what they're for. Each carries the same evidence-tier framing as the anchors above, with more space for the underlying argument and the conditions that would change it.

Coverage frameworks

What a defensive or control catalogue says it covers, set against what it can actually reach, and in one case against what actually fired.

Securing AI

Which controls reach the AI attack techniques on record, and what the data layer under agent workloads has to carry. The essays that work the same ground are the lethal trifecta, explained three ways, the blind quadrant over AI systems, when the frontier model refuses the forensics, and the security market has no one defining what you can own.

The ATLAS-to-D3FEND mappings behind the ATLAS blind-quadrant essay are public as their own dataset, the ATLAS → D3FEND crosswalk (MIT), which maps ATLAS techniques to existing D3FEND artifacts with a verbatim quote behind each one. On MITRE's own D3FEND dashboard script, the development branch integrates 2 of 173 ATLAS techniques, the two mappings already merged upstream (#617 and #618), and adding the re-adjudicated restrictions and the pull requests still in review takes it to 137 of 173.

Hypothesis extensions

Anchor hypotheses above, given the room to work through one platform or one category in full.

The method

How the hypotheses above get formed, tested and revised.

Method history: the v1 Capability Matrix writeup (2026-05-25) is superseded by the current Matrix and kept as a dated record.

Things I changed my mind on

Two contradictions, with the evidence that forced the update.

Twenty-nine contradictions are tracked across the research portfolio. Two are surfaced here in full prose; two more in summary. Each one is a place where a recommendation got revised because a specific person's specific argument wouldn't fit the prior frame.

ClickHouse is cheap. ClickHouse is expensive. The baseline determines which.

For most of 2025 my recommendation language was "ClickHouse is cost-effective for security workloads," defensible at 30–90% cost reduction against per-GB-ingested licensing models. That language broke in May 2026 on a sharper framing from the lakehouse camp: "ClickHouse is expensive" when the comparison baseline is Iceberg-on-S3 with a separate query engine instead of legacy SIEM licensing.

From inside the lakehouse view, ClickHouse's MergeTree format duplicates data already sittable in open formats on S3, requires always-on compute that can't scale independently of storage, demands fat-memory nodes for joins, multiplies storage for replication, and rivals Snowflake on managed pricing at sustained TB/day workloads. None of that is wrong. The prior framing was wrong because it assumed the baseline.

Updated position: ClickHouse is cheap versus per-GB SIEM licensing, comparable versus Snowflake or Databricks SQL, expensive versus Iceberg-on-S3 with a swappable engine. The recommendation now names the baseline. Hot tier still favors ClickHouse; decentralized open-format still favors the lakehouse. The question has two correct answers, and which one wins depends on what you're optimizing for, which is the kind of trade-off the worked scorecard resolves against a named baseline.

Centralized SIEM versus federated lake turned out to be a capabilities argument.

The early framing of the centralized-vs-federated debate ran through cost: "the federated lake is cheaper, here are the savings." The savings turned out to be more modest than the early modeling suggested — somewhere between 2% (cost-neutral at 10 GB/day) and 64% (at 1 TB/day) on full TCO, per G-Cloud 14 validated analysis from April 2026. The earlier 360–725× framing was storage-only, not full TCO, and got revised down accordingly.

The reframe: federated query wins on capabilities a centralized SIEM cannot deliver at any price. Cross-site joins across regions where the data legally cannot leave its jurisdiction. Data sovereignty for multi-region operators in regulated industries. Less wide-area-network traffic, because the query goes to where the data lives rather than shipping the data home. Each of these is something the centralized architecture cannot do at the architecture level, which makes them capability arguments whatever the savings turn out to be.

The updated recommendation framework is a 4-stage maturity model. Stage 0 is pure SIEM (baseline, zero savings, low complexity). Stage 1 is tiered retention (40–60% savings, low-to-medium complexity). Stage 2 is federated query (60–80% savings, medium complexity). Stage 3–4 is data lake primary (80–95% savings, high complexity). The right stage depends on security operations maturity and engineering team capabilities, not the cost optimization in isolation.

Two more, in brief

  • Spark Real-Time Mode reframes the "RisingWave is the only path to streaming simplicity" narrative. Earlier framing positioned RisingWave as the single best answer to streaming complexity. Real-Time Mode went GA on Databricks on 19 March 2026 (open-source Spark 4.1 carries only the stateless subset, and the stateful mode stays a Databricks feature), and it doesn't refute the RisingWave case but adds a credible alternative for shops already on the Spark ecosystem. The recommendation now branches by existing investment.
  • Iceberg and Delta Lake are converging, not displacing each other. Earlier framing leaned toward "Iceberg displaces Delta" based on the trajectory of major-vendor announcements. The reality through 2025–2026 has been convergence, where both formats remain viable, both are gaining vendor support, and the recommendation depends on the surrounding ecosystem (Databricks vs the everything-else stack) rather than a categorical choice.

What's coming

The page is alive. Here's what's in flight.

Hypothesis confidence updates land as the evidence accumulates, with any tier movement noted in-line on the anchor hypotheses above. New contradictions surfaced as they're written and defensible — several drafts are in the queue, including a security-specific TCO comparison for streaming versus batch architectures (which would resolve the caveat on H-IMPL-01 in either direction).

The pre-registered streaming-freshness sweep, which measured how often a batch job has to poll before a Kafka plus Flink stack stops buying freshness on a windowed detection and a single-event IOC match, finished in November 2026 and came back supported: a 5-second micro-batch poll landed within about a second of the streaming stack on the windowed detection, at about three times the CPU of a 15-minute schedule and roughly 0.1% of what the streaming stack used, while on the single-event match the collector's file cadence set a floor no poll interval removes, which is where streaming keeps its edge (results). The catalog comparison (Polaris, Nessie, Unity, Hive Metastore, Glue) that was planned for Q3 2026 is on hold. The candidates after that are a query-engine bake-off on a longer-tail security workload, a Kafka-to-Iceberg latency characterization, and a federated-query stack comparison, each published when it's ready.

These claims are testable on your environment.

The fastest test is to run the published benchmark methodology on your own workload, with the full code and spec and a one-page TCO and performance readout you produce yourself. Or see how these hypotheses roll up into a recommendation on the worked scorecard, or read the program POV that connects them into a single argument.