Verification
Witness clients submit a SHA-256 digest, not the source file. A confirmed attestation is a threshold-signed statement containing that digest, a Unix timestamp, the network ID, and a sequence number.
Verification is local where possible. The CLI uses witness-core to check
signatures and proof structure; a gateway's verification response is only an
opinion. A verification result does not establish who controls the content,
that the content is confidential, or that the timestamp is globally agreed.
Start here
- Verify a proof — fetch and inspect a complete proof.
- Offline verification — verify without gateway access.
- Merkle proofs — batch and transparency-log inclusion.
- Threshold-signature verification — verify the home attestation signatures.
- Anchored-batch verification — federation and external anchoring.
- Failure cases — rejected inputs and non-verdicts.
The HTTP surface is described separately in the API reference.
Trust configuration
GET /v1/network returns a secret-free NetworkVerificationConfig containing
the network ID, witness IDs and public keys, threshold, signature scheme, and
public federation policy. It is the input expected by local verification.
GET /v1/config is informational only: it reports the ID, threshold, scheme,
and witness count, but no witness public keys. It is not sufficient as a trust
anchor. A configuration fetched from a gateway is a trust-on-first-use choice;
pin or independently review it when the trust anchor matters.