Thirty years of digital identity programmes, sorted by how they actually failed, and why the half of the system that decides adoption is the half nobody funds.
Read it: https://rmhrisk.github.io/verifier-never-showed-up/
First written September 2025 and presented at the State-Endorsed Digital Identity Summit at Utah Valley University that October. Substantially revised and published here in August 2026.
A record of 32 identity programmes from 1997 to the present, each tagged with the failure modes that actually applied to it rather than a single cause, filterable by kind and by mode. Eleven failure modes in four families, five of them structural. A seventeen-question diagnostic you can run against a real proposal. Nineteen diagrams and a set of public-domain artifacts spanning about four thousand years.
The argument, in five claims:
- Acceptance decides, and it is nobody's job.
- The mathematics was never the problem. In this sample, none of the identified failures was cryptographic.
- Residual responsibility sets the value ceiling.
- Launch is the start of the bill.
- Change what gets counted, or nothing else changes.
index.html is a single self-contained file with every image inlined. It is
assembled from the fragments in src/:
./src/build.shThat regenerates the diagnostic markup and the category chart from their single
sources of truth (the chart is computed from the RECORD array), concatenates
the fragments, and runs two checks:
verify_build.py— content, structure, citations, pointer labels, and a comparison of the rendered DOM against the source markupaudit.py— SVG text overflow, text collisions, and connectors crossing boxes
Both must pass before publishing.
The sources list carries 24 entries, 23 with resolved links. The claims that are not verified against a primary source are named in the "What this post does not establish" section, .
Image sources and licences are in CREDITS.md. All are public domain, CC0 or OGL, bundled locally rather than hotlinked.