Integrity Lab
Four hands-on demonstrations of what Chronicle's hash-chained ledger actually guarantees. Each panel explains what it is about to do, runs it against this demo's real ledger, shows the artifacts, and offers a one-click reset.
Everything here is synthetic and reversible. Tamper attacks use raw database writes that bypass Chronicle - exactly how a real attacker with database access would work.
4a · Tampering simulator
Scrub or alter a real audit entry behind Chronicle's back, then watch Verify localize the break to the exact entry with the reason.
Before - chain intact
80 entries verified, hash chain valid.
After
Pick an entry, then scrub or alter it to see the chain break.
| # | Action | Actor | |
|---|---|---|---|
| 1 | patient.created | Dr. Reyes | |
| 2 | encounter.created | Dr. Reyes | |
| 3 | prescription.created | Dr. Reyes | |
| 4 | patient.created | Dr. Reyes | |
| 5 | encounter.created | Dr. Reyes | |
| 6 | prescription.created | Dr. Reyes | |
| 7 | patient.created | Dr. Reyes | |
| 8 | encounter.created | Dr. Reyes | |
| 9 | prescription.created | Dr. Reyes | |
| 10 | patient.created | Dr. Reyes | |
| 11 | encounter.created | Dr. Reyes | |
| 12 | prescription.created | Dr. Reyes | |
| 13 | patient.created | Dr. Reyes | |
| 14 | encounter.created | Dr. Reyes | |
| 15 | prescription.created | Dr. Reyes | |
| 16 | patient.created | Dr. Reyes | |
| 17 | encounter.created | Dr. Reyes | |
| 18 | prescription.created | Dr. Reyes | |
| 19 | subject.erased | system #Admin Vega | |
| 20 | patient.updated | Dr. Reyes | |
| 21 | patient.updated | Dr. Reyes | |
| 22 | patient.viewed | Dr. Reyes | |
| 23 | patient.updated | Dr. Reyes | |
| 24 | patient.created | Dr. Reyes | |
| 25 | patient.created | Dr. Reyes | |
| 26 | patient.viewed | Dr. Reyes | |
| 27 | patient.viewed | Dr. Reyes | |
| 28 | patient.viewed | Dr. Reyes | |
| 29 | patient.viewed | Dr. Reyes | |
| 30 | patient.viewed | Dr. Reyes | |
| 31 | patient.viewed | Dr. Reyes | |
| 32 | patient.viewed | Dr. Reyes | |
| 33 | patient.viewed | Dr. Reyes | |
| 34 | patient.viewed | Dr. Reyes | |
| 35 | patient.viewed | Dr. Reyes | |
| 36 | patient.viewed | Dr. Reyes | |
| 37 | patient.viewed | Dr. Reyes | |
| 38 | patient.viewed | Dr. Reyes | |
| 39 | patient.viewed | Dr. Reyes | |
| 40 | patient.viewed | Dr. Reyes |
4b · Full lifecycle
Step through generate activity -> checkpoint -> anchor -> export -> verify-export, with the signed artifact rendered at every step.
4c · Auditor view
Generate a signed compliance report for a date range plus an export bundle, then verify both independently. The "hand this to an auditor" story.
4d · Key rotation
Rotate to a second signing key and confirm pre-rotation checkpoints still verify under the retired key while new checkpoints use the new one.
Key ring
- in ring chronicle-dev-key (ed25519)
- active chronicle-key-2 (ed25519)
4e · Full-compromise demo
With a real RFC 3161 TSA anchor, forge the entire ledger and re-sign every checkpoint: offline verification passes, but verifying against the external timestamp fails. The closer.
An attacker with database and signing-key access rewrites the ledger and re-signs every checkpoint. Offline verification can't catch them - but the external timestamp can, because the TSA already signed the original digest and the attacker can't re-issue that.