Verifier

Check a proof without trusting whoever hands it to you

This page runs an independent VXP Proof verifier in your browser. It takes the keys from the company's published metadata, checks every signed statement and its order, compares the approved terms with what the company's system showed afterwards, and derives the assurance level on its own. Nothing is sent anywhere.

1. Choose a proof
2. Tamper with it, or leave it intact

Choose a proof and press Verify.

    Verdict as JSON

    What goes in

    A package with the signed statements of one operation, and the public material of the company: its discovery document, its RFC 8414 metadata and the key sets named there. The verifier anchors the issuer from that material and never takes keys from the package.

    What it checks

    ES256 signatures and canonical JSON (RFC 8785); who signs each kind of statement; the chain of seq and prev; that the approval names the latest revision of the exact terms; that succeeded only follows a read-back that matches those terms; the last final statement; log inclusion; and, if given, that the operation the agent saw is the one that was signed.

    What it cannot prove

    A valid signature proves who signed which bytes, not that the claim is true. Approvals and read-backs are statements by the operator. With no external witness, the verifier reports one root of trust, the operator, and logged: false. That limit is part of every verdict.

    How it was tested

    It gives the same verdict and error code as the reference verifier in Python on every test vector and on real proofs, intact and tampered, and in a differential fuzz with no discrepancies. See the runs or .