Detection as Code

Rubric: how the scores are set

Eight criteria, weighted to 100, scored 0 to 10 from public documentation. Nobody scores 10. The same evidence rules apply to every platform, Mate Security included.

The eight criteria

Each criterion is scored from what a vendor's own docs, repositories and product pages state. The weight is the share of the total. Git and CI and rule health carry the most, 18 each.

Criteria, weights and what a documented score looks like (version 1.0, 2026-11-04).

CriterionWeightIt asksDocumented looks like
Rule languages and conversion paths
languages
15Which rule languages does it run natively (Sigma, YARA-L, SPL, KQL, EQL, ES|QL, Python, Lucene, vendor DSL) and what conversion paths exist between them?Named languages and a documented conversion path, such as pySigma backends or Uncoder targets by name.
Git-native workflow and CI/CD
git_ci
18Is there documented repo sync, a pull-request flow, a CLI and an API for deploying rules?A repo connection or CLI with named commands and a deployment workflow.
Testing
testing
15Are unit tests, replay against historical data, synthetic events or backtests documented?A test command or retrohunt feature, with inputs and what it checks.
Coverage analytics
coverage
12Is there ATT&CK mapping and a gap view of techniques with and without detections?A coverage matrix with active and possible coverage.
Rule health
rule_health
18Does it detect noisy rules, broken rules, field drift, rule performance cost and deprecated rules?Named health tables, dashboards or scores with failure reasons and metrics.
Versioning and rollback
versioning
8Is a rule's history, diff and restore documented?Revisions, history view or audit trail with before and after values.
Content library size and freshness
library
8How many rules ship, and how recently were they updated?A count and a dated update on a vendor or repo page.
Pricing transparency
pricing
6Are prices or the pricing unit published, with a read date?Published rates or tiers; a free tier with limits.
Total100

Why rule health carries the weight it does

Weighted as high as git and CI because a rule that stops running or floods the queue is the failure a detection team meets most often. Each subcheck documented moves the score up about 1.5 points from a 3.0 start. The five subchecks are noisy rule detection, broken rule detection, field drift, performance telemetry, deprecation.

Score bands

The three score bands. Scores from 4.1 to 4.9 and 7.1 to 7.9 are not used.

StatusScoreMeaning
documented8.0 to 9.5Public documentation describes the feature with substance: named commands, fields, limits or behaviour a reader can check.
partial5.0 to 7.0Mentioned, described in one line, in preview, vendor claim without method, or documented for only part of the criterion.
not documented2.0 to 4.0Nothing found on the pages read. Scores 2.0 where the page says no, 3.0 where silent, 4.0 where adjacent evidence exists.

Evidence rules

The read date for every cell sits beside it. Cells read before 2026-11-04 carry 2026-11-03.

How a total is computed

Each criterion score is multiplied by its weight and divided by 100. The total is the sum of the eight parts, shown to two decimals. The build refuses to publish if the weights do not sum to 100 or if a total differs from the sum of its parts. Worked example, Mate Security:

Mate Security: weight times score over 100, summed.

CriterionWeightScorePart
Rule languages and conversion paths153.00.45
Git-native workflow and CI/CD183.00.54
Testing153.00.45
Coverage analytics126.00.72
Rule health186.01.08
Versioning and rollback83.00.24
Content library size and freshness84.00.32
Pricing transparency63.00.18
Total1003.98

Bands, not a ladder

Where totals sit within 0.25 of each other, the evidence cannot separate them, so the tables mark them as a band and the order inside a band is arbitrary. Rank numbers are still shown, because a table needs an order.

The ranking

14 platforms are scored. 12 are profiled; CardinalOps (Cribl) and SnapAttack (Cisco) are scored in the dataset and covered in a short note because neither ships under its own name now. Mate Security is eleventh of 14 scored and tenth of 12 profiled on the current data.

Rubric totals for all 14 scored platforms.

#PlatformRubric total, of 10BandMatrix score
1Microsoft Sentinel7.81band A12.5 / 33
2Elastic Security7.60band A16.5 / 33
3Google Security Operations6.8315.0 / 33
4Panther6.31band B18.0 / 33
5Splunk Enterprise Security (Cisco)6.21band B13.5 / 33
6Sigma and pySigma5.50band C12.0 / 33
7Anvilogic5.48band C6.5 / 33
8Detecteam5.26band C3.5 / 33
9SOC Prime5.115.0 / 33
10SnapAttack (Cisco) (scored, not profiled)4.610.0 / 33
11Mate Security3.98band D3.5 / 33
12CardinalOps (Cribl) (scored, not profiled)3.96band D3.5 / 33
13Sekoia.io3.46band E11.0 / 33
14Hunters3.44band E6.5 / 33

Evidence grade

Vendor figures about the vendor itself carry an evidence grade. A: measured by a third party with the method published. B: vendor-measured with the sample and method stated. C: a vendor figure with no method. D: a figure with no source. A vendor figure is always labelled as a vendor claim, whatever its grade.

What the rubric does not measure

It does not measure whether a feature works well, scales or is priced in a way you can afford. It does not see features documented only behind a login. SIEMs lead because they publish more detection documentation in public than the specialists do; that is a result of the evidence rule, and it is worth knowing before you shortlist. The grid behind the matrix is explained on the matrix method page, and corrections are handled as set out in the editorial policy.