Browsing without signing in is fine — the public corpus is open. Signing in lets the site remember you between visits.
Your graduation cert is your identity. Drop it in to come back. Walk a sim to leave with one. Same cert, both directions.
If you have a graduation cert, sign in by demonstrating it is intact. No third party. No
password. The browser hashes the cert content client-side and compares against the
cert_leaf field embedded in the cert. Match means the cert has not been altered
since issue, and you sign in. Mismatch means a single character is different — even a typo —
and you do not.
You can prove this to yourself: alter one letter in the cert and try to sign in. It fails. Restore the letter. It passes. The math is the math.
Drag your certificate.json here
or click to browse
Your cert is a JSON document. The cert_leaf field inside it is the SHA-256
hash of everything else (excluding the signature). When you submit, the browser:
cert_leaf and signaturecert_leafIf the cert was altered, the computed hash diverges. The check fails. Sign-in is denied.
The check happens entirely in your browser. The cert never leaves your machine.
A second file rode along with your cert at graduation:
merkletrust_recovery_seed.md. It contains twelve words. Paste them
below to regenerate your identity client-side. The math is deterministic — same
twelve words always produce the same mr1... identifier.
Privacy note. The words never leave your browser. The derivation runs locally in JavaScript using the audited noble-ed25519 library. We never see them.
Your twelve words are a BIP39 mnemonic — the same standard cryptocurrency wallets use, chosen for portability. But the substrate uses ed25519, not the secp256k1 that wallets use. So even if you paste these words into a wallet app, the wallet will derive different keys, and they won't unlock anything financial. The words are only useful for MerkleTrust identity.
The flow:
merkletrust:v1:identity
via HMAC-SHA512.mr1... with a 4-character
checksum.mr1... identifier is your MerkleTrust identity. Same words always
produce the same identifier.Nothing is sent to any server. The recovery path produces the same keypair that signed your cert at graduation, so verification works without the cert file present.
A graduation cert is what you take with you when you finish a sim. Walk any sim to the end and you'll leave with one. The cert is yours; we don't keep a copy.
Browse the simulations → · Or start with the 30-minute clinic-owner sim →
A second file rides along with your cert at graduation: a recovery seed. Twelve words written into a file with a self-protecting preamble. If you ever paste the recovery file into an LLM by accident, the preamble tells the LLM to STOP and warn you. The recovery seed is for break-glass scenarios only. The cert is your daily door; the seed is the fire exit.
For visitors who would rather not manage a cert, two third-party fallbacks exist. We are honest that they are non-sovereign:
Quick, familiar. Your identity is mediated by Google. You depend on Google's policies and uptime. (Available when the live endpoint is reachable.)
We email you a one-time link. Your identity is mediated by your email provider. You depend on their policies and uptime. (Available when the live endpoint is reachable.)