Assurance
Anchored evaluations
Agents: markdown · /v1/evaluations (JSON) · subscribe: Atom · RSS · the ledger: /ledger.
Rightshold evaluates itself the way an adversary would: simulated agents — well-behaved, confused and fraudulent — are driven over the same surfaces real agents use, and scored against expectations written before the run. When an evaluation completes, its outcome is anchored in the public ledger: the scenario counts, the scores, and the SHA-256 fingerprints of the frozen report and the machine-readable results. The anchor cannot be edited or removed, so the published record can always be checked against it.
The scenarios run against a separate copy of the same code that serves this site, with accounts created for the evaluation — never against live data. The ledger records real events only, so what is anchored is the outcome and the fingerprints, never scenario data. Frozen copies of each report and its results are kept with the evaluation record; any copy presented later can be checked against the anchored fingerprint before it is trusted.
Evaluations (2)
- adversarial evaluation rightshold-adversarial-eval@1
Ran 2026-10-19 07:44:01 → 2026-10-19 07:44:14 UTC · code
4ba6b44927dd· anchored 2026-10-19 as ledger entry 14 (block 12)24 scenarios — 24 passed · 0 partial · 0 failed · 0 errors · 403 checks, 0 failed
Report SHA-256:
6137ff6c38e69427c4bb4b7705548c088bf6b244333b7846d678261a3a7cbbad
Results SHA-256:16562d8aa8519113b85c296f1fed718cfab74a07adeed3ccf7f849f6fe21cc57 - adversarial evaluation rightshold-adversarial-eval@1
Ran 2026-10-18 23:54:52 → 2026-10-18 23:55:10 UTC · code
80a77df44f85· anchored 2026-10-19 as ledger entry 13 (block 11)24 scenarios — 24 passed · 0 partial · 0 failed · 0 errors · 403 checks, 0 failed
Bad-actor prevention 91 · Intent understanding 88 · Material help 90
Report SHA-256:
47436759d254cf4e801cf303e95807d7b6748c49079f4fbc964dcf6cf0e23adf
Results SHA-256:0f30d0df9146b35ce5c78dadea0040300fdaf743d4086d26e31656b698e1ce06
Verify an anchored evaluation
Three independent checks, all public:
- Read the entry.
GET /v1/ledger/entries/{seq}returns the anchored payload — counts, scores and both fingerprints — with a Merkle inclusion proof against its signed block. - Verify the chain.
GET /v1/ledger/verifyrecomputes every block from the first one: hashes, links and the issuer's signatures (the keys are published at/.well-known/jwks.json). If any anchored entry had been altered, verification would fail. - Hash the artifacts. Run SHA-256 over the frozen report and the frozen results and compare with
report_sha256andresults_sha256in the entry. A match proves the artifacts are exactly the ones that were anchored; any later edit breaks it.
