Verify an exported evidence bundle entirely in your browser: no network, no trust in
the vendor. Runs the same Rust integrity core as the CLI, compiled to WebAssembly. You can
read every line of averin.js.
signing_keys, that key is one you supplied
out of band, so authenticity is proven, not merely internal self-consistency.
tsa_keys is
pinned too.
No bundle handy? Load a sample above, it runs Verify offline for you. Then try the hint: edit any field and verify again to see CONSISTENT or PASS turn into FAIL.
opts.json of role-disjoint keysWithout pinned keys the verdict is only CONSISTENT (unauthenticated): internal consistency under the bundle's own key claims, not authenticity. Two distinct trust axes lift it, and they are not interchangeable:
signing_keys (the record-signing keys). This is the
only option that flips the trust root to pinned and turns the verdict into a green
PASS: each record is proven signed by a key you obtained out of band, not merely self-consistent.broker_authority_keys,
resource_authority_keys, tsa_keys, attestation_keys,
cosig_approver_keys, revocation_keys, federated_broker_keys).
These elevate who is answerable for grants/uses and enable the Tier-A/Tier-B gates
(and revocation_keys is what makes a revocation list actually bite, see below).All values are ed25519pub: strings, obtained
out of band (never from the bundle itself).