One real VDA Witness record, published so you can check it yourself — with no account, no credentials, and no obligation to trust us or run our code.
| chain | public:proof-of-integrity |
|---|---|
| records in chain | 1 |
| chain head | sha256:f72eb515a87560ec8254d3ff11a60ae06f169584a7c83306d660b1f7fe2bda68 |
| Rekor logIndex | 2583358177 |
| Rekor UUID | 108e9186e8c5677acc7251e72424258ebf3c0553ae26a041804d156141b6b49ae49d2a5e398fc3a7 |
| Rekor inclusion time | 2026-08-25T12:50:44.000Z — set by the log, not by us |
| RFC-3161 TSAs | digicert, sectigo |
| proof type | hash-chain-predecessor-path |
Rekor stores the SHA-256 of the head string, so the value inside the log
entry is sha256("sha256:f72eb515a87560ec8254d3ff11a60ae06f169584a7c83306d660b1f7fe2bda68") — not the head itself. The command below shows how
to check that yourself; it is the one step people most often mistake for a mismatch.
The full bundle — record, chain, anchor attestations, and a did.json snapshot —
is at /proof/bundle.json.
The strongest check is the one that does not involve us at all. This is a third-party log:
curl -s https://rekor.sigstore.dev/api/v1/log/entries/108e9186e8c5677acc7251e72424258ebf3c0553ae26a041804d156141b6b49ae49d2a5e398fc3a7 \
| python -c 'import sys,json,base64,hashlib
d=json.load(sys.stdin); e=d[list(d)[0]]
inlog=json.loads(base64.b64decode(e["body"]))["spec"]["data"]["hash"]["value"]
head="sha256:f72eb515a87560ec8254d3ff11a60ae06f169584a7c83306d660b1f7fe2bda68"
print("logIndex :", e["logIndex"])
print("in log :", inlog)
print("expected :", hashlib.sha256(head.encode()).hexdigest())
print("BINDS :", inlog == hashlib.sha256(head.encode()).hexdigest())'
The entry is immutable, carries an inclusion proof, and is independently monitored. Its
integratedTime is set by the log, not by us. We cannot alter, backdate, or
withdraw it — which is the entire basis of the claim.
Zero network calls back to Witness. The verifier is Apache-2.0 and has no dependencies:
npm i vda-witness
curl -s https://witness.getvda.ai/proof/bundle.json > bundle.json
node -e '
const b = require("./bundle.json");
const { offlineVerify } = require("vda-witness/verify");
offlineVerify(b).then(v => console.log(v.state));
'
# ANCHORED_VALID
Python: pip install "vda-witness[verify]".
A proof you cannot falsify is not a proof. Change one byte of any record body in
bundle.json and re-run the verifier:
# flip a character anywhere inside records[0], then: node -e '... offlineVerify(b) ...' # BROKEN
Re-sign that tampered chain with a valid key and the internal checks pass again — but the head changes, and the head in Rekor does not. That is the whole argument, and you can run it.
Published from a dedicated account and chain that contains no customer data. Customer records are never public: every other proof endpoint on this service requires a key, and an unknown record id returns not-found rather than leaking existence.