Skip to content

Completeness

What a receipt, the chain, the public log, the witness, the anchor and the checkers each prove, and what none of them can prove. A log proves what is in it, never what was left out.

The receipt

A receipt proves that this exact content was recorded at the time it states, under the published signing key, and has not been changed since.

It does not prove that what it describes is true. A receipt is proof of reliance, never proof of truth.

The chain

Each account's receipts form one hash chain: every receipt commits to the receipt before it, back to the account's first.

To show someone a run of receipts with nothing removed or changed, export them as an evidence bundle. It comes in chain order, oldest first, and checks offline.

The export needs the account's API key. The person you hand the bundle to checks it without one.

The chain shows that nothing between the first and last receipt in a bundle was removed or changed. On its own it cannot show what came after the last receipt in the bundle, or an action that was never sent for a receipt.

The public log

The public log is an append-only, signed record of receipt digests. Its published checkpoints commit to every entry admitted before them, and consistency proofs catch a rewritten history.

It proves nothing about a receipt that never entered it. The log's own coverage note says which receipts predate it, and no claim of inclusion is made for them.

The witness

An independent witness cosigns the log's checkpoints. The witness vouches for the log's consistency, not for the truth of any receipt.

The anchor

The log's state is sent for a Bitcoin timestamp, outside BlueFox. A timestamp bounds time and backdates nothing.

The published anchor checker asks the Bitcoin chain whether a checkpoint root is in it. It checks no signature of ours.

The checkers

Each checker is a script you download and run yourself. The receipt checker checks a receipt's digest, chain value and signature against the published keys. The inclusion checker checks a log entry against a signed checkpoint. The consistency checker checks that a newer checkpoint extends an older one. The anchor checker checks a checkpoint root against the Bitcoin chain.

What the receipt checker's exit codes mean is set out on the verify page.