Chronicle. Integrity. Checkpoint
(chronicle v0.1.0)
Copy Markdown
A ledger position suitable for anchoring outside the audit database.
Persist this value in a system with a separate trust boundary—for example immutable object storage, a transparency service, or a monitoring account.
This is the only defence the library has against wholesale rollback. A chain proves its own internal consistency, and an attacker who truncates the ledger at some sequence and rewrites forward from there satisfies that perfectly. Comparing the live head against a position recorded somewhere they do not control is what turns "consistent" into "complete". Stored inside the audit database, a checkpoint proves nothing, because it falls to the same attacker in the same breath.
Summary
Types
@type t() :: %Chronicle.Integrity.Checkpoint{ digest: String.t() | nil, ledger: String.t(), sequence: non_neg_integer() }