Verified Digital Agents → Blocks → Witness

Witness

The evidence substrate. Seals a governed decision to a tamper-evident, hash-chained record — and on the Anchored tier commits that trail to external transparency logs, so it is provable even against us.

Live · signed A2A card + live MCP server · free tier

Why "provable even against us" is the whole point

An audit trail held by the vendor whose behaviour it records is worth exactly as much as trust in that vendor. The Anchored tier commits the chain to Sigstore Rekor and RFC-3161 timestamp authorities — infrastructure we do not control. An auditor re-verifies against those, not against a claim we make.

The free tier is not anchored, and we say so. Sealed records are Ed25519-signed, hash-chained and independently verifiable offline — genuinely tamper-evident. But "provable even against VDA" applies only to the Anchored tier. Sealed is not anchored.

Custody — who holds the pen

ModeWho signsWhat it proves
CustodialWitness signs on your behalfSimplest to adopt. The record is Witness asserting what you said.
Customer-managedYou sign with your own key, via prepare → sign → submitThe record is provable against Witness, because we never held the key that made it.

Anyone can verify an issuer with verify_record_issuer / check_valid, which resolves the signer's did:web document and matches the signing key. That is what returns issuer_verified — a third party checking cryptography, not taking our word.

Shaped record types

agent_actionWhat an agent did, under which governance version.
hitl_decisionA human decision on an escalated action — who decided, and what they were deciding.
attestationA point-in-time statement, e.g. a governance version going live against a git commit hash.

Records sharing a chainKey are hash-linked into a set that is retrievable and provable as a set — which is how a bundle of related evidence is grouped without hand-rolling a manifest.

Start in about a minute

Witness runs a live MCP server — the standard way agents connect to tools. Point your agent at it and ask in plain language.

MCP server: https://witness.getvda.ai/api/witness/mcp

No key needed to: discover the tools, verify a record, or mint a free
key (get_test_key). Sealing writes to your account, so set that free
key as the connector's token once.

Free Sealed tier: 5,000 seals/month.

Nothing else in your stack has to change to start here — which is why Witness is usually the first block adopted. See where it sits in the full cycle →

Reading the trail back as evidence

A sealed trail is only useful if it answers a regulator's question. C2MD reads it back as an EU AI Act article-by-article Evidence & Readiness Report — including an attested mode where the verification happens offline and no key is shared with anyone, including us.

Example: EU AI Act conformance summary Demo data