Test suite binding
A run binds to a test suite through the suite hash.
Verification
Signed certificates, hash-chained logs, and preserved run archives.
Offline verification
Requires the repo or installed package.
AUDIT_URL=https://raw.githubusercontent.com/SDL-HQ/\ sir-firewall/main/proofs/latest-audit.json curl -s "$AUDIT_URL" \ | python3 tools/verify_certificate.py - --no-ledger
NOT VERIFIED: certificate-to-ledger binding was skipped with --no-ledger. OK: payload_hash and signature verify against key registry spec/pubkeys/key_registry.v1.json entry signing_key_id=sdl-2026-10-06; certificate integrity and signature are valid.
Two lines, and both matter. The first says what was not checked: a certificate fetched on its own has no ledger beside it, so the binding between the certificate and the run it describes cannot be established. --no-ledger is the only way to say so explicitly; without it the verifier exits 9, because a check that was not performed is not a check that passed.
The second line is what this does prove: payload integrity and signature validity against the key registry. Not policy correctness, not model safety, and not that the run behind the certificate is the run its counters describe.
The key id shown is whichever key signed the current proof, and it changes when the signing key rotates. To verify the binding as well, download a full run archive and pass its ledger, which is the command on the home page.
How it works
A run binds to a test suite through the suite hash.
A run binds to a policy configuration through the policy hash or version.
A run produces an immutable log trail through the final ITGL hash.
The published certificate is cryptographically signed and can be verified offline.
Verification resources