Domain-Keyed Document Stamp
An open protocol for verifying the origin and content of documents.
-
Frictionless
Issuing software creates a stamp with a single function call. Any conforming verifier can check it, including one that runs in a web browser, without an account or a fee.
-
Portable
The signed data is contained in the QR code itself, so a stamp remains verifiable after the document is printed, photocopied or scanned.
-
Compliant
Each component is an existing published standard: QR codes, Base45, DEFLATE compression, Ed25519 signatures and the Domain Name System.
At least €27 billion is lost to fraud in Europe each year
This figure is the sum of the published estimates for three kinds of fraud in which an organisation pays out on the strength of documents: insurance claims, social benefit claims and bank transfers. Most European countries publish no such estimates, so the figure is a lower bound, and the actual losses are higher. Its composition is given below the example.
Fraud of this kind commonly involves altered or fabricated documents, such as invoices, payslips, medical reports and bank statements. Because PDF files and printed documents carry no reliable proof of origin, a recipient generally cannot verify one without contacting the organisation that issued it, a step that is slow and is frequently omitted.
- Customer
- Harbour Logistics B.V.
- Date
- 30 Sep 2026
- Amount
- 4,812.50 EUR
- Pay to IBAN
- LT12 1000 0111 0100 1000
- Due
- 30 Oct 2026
- Before
- NL91 ABNA 0417 1643 00
- After
- LT12 1000 0111 0100 1000
In this example, the bank account number on a genuine invoice has been replaced. The document contains no indication of the change, and a customer paying the invoice would transfer the amount to the new account.
Composition of the estimate
| Category | Area | Source | Annual loss |
|---|---|---|---|
| Insurance claims fraud, detected and undetected | European markets that report it | Insurance Europe, Insurance fraud: not a victimless crime, for 2017 | €13.0 billion |
| Social benefit fraud | United Kingdom | Department for Work and Pensions, Fraud and error in the benefit system, for 2024–25 | €7.7 billion |
| Family, housing and minimum-income benefit fraud | France | Cour des comptes, Certification des comptes du régime général, exercice 2023 | €3.9 billion |
| Fraudulent credit transfers | EU and EEA | EBA and ECB, 2025 Report on Payment Fraud, for 2024 | €2.5 billion |
| Total | €27.1 billion |
The United Kingdom estimate of £6.5 billion is converted at €1.18 per pound, the average reference rate of the European Central Bank for 2024. Not included are fraud committed by the issuers of documents themselves, such as missing-trader VAT fraud with invoices from the fraudsters' own companies, which the European Commission estimates at €12.5 to 32.8 billion a year, and fraud in loan, mortgage and subsidy applications, for which no comparable estimates are published.
Documents commonly used in fraud
Fraud of this kind relies on documents that one organisation issues and another relies on, while the document passes through the hands of a third party, such as an applicant, a claimant or a supplier. The following documents are commonly altered or fabricated for this purpose. Each of them can carry a DKDS stamp from its issuer.
Income and finance
- Payslips
- Employer statements
- Bank statements
- Tax assessments
- Pension statements
Invoices and payments
- Invoices
- Credit notes
- Payment requests
- Purchase orders
- Receipts
Insurance and health
- Medical reports
- Sick notes
- Prescriptions
- Repair estimates
- Damage assessments
Housing
- Rental agreements
- Rent receipts
- Utility bills
- Proofs of address
- Property valuations
Education and employment
- Diplomas
- Academic transcripts
- Professional certificates
- Employment contracts
- References
Official records
- Birth and marriage certificates
- Certificates of good conduct
- Company register extracts
- Permits and licences
- Court decisions
Trade and transport
- Certificates of origin
- Bills of lading
- Delivery notes
- Inspection certificates
- Customs documents
Vehicles
- Registration certificates
- Roadworthiness certificates
- Service records
- Mileage statements
- Purchase agreements
Passports and identity cards are not listed. They carry their own security features and, in the European Union, an electronic chip that can be verified.
How a stamp works
A DKDS stamp is a QR code printed on a document. It contains the key facts of the document, the domain name of the issuer and a digital signature over both. The public key needed to check the signature is published in the issuer's DNS records, in a manner similar to DKIM for email, so that any party can verify a stamp without an account or an intermediary.
- 1The issuer publishes a public key as a TXT record in the DNS of its domain. This is done once, and again whenever the key is replaced.
- 2For each document, the issuer signs the key facts with the corresponding private key and prints them, together with the signature, as a QR code on the document.
- 3A verifier scans the QR code and reads the facts, the signature and the domain name of the issuer.
- 4The verifier retrieves the public key from the DNS of that domain and checks the signature against it.
Verifying a document
A verifier displays the domain that signed the stamp and the facts it contains. The reader then compares these facts with those printed on the document. A difference between the two indicates that the document was altered after it was issued.
- Customer
- Harbour Logistics B.V.
- Date
- 30 Sep 2026
- Amount
- 4,812.50 EUR
- Pay to IBAN
- LT12 1000 0111 0100 1000
- Due
- 30 Oct 2026
- Supplier
- Northwind B.V.
- Invoice no.
- 2026-0917
- Date
- 2026-09-30
- Customer
- Harbour Logistics B.V.
- Amount
- 4,812.50 EUR
- Pay to IBAN
- NL91 ABNA 0417 1643 00
- Due
- 2026-10-30
In this example the signature is valid, which shows that the stamp was issued by northwind.example. The bank account number in the stamp differs from the one printed on the invoice, which shows that the invoice was altered after it was issued.
The stamp shown is a valid DKDS stamp. Because northwind.example is a reserved domain name, a live verifier will not find its key.
What a stamp establishes
A valid stamp establishes
- That the stamp was signed with a key published by the holder of the domain.
- That the facts in the stamp have not been altered since signing.
- The time at which the stamp was signed.
A valid stamp does not establish
- That the facts are true. A stamp identifies who stated them, not whether they are correct.
- That the printed document matches the stamp. This comparison is made by the reader.
- Confidentiality. The contents of a stamp can be read by anyone who scans it.
Implementations
DKDS is defined by an open specification, which includes test vectors for checking the correctness of an implementation. Any party may implement the protocol without permission or fees.
The reference implementation, dkds.js, can be used as a software library, as a command-line tool or as a local HTTP service, which allows software written in other languages to create and verify stamps. A browser-based verifier is available at scan.dkds.org; documents are checked on the device and are not transmitted.