Audit evidence

Defensible by construction. Not by recollection.

Every passage decision lands in a hash-chained ledger. When the ICO asks why a passage was redacted, the answer is already written: the rule, the reasoning, the reviewer, the time.

Hash-chained

Each record's hash includes the prior record's hash. Tamper anywhere, integrity verification fails everywhere downstream.

Reproducible

Re-run any decision from inputs at any time. Same bundle, same ruleset version, same result.

Time-attested

Every record carries a server timestamp signed at write. Sequence is not editable after the fact.

Identity-attached

Each reviewer action is bound to a named officer. Anonymous decisions are not possible by design.

The ledger

What ICO sees, if asked.

Every record. Every passage. Every change of mind. The bundle that left your perimeter, and the chain of reasoning behind it.

SeqPassageRuleDecisionReviewerAuditHash (prev → this)
0001p.3 / 0x07TP-PIIRedactK. Owusu (DPO)concur0000 → 4f3a
0002p.3 / 0x12NOT-RELOut of scopeK. Owusu (DPO)concur4f3a → b91e
0003p.7 / 0x1ATP-PIIRedactK. Owusu (DPO)concurb91e → 28cc
0004p.12 / 0x03MGMT-NEGOverride → ReleaseK. Owusu (DPO)dissent (logged)28cc → e07f
0005p.14 / 0x0BLPPRedactK. Owusu (DPO)concure07f → a142

Illustrative ledger. Real ledger entries include full rule-ID versioning, the reviewer's signed reason for any override, and the integrity verifier's signature on export.

ICO defensibility

The defensible answer is already written.