Signatrust does not rewrite its ledger. Historical continuity anomalies are documented and archived under an earlier epoch. A signed recovery manifest anchors each new epoch, so per-property integrity can be reasoned about without conflating them into a single word.
Ledger "integrity" is not a single yes/no. Verifying a receipt exercises five distinct properties. Any one can pass while another does not — and we surface them separately so they cannot be confused.
The receipt's signed body has not been altered since signing. Verified by SHA-256 over the canonical body plus Ed25519 signature.
The receipt's previous_hash field correctly references the hash of the receipt immediately before it. A single-step check, independent of the full chain.
Within a single epoch, every receipt's predecessor linkage holds unbroken from the epoch's signed genesis onwards.
Whether the entire historical file forms an unbroken chain across all epochs. This is the property that can be compromised and preserved as-is.
Whether the on-disk ledger was appended-only. Enforced at write time; violations refused at ingestion.
Fetched directly from /api/v1/verify/ledger. This is the same information used by the offline verifier's --strict-chain mode.
Individual receipts on either side of a historical break are still cryptographically valid — their signatures verify and their signed bodies match. The break is in the chain-continuity property alone.
Rewriting a ledger to erase historical breaks would be strictly worse than preserving them: it would destroy the audit trail while giving a false impression of continuity. Signatrust instead:
previous_hash does not match its predecessor. Any such attempt is refused at ingestion.This preserves scientific honesty: individual receipts remain independently verifiable, and the chain-continuity property is truthfully labelled per epoch.
An epoch is only ACTIVE when:
epoch_genesis field whose recovery_manifest_hash matches the SHA-256 of the trusted manifest body.Until the anchor receipt is produced, the epoch is labelled DECLARED_PENDING_ANCHOR rather than ACTIVE. The label is honest about the state.
Epoch continuity says nothing about the correctness of the decisions inside the receipts. A receipt whose signed body has not been altered can still describe a decision that was, in the real world, wrong. Signatrust records evidence; it does not judge outcomes.