Detection as Code

Matrix method

The matrix is a grid of 14 platforms against 33 capabilities in six groups, built only from what each platform's public pages say. Every cell carries a status, a note naming the feature as the page calls it, the URL of the page and the read date. Read date for every cell: 2026-11-03. Next full refresh: 2027-02-03, then every quarter.

The 33 capabilities

The brief for the matrix listed 30 capabilities and the itemised list held 33. All 33 are kept. The first five groups hold 30 of them, and each platform's score over those 30 is stored in the dataset as maturity_core_30.

Language rows are specific to each platform. A platform is not weaker for lacking another vendor's language; the rows show what each tool lets you write.

Status definitions

How the score is computed

Documented counts 1, partial 0.5, not documented 0. The matrix score is the sum over 33 capabilities. Every capability has equal weight, so the score is a count of public evidence and not a quality grade. The weighted rubric is a separate measure with its own weights.

How the pages were read

Pages were fetched and read as text. Where a docs site publishes llms.txt or a Markdown version of its pages (Panther and Hunters do), the Markdown was read. Raw repository files were read for repository documentation (Elastic detection-rules, Splunk contentctl and security_content, Google SecOps detection-rules, Panther panther-analysis and panther_analysis_tool, SigmaHQ). Page locations came from site navigation, sitemaps and docs indexes. A cell that points at a platform's default page means the page was checked and did not name the feature.

Where the docs could not be read

Platforms considered and not scored

Ownership notes

Cribl announced its acquisition of CardinalOps on 2026-07-14. Cisco completed its acquisition of SnapAttack on 2025-02-05. Panther agreed to be acquired by Databricks on 2026-06-16. Those three facts came from other research and were not re-verified for the matrix, except that cardinalops.com redirects to cribl.io and snapattack.com redirects to a Splunk page, both seen on 2026-11-03. Splunk's contentctl README says future investment is shifting to Detection Studio.

What the matrix does not measure

Corrections and refresh

Any vendor or reader can send a correction with the URL of a public page that names the feature. The cell is re-read, updated if the page supports it, and the change is logged on the corrections page. A correction that moves a cell up needs a public page. Corrections are applied within ten working days and the read date on the changed cell is updated. The full grid is re-read every quarter, and sooner when a release note changes the picture.