Ask any document: does your issuer stand behind this?

Select the text of a certificate, licence, or receipt — and get the issuer's own answer in four seconds. No phone call, no account.

Live Verify is the open standard that answers the only question that still matters when a document lands in front of you — does the issuer stand behind this, right now? Select or snap the text; a SHA-256 lookup against the issuer's own domain answers in seconds. Try it below — then break it.

Verify this claim — then change one character

This is a real verifiable claim. The verify: line points at this site's own domain, where a hash of the text above it is published. Hit Verify. Then edit any character — a digit of the time, a letter of the name — and verify again: the hash no longer matches, and the issuer's domain has never heard of it. That's the whole security model, felt in ten seconds. No install, nothing leaves your device but a single hash lookup.

Riverside Athletics Club confirms that Jordan Avery completed the Riverside Half Marathon on 4 May 2025 in a chip time of 1:47:32. verify:live-verify.github.io/live-verify/c

The £122m document nobody could check

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 goods-inwards across 72 shipments; only much later did the UK government establish it was fake, and that finding became a pivot of its lawsuit — courts ordered £122m repaid, and the unusable goods had long since gone to landfill anyway.

If Intertek had published a hash of every genuine report on intertek.com, Medpro's own goods-inwards team could have caught the fake in four seconds, on day one — refused to accept and pay for the first shipment, and, failing that, cancelled the other 71. 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.

I issue documents Universities, regulators, insurers, certifiers, councils — stop forgeries that carry your name. For issuers → I build software that issues documents Invoicing, HR, insurance, credentialing platforms — ship verifiability your competitors don't have. For SaaS builders → I build platforms Camera, browser, OS, PDF vendors — the step after Live Text is whether the text is true. For platforms → I sell verification today Degree checks, document authentication, KYC — the unsentimental read on what gets commoditized and where the durable value moves. For incumbents & investors →
15-Minute Quickstart Clip Mode Examples Use Cases How Is This Different? Opportunity Privacy Source Code

Forgery is now free

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.

How it works

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.

1
Get text
Select (Clip) or snap & OCR (Camera).
2
Normalize
Apply text normalization rules locally.
3
SHA-256
Hash the normalized text.
4
Verify
GET the issuer URL; 200 = status returned (OK / REVOKED / etc.), 404 = not found.

The bigger picture (once the basics click)

Taken together, the use cases add up to more than a single product: a decentralized way to check 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.

The plumbing is deliberately boring: a verification is a plain HTTPS lookup against the issuer's own server, answered live — the document carries a link, and checking it is like checking a tracking number. That live answer is exactly why a claim can be revoked the instant an issuer changes its mind. (No ledger, token, or consensus network is involved; if you're weighing this against a blockchain or an NFT credential, that comparison is on the how is this different page.)

Roadmap

Two parallel tracks: client-side reach (where verification happens) and issuer-side adoption (whose claims get verified).

Client side — where verification happens

DONE Proof of concept Web demo, hash lookup DONE Solid apps iOS, Android, Chrome ext. 3 NEXT Platform adoption Google, Apple, Microsoft, Samsung, Adobe, Mozilla, Opera take over the standard & ship in OS / browser / PDF

Issuer side — whose claims get verified

DONE Proof of concept Static hash endpoints DONE Scaled tech reference Authority chains, burn-on-verify, expiring links 3 NEXT Pilot issuer deployments Real issuers, real endpoints 4 GOAL 1,000 SaaS vendors Verification baked into document-issuing platforms

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.

What problems does this solve?

... use cases
across ... categories

Fraud, safety, security, compliance, authenticity — unverified documents cause harm across every sector. We've mapped the landscape:

Browse all use cases →

What "Verified" means (and doesn't)

Verifications are revocable

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..

Watch it work

Start here — two short explainers

Animated walkthroughs of the two highest-stakes moments. They play here, in the page.

Real documents, real phones

A real peer reference — hash live on the referee's own website, today

Real iPhone 0:51 · Real Android 0:18

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.

Genuine ID verified, fake ID rejected — on real hardware

Genuine warrant card: Real Android 0:30 · Real iPhone 0:30  |  Fake rejected: Real Android 0:22 · Real iPhone 0:39

Simulated authority chains (automated tests)

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.

Clip mode (browser extension)

Install LiveVerify from the Chrome Web Store — published now, works in Chrome and Edge. (about the extension)

Bank statement (James, FDIC/Treasury chain)

Before: bank statement
Document
After: verified with authority chain
Verified
Extension popup with FDIC chain
Authority chain

OFSI sanctions licence (UK gov chain)

Before: OFSI licence
Document
After: verified via gov.uk chain
Verified
Extension popup with gov.uk chain
Authority chain

Pub receipt (Red Lion, HMRC VAT chain)

Before: pub receipt
Document
After: receipt verified
Verified
Extension popup with HMRC chain
Authority chain

Coffee shop receipt (The Daily Grind, HMRC VAT chain)

Before: coffee shop receipt
Document
After: receipt verified
Verified
Extension popup with HMRC chain
Authority chain

Scottish solicitor practising certificate (Law Society → gov.scot)

Before: practising certificate
Document
After: certificate verified
Verified
Extension popup with law society chain
Authority chain

Scottish solicitors firm registration

Before: firm registration
Document
After: firm verified
Verified
Extension popup with firm chain
Authority chain

Sanctions screening attestation (FCA chain)

Before: sanctions screening document
Document
After: screening verified
Verified
Extension popup with FCA chain
Authority chain

Revoked employment reference

Before: employment reference
Document
After: revoked banner
Revoked
Extension popup showing revocation
Revocation detail

Camera mode

Police ID verified (Gina Dallimore, Midsomer police)

Before: police ID document
Document
After: verification banner shown
Verified
Extension popup with authority chain
Authority chain

Fake police ID rejected (Lex Luthor, NYPD)

Before: fake NYPD ID
Document
After: not verified banner
Not verified
Extension popup showing failure
Hash not found

Police ID verified (Gina, Android emulator zoomed in)

Android: captured warrant card
Captured
Android: OCR extracted text
OCR extracted
Android: normalized text
Normalized

Fake police ID rejected (Lex, Android emulator zoomed in)

Android: captured fake ID
Captured
Android: OCR extracted text
OCR extracted
Android: normalized text
Normalized

Coffee shop receipt OCR (The Daily Grind, Android emulator) — not yet passing

Android: coffee receipt result
Result
Android: OCR extracted text with stitched rows
Extracted (stitched)
Android: normalized candidate 1
Normalized-1

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.

Privacy model

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.

Does this depend on one person sticking around?

No — by design. It's an open standard (Apache 2.0), publicly disclosed as unpatentable prior art, with no trademark to capture. Every verification endpoint is a static file on the issuer's own domain, not on any infrastructure this project runs. If the project stopped tomorrow, every deployed endpoint keeps answering, and anyone can carry the spec forward. That's the opposite of the usual “what if the vendor disappears?” risk.

Source code & technical documentation on GitHub

Live Verify is an open standard begun by Paul Hammant, prompted by the PPE Medpro / Intertek forgery case. Pilots, integrations, questions: paul@hammant.org