A demonstration, not a product.
This site exists to make one idea tangible: that a web page can carry its own proof of authenticity, and that anyone — reader, journalist, auditor, machine — can check that proof in a single click. Every page you see here is cryptographically signed and verifiable against a public decentralized identity. There is no login. There is no lock-in. There is no ledger.
Why build this
Documents used to be physical. A cheque had a signature, a certificate had a seal, a newspaper had a masthead. When those artefacts moved onto the web, most of that authenticity signalling didn't come with them. Screenshots spread faster than press releases. AI-generated copies are convincing. Modifying a PDF is a right-click away.
The technology to fix this has existed for decades — public-key cryptography, DNSSEC, decentralized identifiers. What has been missing is a one-click way for an ordinary reader to use it. This site puts all three pieces in one place: signed content, a public identity, and a verifier that lives inline.
What this site is not
- Not a commercial service. There is nothing to sign up for.
- Not a claim that the content of signed pages is true — only that it has not been altered since the signer attested to it.
- Not a replacement for TLS. HTTPS keeps the channel private; signatures keep the document provenance auditable.
- Not a blockchain project. No token, no ledger, no gas.
How it is built
The pages here are plain HTML and CSS, signed with the open-source
TrustDID
toolkit. Signing happens offline with a keypair that lives on the
publisher's machine. Verification runs through a public API and a
small embeddable script (trustdid-verify.js) that any
site can drop in with a single <script> tag.
The embedded widget's source is in this repository, alongside the
rest of the site. It has no runtime dependencies, contains no
tracking, and renders all server-returned fields with plain
textContent to avoid HTML injection through crafted
signatures.
Reproducing this
To run the same demonstration on your own domain you need:
- A domain with DNSSEC and a valid TLS certificate.
- A
did:webdocument at/.well-known/did.json. - The TrustDID signing toolkit to produce
.vrfysidecars next to each page. - This site's
js/trustdid-verify.jsdropped into your page, plus adata-trustdid-vrfyattribute wherever you want a Verify button.
The entire pipeline — signing, hosting, verifying — is documented at trustdid.ca.
Contact
Questions, corrections, or curiosity? Reach Jacques at me@jacqueslatour.ca.