Transparency log — provably append-only history
"Don't trust us" only means something if you can check. The transparency log makes one claim publicly verifiable: we never rewrote history.
What it is
On an interval (hourly), Provenance publishes a signed checkpoint per environment:
- a Merkle root (hand-rolled, RFC-6962 style) over the current per-account ledger chain heads — account ids are hashed, so the tree commits to roots only, never contents or identities;
- a
prev_rootlinking it to the previous checkpoint; - an ES256 signature (the same key as the JWKS), so anyone verifies it offline;
- an external witness status — when a TSA is configured, each root is independently
timestamped; when not, the checkpoint publishes
witness: "not_configured".
The checkpoints themselves form an append-only log: GET /.well-known/provenance-log
returns the history + the checkpoint-log Merkle root + consistency proofs between log
sizes. A rewrite of any past checkpoint fails a consistency proof — that's the money property.
What it proves (and doesn't)
- ✓ The checkpoint history is append-only since the first checkpoint (no past root altered).
- ✓ Your account's ledger chain head was committed at a given hour (inclusion proof).
- ✓ (When witnessed) an independent party timestamped that root.
- ✗ It does not publish decision contents — roots only (privacy).
Verify it yourself
node verify-log.mjs https://api.provenance.io
# → checkpoint signatures + prev_root chain verified
# append-only: N consistency proof(s) verified
# history is append-only since 2026-07-06T…
Prove your own account's inclusion:
curl $PROVENANCE_API/v1/log/inclusion -H "Authorization: Bearer $PRV_KEY"
# → { root, tree_size, account_hash, chain_head, leaf_index, proof:[…], signed_token }
Reconstruct H(0x00 ‖ account_hash:chain_head), walk the audit proof, and check you land
on the checkpoint root (which the signed_token attests). No account, no trust in us.
Free, permanently — it's a trust primitive.