Chronicle.Integrity.Checkpoint (chronicle v0.1.2)

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

t()

@type t() :: %Chronicle.Integrity.Checkpoint{
  digest: String.t() | nil,
  ledger: String.t(),
  sequence: non_neg_integer()
}