Brushed bronze chain links on white marble with one link cleanly fractured, representing a broken hash chain

Proof lab

Don't trust the ledger. Try to rewrite it.

This page hands you the tamper tooling. The records below are sealed with SHA-256 in your own browser, then re-hashed on every keystroke. Change a single character and the chain tells you exactly where the story stopped being true.

Hands on

Edit a sealed record and watch the seal fail

Nothing here is a mock-up. Hashes are computed with the Web Crypto API on your device — no request leaves the page.

Sealed ledger · edit any detail field

Chain intact
  • #4101STATE_TRANSITIONOPERATOR · h-2291

    sealed

    recomputed

  • #4102AI_RECOMMENDATIONAI-0004

    sealed

    recomputed

  • #4103DISPATCH_APPROVEDOPERATOR · h-2291

    sealed

    recomputed

  • #4104REFUSALAI-0007

    sealed

    recomputed

  • #4105EVIDENCE_VERIFIEDOPERATOR · h-3120

    sealed

    recomputed

Every recomputed hash matches its seal, so the history reads as authentic. Change one character above to see what a rewrite costs.

Case study chains

Every case study, hash by hash

Each program on the case studies page has a full chain below: timestamps, the actor, the event, the verdict, the previous hash and the digest that commits to it — ending in a chain head and a second-family attestation tag. Every value is recomputed in your browser on load and the whole set downloads as a file.

Recomputing chains on your device

Take it with you

Verify a bundle we never see

An audit trail only counts if a third party can check it. Download this segment as plain JSON, change anything you like in your own editor, then drop it back — the verifier recomputes every digest from genesis using the published pre-image and names the first link that fails. The algorithm is SHA-256 and the format is documented below it, so an insurer, regulator or opposing party can reimplement this in an afternoon without us.

Independent verifier · oa-evidence-1

or drop a .json file here

Algorithm
SHA-256, hex, lowercase
Pre-image
seq|ts|actor|event|detail|prevHash
Genesis
0000000000000000000000000000000000000000000000000000000000000000

Adversary

Five ways to cheat, and the control that stops each one

Run an attack and watch the trace it leaves. Every blocked attempt becomes a record of its own — the defense is a mechanism, not a promise.

Choose an attack

Select an attack to see the exact control that stops it, the trace it leaves behind, and why the record of the attempt survives the attempt.

Why it holds

Three properties, no trust required

Content-addressed records

Each record hashes its sequence, actor, event class and payload. Identical facts produce an identical fingerprint; different facts cannot.

Commitment to the past

Every hash includes the hash before it. Rewriting record N forces you to forge N+1 through the head of the chain in the same instant.

Refusals are records

When an agent declines an action it is written to the same chain as an approval. Absence of activity is therefore evidence, not a gap.

Scope

What proof does and does not claim

Integrity: provenAuthorship: attributedJudgement: human

A hash chain proves that a record has not changed since it was written and which actor wrote it. It does not claim the decision inside that record was correct. That is deliberate: correctness stays with accountable humans operating under the authority levels, while the platform guarantees the record of what they and the AI workforce actually did can never be quietly revised.