Safeguard
Developer Tools•

SARIF kind and level: what should you count in security metrics?

SARIF results carry a kind and a level. How to count them so passes, open questions and notes do not inflate your security finding numbers.

Safeguard Security Team
4 min read

Count SARIF results by both kind and level. Kind says what sort of result it is (pass, fail, open, review, informational, notApplicable). Level says severity for failures (error, warning, note, none). Counting every result as a finding inflates your numbers and hides what matters.

What the specification defines

In SARIF 2.1.0, a result may contain a kind property. When present, it takes one of a fixed set of values. A pass means the rule was evaluated and no problem was found. An open result means the tool had insufficient information to decide. An informational result is purely informational and does not indicate a problem. NotApplicable means the rule was not evaluated for the target. There are also fail and review values.

A result may also contain a level. Warning means a problem was found. Error means a serious problem was found. Note means a minor problem or an opportunity to improve. None means severity does not apply because the kind is something other than fail.

Two details matter for counting. The kind property is optional, and the level is meant to be none when the kind is not fail. In practice, many tools omit kind and use level alone, so check what yours emits before building charts.

A counting table

KindLevelCount as
failerrorHigh severity finding
failwarningFinding
failnoteLow priority finding
openanyNeeds review, count separately
reviewanyNeeds human decision, count separately
pass, informational, notApplicablenoneDo not count as findings

Steps

  1. Take one real SARIF file from your scanner and read the kind and level of ten results by hand.
  2. Write down what your tool means by each level. Level is not the same as CVSS severity. Map them explicitly if you need to.
  3. Add the kind and level to your stored records, not just a total.
  4. Report findings as fail results, and report open and review results as a separate backlog.
  5. Re-check the mapping whenever you upgrade the scanner.

Common mistakes

  • Counting the length of the results array as the number of findings. If the tool writes passes into the file, the count is wrong.
  • Treating note as noise and dropping it permanently. Notes can be useful for trend analysis even if they never block a build.
  • Mixing levels from different tools in one chart without a mapping.

Why it matters for decisions

Gate rules usually key off level. If a tool marks something as a warning that you consider critical, no amount of charting fixes the mismatch. Review level assignments with the people who respond to the findings, and agree what blocks and what only informs.

Quick check

Is SARIF level the same as severity?

Not exactly. It is a coarse scale defined by the format. Tools often carry a separate numeric score or custom property for finer severity.

What if my tool never sets kind?

Then treat results as findings and rely on level, but confirm by reading a sample. The kind property is optional in the standard.

How Safeguard fits

Safeguard's policies and gates work with dependency and SBOM scanning results so teams can decide what blocks and what informs. Try a free scan at gold.safeguard.sh/scan.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.