No AI in the verdict path
Last updated 21 August 2026
Compliance tools have started scoring your risk with language models. We do not, and this page explains how you can hold us to that rather than take our word for it.
The claim
No compliance verdict this product emits is produced, ranked, adjusted or explained by an AI model. The scan score, the rubric that produces it, and the control and framework mappings behind it are ordinary deterministic code. The same site scanned twice, with nothing changed in between, returns the same verdict — not a similar one.
Why that matters
A verdict you cannot reproduce is a verdict you cannot defend. If a regulator, an auditor or a customer asks why a control was marked as failing, the answer has to be a rule someone can read and disagree with — not a sampled generation that a rerun might not repeat. A model that scores you differently on Tuesday than on Monday has not given you a compliance finding. It has given you an opinion with a number attached.
How the claim is enforced
The rule is enforced by a test in our build, not by a policy document. The test reads the source of every file in the verdict path and fails the build if any of them imports an AI model client — checking static imports, dynamic imports andrequire calls alike, so none of the three is a way around it.
- The scanner's scoring library is enumerated from disk rather than listed by hand, so a newly added verdict file is covered automatically instead of being covered only if someone remembers to add it.
- The named control catalogue and framework-correspondence files are covered on the same terms.
- The forbidden list covers the major model clients and SDKs by package name.
The test is apps/scanner/src/lib/ai-guardrail.test.ts. It runs on every push and every pull request. A change that puts a model anywhere in the verdict path does not get a warning — it does not build.
What this does not claim
This is a boundary, not a blanket statement, and it is worth being exact about where the boundary sits.
- It does not say we will never use AI anywhere in the product. Drafting assistance — suggesting wording for a policy, summarising a document you uploaded — is a different job from issuing a verdict, and the boundary exists precisely so that those two never share a code path.
- It does not say our rubric is correct. It says the rubric is what decides, that it is deterministic, and that it is the same for you as for everyone else. Whether a given rule is the right rule is a separate argument, and one you are entitled to have with us.
- It covers the verdict path as defined by that test. It is not an assertion about code outside it.
Verifying the other half
The same reasoning applies to consent evidence. Every consent record we issue can be checked against its Merkle inclusion proof and signature by a standalone, zero-dependency script that shares no code with the system that produced the record — so verifying us does not require running our software or trusting our dependencies. The verification procedure is published, and a worked example runs against real fixtures.
You do not have to trust us. That is the point of publishing both.
