Check the chain has not been changed
Has the record been tampered with?
Walk the witness chain link by link and prove, from your own terminal, that nothing was changed after the fact.
What you get: confidence that the record itself is intact. One receipt proves one event; this proves nobody rewrote the history around it.
Ask Quox
Section titled “Ask Quox”Ask how the witness is doing, in your own words:
Is the evidence witness healthy? How many entries are in the chain and how many witnessing errors are there?
▤ AOCL │ L1 identity complete · allowed · 0ms
▤ AOCL │ L3 policy gate complete · proceed · 6ms
◐ WARD │ status ✔ WARD │ status │ 4761452 org entries · 5.6s
⛓ AEE │ envelope opened · stream_success
Yes, the witness looks healthy. It reports 0 witnessing errors, it is enabled, and it last witnessed something at 14:19:11 UTC today, just now. • Entries: the chain holds 4,802,143 entries across 3 chains, with 47,545 signed tips. 4,761,452 of those entries belong to this org. • Witness counters: the collector ( ward:collector ) has witnessed 28,747 events and skipped 142 duplicates. Duplicates are repeat submissions it ignored, not failures. I can't tell from this read what period those two counters cover. They are much smaller than the chain total, so they may only cover the time since the collector last started. This was a status read only. I haven't run a full integrity check on the chain, so I can't say there are no gaps or tampering. I can run that check if you'd like.
23.4s · 1 tool · 0 approvals
quox.✔ Machine verified against the CLI on 16 Oct 2026 · test report mvb1zr
Quox read the witness status and gave you the totals: how many entries the chain holds and how many witnessing errors there are. It read the counts only. Verifying a stretch of the chain is what the steps below do.
Do it yourself
Section titled “Do it yourself”1. See the witness
Section titled “1. See the witness”quox governance ward statusWARD Status─────────────────────chains 3entries 4221418tips 41796enabled yesissuerId ward:collectorduplicates 0errors 0lastWitnessedAt 2026-10-13T20:34:00.763Zquox governance ward chainsChain ID Createdward:meta/quox-global 2026-03-17T13:41:11.595Zward:org/quox/env/production 2026-03-14T08:02:22.509Z 2. Verify a stretch
Section titled “2. Verify a stretch”A chain can hold millions of entries, so you verify it in slices. This slice covers the receipt from Check a receipt yourself:
quox governance ward verify --chain ward:org/quox/env/production --from-seq 4171150 --up-to-seq 4171210WARD Verify: ward:org/quox/env/production──────────────────────────────────────────────────status PARTIALentry_count 4179789head_seq 4171210head_chain_hash 564b09878663d3ee5596097c4e161628ba64a332d50d4edc0d138d03e...genesis_verified noverified_range from: 4171150 to: 4171210tips_verified 1signatures_verified 1warnings []reason WINDOWEDChain status: verified bounded (seq 4171150..4171210 of 4179789); page with --from-seq/--up-to-seq for full coverage. PARTIAL with reason WINDOWED is a pass for the slice you asked for: every link from 4171150 to 4171210 re-hashed correctly, and the one signed tip inside it verified. It is called partial because the rest of the chain was not part of this check, and the CLI says so rather than rounding up to “verified”.
To check from the very first entry, start at 1. genesis_verified: yes then tells you the chain’s first link is the real one:
quox governance ward verify --chain ward:meta/quox-global --from-seq 1 --up-to-seq 50What just happened
Section titled “What just happened”You re-computed the chain’s hashes yourself and checked its signatures. If anyone had edited, removed or reordered an entry in that range, a hash would not match and the status would say so.
Check it yourself
Section titled “Check it yourself”Page through a whole chain by moving the window: --from-seq 1 --up-to-seq 50000, then --from-seq 50000 --up-to-seq 100000, and so on. Each call is bounded so it stays quick.
Nothing to undo: verifying only reads.