Synthetic tenant: Kestrova Health (fictional), 445 receipts. Sixty days of activity are generated deterministically and anchored to the current hour, so expiry and breach clocks are live. Every receipt is signed at load with Ed25519 key ksv-47c7d4987f3a and re-verified by the same code the public verify API runs. Consents you sign in the patient journeys appear at the top of the registry, held only in your browser.
Consent receipt
OPD visit · Sunita Q***
Kestrova Gachibowli · issued 29 Sep 2026, 5:56 pm IST · valid to 29 Sep 2027 · v1
The hash recomputed from the stored content equals the stored hash, and the Ed25519 signature over that hash checks out against the published key.
Purposes on this receipt
- Treatment and careneeded for the service Granted
- Diagnostic lab sharingneeded for the service Granted
- Updates to family contactWithdrawn
- Appointment and refill reminders Granted
- Health tips and seasonal alertsRefused
- Partner offers (insurance, pharmacy)Refused
Updates to family contact withdrawn 10 Oct, 8:59 am IST
event c9f08bc3…99b8- SMS and WhatsApp gateway· stop and eraseacknowledged 10 Oct, 9:03 am
- Nominated family contact removed from update lists
Who, and how sure
- Patient
- Sunita Q*** · KSV-HYD-20038
- Identity
- L1 Mobile OTP
- Factors
- mobile otp: checked by server
- Capture
- quick · assisted · kiosk
- Copy arm
- value exchange
What was shown, and the seal
- Notice
- notice.opd_visit v2026-09.1 · English
- Notice hash
- 1c6d00fabb9aeb72dc2fd4998b1d26a0732810fe415c8d1667b99a60f2742c99
- Receipt hash
- 5bc5da4adf4c58a916f7ec5a343121e5c07dd23e1a41ebc708f0cbd7f6c8a6a3
- Signature
- AKyVB6jXLqln9SkXdpLsOhc34JXjYagwpEzXEVI0kAfERetEcC032qf8w7p0xHAtlV2QWNivVpsgZJHgBsrfCQ
- Algorithm and key
- Ed25519 · ksv-47c7d4987f3a
Audit chain entries
- #222 receipt issued · 29 Sep, 5:56 pm2021ceb2571597ae
- #311 withdrawal recorded · 10 Oct, 8:59 am88d9485e03c4b14e
- #312 processor acknowledged · 10 Oct, 9:03 amfae2fd24a248ada4
Each entry hashes the previous one, so removing or editing an entry breaks every entry after it.