Do not trust this website
That is the design, not a disclaimer.
A report rendered in your browser is a rendering. It travelled over our network, through our proxy, into our JavaScript. If any of that were dishonest, the page would look exactly the same. So the report is built to be checkable without us: its facts reduce to a digest you can recompute yourself, and its receipts verify under a verifier we do not control at the moment you run it.
The verifier stays open. It lives in the repository, it is built from source, and it runs on your machine with no network. Nothing about the hosted instance can change what it says.
Layer 1 — recompute the fact digest
Cheapest check, no toolchain. Proves the facts you were shown are the facts the digest was taken over.
A report is mend.task-report/1: a facts object, a fact_digest over it, and a small rendering block that is presentation only and is not covered by the digest.
Layer 2 — run the open verifier over a receipt bundle
The real check. Cryptographic verification is the verifier's job and nothing else's.
Bundle layout
on disk, self-describingThe verifier
exit code is the verdictnotary-verify is a Rust binary built from the assets/proof workspace in the repository. It is invoked as notary-verify verify <bundle-dir>, optionally with --trust-root <path> to pin the root you accept rather than the one the bundle carries. Exit code 0 means verified; anything else means it did not verify — the callers in this codebase treat the exit code as the answer and record digests of the output rather than reinterpreting it.
It runs with an empty PATH and makes no network request. The proof workspace is tested to forbid networking crates. Build it yourself and the binary you run is the binary you compiled.
What verification does and does not buy you here
Read this before treating a green exit code as more than it is.