Why hash-chained
A log you can edit proves nothing. Each record is hashed together with the hash of the record before it, so the records form a chain. Change one field in one record and its hash changes, which breaks the link to every record after it. Recomputing the chain re-derives every hash from the raw records, so any tampering is not just detectable, the chain says exactly where it happened.Verify it yourself
Anyone can recompute the chain. This is the point: you do not have to trust Rotavision, or even trust your own operators.GET /api/v1/chain/verify walks
the records, recomputes, and returns whether the chain holds, how many records
it checked, and the first sequence number where it broke, if any.
valid becomes false, with the
break located precisely.
Signed evidence bundles
When you export a decision or an evidence pack, the bundle is Ed25519-signed over its exact bytes. A recipient checks the signature against your published key, so the artifact you hand an examiner is verifiable on its own, away from your systems, and cannot be altered without detection.Signing is over the exact bytes of the bundle. Re-serializing or reformatting
the JSON breaks the signature by design. Ship the bytes you signed.
Witness a decision
Open a witness session and record steps as they happen.
Chain API
The verify endpoint and the decision record shape.

