Verify any document against its source.
An open standard: select or snap the text, and a SHA-256 lookup tells you whether the issuer stands behind it right now — no central database, no blockchain.
During the pandemic, PPE Medpro supplied the NHS against a safety test report bearing
Intertek's name — report code SHAT06648491. Intertek never issued it.
The forgery rode through procurement and 72 shipments before anyone could establish
it was fake; courts later ordered £122m repaid, and the unusable goods went to
landfill anyway.
If Intertek had published a hash of every genuine report on intertek.com, any procurement
clerk could have caught the fake in four seconds, on day one. That gap — between a
document that names an authority and a way to ask that authority — is what Live
Verify closes, for every document type, in every industry.
Until recently, a convincing forged certificate took skill, software, and nerve. Today anyone can ask a chatbot for a pixel-perfect insurance certificate, bank statement, employment letter, or test report — correct letterhead, plausible reference numbers, clean typography — in under a minute, at zero cost. Every control that relies on a document looking right is already obsolete.
Detection is an arms race that defenders lose: each generation of fakes is trained against the last generation of detectors. Attestation doesn't play that game. A document either hashes to a value the issuer's own domain stands behind right now, or it doesn't — and no improvement in generative models changes that arithmetic. The organizations that adopt issuer-side verification early aren't taking a bet on a trend; they're exiting an arms race they can't win.
Documents carry a verify: line pointing at the issuer's domain, e.g.
verify:issuer.example.com/claims. Clip mode: select the text. Camera mode: snap and OCR it.
Either way, the text is normalized, hashed with SHA-256, and looked up at the issuer's URL. You decide upfront whether that domain is an authority on the claim.
Taken together, the use cases describe something bigger than a single product: a global, decentralized anti-fraud system for documents and claims of every kind. It works the way the web and email do — as an open standard anyone can implement, not a service anyone signs up to.
text → normalize → SHA-256 → GET the issuer's domain. Any issuer can adopt it without permission, accounts, or fees.gov.uk is the UK government and irs.gov is the US tax authority. Verification inherits that.law-society.org.uk/v/… → gov.uk/verifiers/…, or a US state board → asc.gov/v/…. The chain is built from these declared endorsement URLs, not from domain structure: a multinational's uk. and us. endpoints can point at entirely different national authorities. Jurisdictions keep their own authorities; nothing is centralized across borders, and no country depends on another's infrastructure.gmc-uk.org) is one I accept, and the endorsement chain makes sense — so I'll trust this, for now.” Equally, the human is the one who balks at “verified, but by djwgwbdss.com, with no chain behind it — I've no basis to trust that domain on its own.” A green tick is an input to a human decision, not the decision itself — and because issuers can revoke, that trust is only ever for this moment.This is not a blockchain. There is no ledger, no token, no mining, no consensus network, and no shared global state. A verification is a plain HTTPS lookup against the issuer's own server, answered live — which is exactly why claims can be revoked the instant an issuer changes its mind. A blockchain's permanence is the opposite of what fraud-fighting needs; the authority you trust is a domain name, not a chain.
Two parallel tracks: client-side reach (where verification happens) and issuer-side adoption (whose claims get verified).
Stage 3 is open now: the first ten pilot issuers and first ten SaaS integrations get free advisory support from the author (up to an advice limit) and a permanent listing — see the founding adopter program.
Fraud, safety, security, compliance, authenticity — unverified documents cause harm across every sector. We've mapped the landscape:
verify: line currently attests to the hash for the extracted text above it.
Revocation is part of trust. Issuers can update or withdraw claims over time, so the result reflects what they stand behind today.
Some issuers may return an operational instruction, e.g. Stolen ID — please retain/cut in half and contact https://example.com/stolen_and_found quoting reference 283762..
Not a simulation: a professional reference whose hash is published on the issuer's personal domain, verified end-to-end by pointing a phone at it.
Screenshots captured by Playwright during automated tests against simulated authority chains in Docker. All organisations and people are fictitious. The Chrome extension is being itself or simulating something built-in to Outlook, Adobe or operating systems.




































Hash lookup fails due to Google ML Kit OCR errors: Henley -on-Thames (spurious space around hyphen),
TOTAL : (space before colon). Row stitching and iterative blank-line candidate search work correctly —
the remaining gap is OCR character accuracy. Apple Vision on iOS gets these right.
Text normalization + SHA-256 happen on-device (Clip mode never sends your text anywhere; Camera mode runs OCR on-device too). The only network step is a hash lookup. The science of one-way hashes is explained at one-way-hash.html, and we go into the rest of the guarantees in the Privacy Declaration.
Live Verify is an open standard begun by Paul Hammant, prompted by the PPE Medpro / Intertek forgery case. Pilots, integrations, questions: paul@hammant.org