the published accuracy record
Benchmark
A small, v0 pilot run against a public corpus — 25 mature open-source libraries with no known issue, 11 intentionally-vulnerable training apps, and 20 mature, deployed open-source web applications. Published with every caveat we found, not just the numbers that look good.A small, first-version test against a public set of real code — 25 well-established open-source code libraries with no known problems, 11 training apps built with problems on purpose, and 20 mature, real-world web apps. We published every weakness we found in this test, not just the numbers that make us look good.A small, v0 pilot: 25 clean libraries, 11 vulnerable training apps, 20 deployed web apps. Every caveat published, not just the flattering numbers.
100%
▲ higher is better
55.6%
▲ higher is better
100%
▲ higher is better
100%
▲ higher is better
80%
▲ higher is better
Free vs. Audit
nittim ships two tiers. The free scan runs only deterministic checks — a secret scanner and a dependency-CVE lookup — no model in the verdict path. Audit adds Claude Opus reasoning across the full audit framework, including the semantic vulnerabilities (SQL injection, authorization bypass, SSRF, logic flaws) that have no committed secret or vulnerable dependency to point at.nittim ships two tiers. The free scan only runs fixed, rule-based checks — looking for passwords or keys left in your code, and known security bugs in your ready-made packages — no AI is involved in the final call. Audit adds real AI reasoning (Claude Opus) across the whole check framework, including the kinds of bugs that live purely in your app's logic (like SQL injection, letting the wrong person in, tricking the server into fetching something it shouldn't) — bugs that don't leave a password or an outdated package for a fixed rule to spot.nittim ships two tiers. Free scan runs deterministic checks only — a secret scanner, a dependency-CVE lookup — no model in the verdict. Audit adds Claude Opus reasoning across the full framework, including semantic bugs (SQL injection, auth bypass, SSRF) no secret or CVE points to.
| Tier | Clean-pass rate | Recall |
|---|---|---|
| Free — deterministic scan | 100% (25 of 25) | 63.6% (7 of 11) |
| Audit — Opus | 100% (25 of 25) | 100% (11 of 11) |
Score separation, Deep tier
On the Deep tier, the readiness/safety score (0–100, higher is safer) separates the two populations clearly: a mean of 89.3 on clean libraries versus 30.3 on intentionally-vulnerable apps. The two populations are maximally contrasted by construction — audited libraries against deliberately broken training apps — so this gap describes the corpus, not how well nittim discriminates a real app with two or three embedded issues from clean code, which this benchmark does not yet measure.
Applications — 20 mature, deployed web apps
The library numbers above answer the wrong question for most readers: nittim audits applications, not libraries. This axis measures both tiers against 20 mature, widely-deployed open-source web apps (Ghost, Strapi, n8n, cal.com, Gitea, Mattermost, Discourse, Mastodon, Metabase, and others) across Node, Go, Python, Ruby, PHP, Elixir, and Clojure stacks. A deployed app ships a real dependency tree, so unlike a library, a not-green verdict here is not automatically a false alarm — every one was independently adjudicated against the OSV database and the repo's real lockfile before being counted.The library numbers above answer the wrong question for most readers: nittim checks whole apps, not just code libraries. This part of the test measures both tiers against 20 mature, widely-used open-source web apps (Ghost, Strapi, n8n, cal.com, Gitea, Mattermost, Discourse, Mastodon, Metabase, and others) built in several different programming languages. A real app has a real tree of ready-made packages it depends on, so unlike a library, a not-green result here is not automatically a false alarm — every one was checked by hand against a public database of known security bugs and the app's actual list of packages before being counted.nittim audits applications, not just libraries. This axis measures both tiers against 20 mature, deployed open-source web apps (Ghost, n8n, and others) across several stacks. A real dependency tree means a not-green verdict here is not automatically a false alarm — every one was checked by hand against OSV and the real lockfile.
| Metric | Result |
|---|---|
| Secret clean-pass rate (free tier) | 100% (20 of 20) |
| Runtime-CVE catches (reported separately — several driver findings were later adjudicated down, see below) | 3 of 20 |
| Clean-pass rate (Deep tier, Opus) | 80% (16 of 20) |
| No critical on model opinion alone (Deep tier) | 100% (20 of 20) |
Application-axis caveats
Mature apps are a lower bound, not the target class
One flatly false critical — found, disclosed, fixed at the source
Over-escalation was the real failure mode — since retuned
Single pass per app — verdict variance unmeasured
The adjudicator shares a model family with the system under test
Read this before the numbers above
Small sample — point estimate, not a tight bound
Library FCR and application FCR are different measurements
Recall is verdict-level, not finding-level
The juice-shop-ctf disclosure
The juice-shop-ctf entry, both ways
Confidence interval, not a point claim