Your document’s cryptographic companion — lightweight, tamper-evident, and quantum-safe.
When you sign a document with TrustDID, it produces a .vrfy
file—a verification manifest that travels alongside your document. Like a sidecar on a
motorcycle, it rides alongside without ever modifying the original.
The document rides the bike. The seal rides the sidecar.
Here’s what a real .vrfy manifest looks like. This example uses the TrustDID identity at trustdid.ca/.well-known/did.json—you can open that link right now to see a live DID document in the wild.
{
"version": "3.0",
"type": "VerifiableDocumentSignature",
"did": "did:web:trustdid.ca",
"payload": {
"did": "did:web:trustdid.ca",
"documentHash": "447de134b08fca5437616682...",
"hashAlgorithm": "SHA-256",
"timestamp": "2026-03-06T19:12:21.004129Z",
"fileName": "invoice-2026-0042.pdf",
"fileSize": 184320,
"mimeType": "application/pdf"
},
"proof": {
"type": "Ed25519Signature2020",
"verificationMethod": "did:web:trustdid.ca#support",
"proofPurpose": "assertionMethod",
"proofValue": "OTtDcAfrnoVM7VaHKN7gdxv5..."
},
"manifestProof": {
"type": "Ed25519Signature2020",
"verificationMethod": "did:web:trustdid.ca#support",
"proofPurpose": "authentication",
"proofValue": "sVdHbihSLaO8QG+Jits8Kkx..."
},
"pqManifestProof": {
"type": "MLDSASignature2024",
"verificationMethod": "did:web:trustdid.ca#support-pq",
"proofPurpose": "authentication",
"proofValue": "L5R9Uy3Qtt7U1R/jYLMgDG3..."
}
}
| Field | What it does |
|---|---|
version |
Manifest format version. Ensures backward compatibility as the format evolves. |
did |
The signer’s Decentralized Identifier—points to their public keys on the web. |
documentHash |
SHA-256 hash of the original document. If even one byte changes, this hash won’t match. |
timestamp |
When the document was signed. Used for key history resolution and audit trails. |
fileName / fileSize |
Original file metadata. Helps the verifier confirm they have the right document. |
proof |
Ed25519 signature over the document hash. This is the primary proof that the signer authorized this document. |
manifestProof |
Ed25519 signature over the entire manifest. Prevents tampering with the .vrfy file itself. |
pqManifestProof |
ML-DSA-44 post-quantum signature. Protects against future quantum computing attacks. |
timestampProofs |
Optional array of trusted-timestamp proofs over the signature—each one a Time-Stamp Authority’s signed attestation of when the signature existed. When present, the verified TSA time—not the signer’s clock—is the authoritative signing time. |
The payload can also include reason
(why the document was signed), location (where), and email metadata like
sourceEmail, subject, and recipient lists. These are recorded in the sidecar
for audit trails but don’t affect the cryptographic verification.
Every .vrfy sidecar carries three independent cryptographic proofs. Each protects against a different type of attack.
Ed25519 signature over the document hash. Proves who signed it and that the document hasn’t been modified.
proof.type: "Ed25519Signature2020"
Ed25519 signature over the entire manifest. Protects the .vrfy file itself—attackers cannot forge valid manifests.
manifestProof.type: "Ed25519Signature2020"
ML-DSA-44 signature that keeps the proof quantum-safe. Enabled by default on every signature—zero configuration required.
pqManifestProof.type: "MLDSASignature2024"
TrustDID uses battle-tested algorithms trusted by the modern internet, plus next-generation quantum-safe cryptography.
The same elliptic curve algorithm used by SSH, Signal, and age encryption. Fast, compact signatures with strong security guarantees.
Diffie-Hellman key exchange used by WireGuard, Signal, and TLS 1.3. Enables end-to-end encryption for anyone with a DID.
NIST FIPS 204 standard (formerly Dilithium). Resistant to attacks from quantum computers. Enabled by default on every TrustDID signature.
Keys can be rotated at any time. Every rotation is recorded in the
keyHistory field of your did.json and appended to a tamper-evident log,
did.json.vrfy.log. But what about documents signed with an old key?
#finance)keyHistory—backed by the append-only did.json.vrfy.log—the verifier resolves the key that was active at signing timeA sidecar signed today should be verifiable in 10 years. TrustDID is designed for long-term trust.
The sidecar is just a file. It can travel alongside your document through any channel.
Attach alongside the document.
Host at the same URL + .vrfy.
Same folder, same name + .vrfy.
S3, Azure Blob, Google Cloud.
A .vrfy file is plain text—you can open it in any text
editor. It starts with a human-readable comment header explaining what the file is and how to verify it,
followed by the JSON
manifest.
// ════════════════════════════════════════════════
// TrustDID™ — Digital Document Verification Manifest
// Copyright © 2026 TrustDID Solutions Inc.
//
// This file is a cryptographic sidecar for:
// invoice-2026-0042.pdf
//
// To verify, right-click the original document
// and select "Verify with TrustDID"
// ════════════════════════════════════════════════
{
"version": "3.0",
"type": "VerifiableDocumentSignature",
...
}
The comment header is for humans. The verification engine reads only the JSON body. This means anyone who receives a .vrfy file knows exactly what it is, even without TrustDID installed.