Open Source · MIT · Security & AI Governance
Attestor
A risk assessment is only as honest as its grade. Most are graded by a person — or a language model — reading the findings and writing down a letter. That process quietly skips steps, omits the grade entirely, or lands on a confident letter using a rule that was never in the rubric. Attestor is the evidence engine that grades deterministically from the findings: it cannot skip the grade, it cannot invent a threshold, and it will not mark a control proven because the prose sounded sure.
Why It Exists
We Wrote a Deterministic Rubric. Then We Didn't Follow It.
We built a GRC assessment process with a fully deterministic grading rubric — an A–F table keyed on the worst residual risk, with a hard cap for low-confidence audits. It says the grade "must be a deterministic function of the audit's own findings, never a freehand impression." Then we ran four real audits with it. Three produced no grade at all, substituting prose where the rubric mandates a letter. The fourth graded a full letter too high, reasoning from a threshold that exists nowhere in the rubric.
That last one is the point worth sitting with: it was not a hallucination. Every fact in the reasoning was true. The evidence was real, the finding was named, the letter was confident — and the rule that produced it was invented on the spot. No spell-check, no fact-check, and no reviewer skimming for plausibility catches that, because nothing in it is false. Only re-deriving the rule from the source catches it. That is what this engine does.
A control marked "implemented" is not a control that's been proven.
UNVERIFIED is the default. A finding is not evidenced until something proves it — not because the sentence describing it sounded thorough.
Evidence, Not Assertions
"We Checked" and "They Told Us" Are Different Facts
Every finding carries an evidence state, and the default is the honest one. Attestor tracks the difference between a control someone inspected, a control someone claimed, and a control resting on nothing anyone verified. This surfaces something prose cannot: an audit can quietly rate a system favorably while never having confirmed a single control by inspection — a clean grade on a system nobody actually looked at.
A Grade That Follows From the Findings
Walk the Rows Worst-First. Stop at the First Match. Show the Walk.
The letter is derived, not chosen. Attestor walks the grade rows from worst to best and stops at the first one the findings trigger — then writes the walk into the basis, so the reasoning is inspectable rather than asserted. Low confidence caps the grade: you cannot award a top mark to a system you could not actually inspect. Every grade carries its basis, because a grade with no basis is as empty as "should work."
One Engine, Three Audiences
Same Failure Underneath Every Framework
A security team grading a stack against CIS Controls, an AI-governance team grading a model against ISO 42001, and an audit team working the SOC 2 criteria are running the same play: someone asserted a control, and nobody proved it. Attestor doesn't care which framework you cite — it cares whether the letter follows from the findings, and whether the findings follow from evidence.
Eight control catalogs ship with it, held as typed data rather than prose. Every control id an assessment cites is resolved against them, so a hallucinated control — a "CIS 27," an ISO "A.11.9," a SOC 2 "CC10.1" — fails validation instead of passing as real.
CIS Controls v8.1
The 18 top-level controls. For the security team grading an infrastructure or SaaS stack — the catalog auditors reach for first.
ISO/IEC 27001
All 93 Annex A controls across the four themes: organizational, people, physical, technological.
ISO/IEC 42001
The 38 Annex A controls for AI governance: AI decisions, data, life cycle, and third parties.
NIST AI RMF
All 72 subcategories across Govern, Map, Measure, and Manage.
NIST CSF 2.0
The 22 categories across six functions — including Govern, which CSF 1.1 did not have.
NIST SP 800-53
The 20 Rev 5 control families, Access Control through Supply Chain Risk Management.
SOC 2 Trust Services Criteria
All 61 criteria: the 33 common criteria plus Availability, Processing Integrity, Confidentiality, and Privacy. Criteria describe what an auditor tests — citing one names the criterion a finding bears on, not an audit opinion.
CCPA / CPRA
The consumer-rights, business-duty, and enforcement sections of the California Civil Code, cited by real section number so a citation can be checked against published law. Naming a section names a legal obligation, not a control — and not a compliance determination.
NIST SP 800-30 sits underneath all of them as the risk-assessment spine: likelihood × impact → residual risk. It's the methodology the grading rubric keys on, not a control catalog to cite against.
What's in the Box
A Library and a CLI. Zero Dependencies. No Network.
grade
Grades an assessment deterministically and prints the basis — the row walk, not just the letter.
rubric
Prints the exact rules the engine enforces, so the grade is never a black box.
--strict
Exits non-zero when a computed grade contradicts a published one. Wire it into CI.
import
A small Python package. Drop it into your own tooling; it returns a grade and a basis.
Zero runtime dependencies — stdlib only — and no network calls by design; an evidence engine that phones home is a different product. It runs anywhere Python runs, including fully offline, so it fits an air-gapped review as easily as a CI job.
Grade it like the rubric says.
Deterministic. Evidence-first. Auditable by construction. No network.
View Attestor on GitHub →