Overview
Witness network
Independent witnesses co-sign your history's growth, so hiding or rewriting the recent past stops being deniable.
Receipts verify offline, forever. The one thing an offline check cannot prove is that you are looking at the latest history.
Two attacks exploit that gap, and both are free:
| Attack | What it looks like |
|---|---|
| Withholding | Recent records "don't exist" — you get a truncated history that verifies cleanly |
| Equivocation | Two verifiers are shown two different histories, each internally consistent |
Witnesses co-sign every step forward. Rolling history back then means contradicting signatures sitting in append-only logs — the rollback stops being a deletion and becomes evidence.
How it works
An agent emits one aggregate — head, count, cumulative — to a set of independent witnesses. Each cosigns only monotone growth, so presenting the same index with a different head yields a publishable duplicity proof instead of a signature. The finalized anchor is then read offline by watchers and verifiers alike.
Every settled call appends to a signed hash chain. What leaves: one aggregate — head, count, cumulative — committing to all of it, revealing none of it.
Rolling history back now requires contradicting a quorum's signatures in append-only logs — a rollback is no longer a deletion, it is evidence.
Start here
Anchor your aggregate so a rollback is attributable.
Check an anchor and read the freshness result.
One container, five minutes.
Two things never change:
- Verification stays offline and free. An anchor adds one labeled fact —
fresh,stale, orunanchored— beside the verdicts, never inside them. - Witnesses see aggregates only. No per-call rows, no counterparties, no tool names. Your private log never leaves your infrastructure.