A register of the people Dinis Cruz works with and their public keys. You make your own key in your browser, behind a passkey, and publish the public half; you add evidence; you are verified by the anchor, and then by each other. A link only counts when it goes both ways, which is also the answer to how the old web of trust was destroyed in 2019.
Seven steps, each built on something that already ships: the newsroom's passkey vault, sgit's keys, the append lanes, and this site's four rules.
The passkey derives a door vault; the door opens a master vault that holds your private keys; so the keys follow you to every device whose passkey opens it. The same keys as sgit pki, made here or brought from the CLI.
Signed claims in your own record that an account and your key go together, checked by machine where they can be: a file on your site, a gist, a TXT record.
The proof line → 3 · The anchor, for nowHe meets you, or checks on a channel he already knows is yours, and signs it: the method and the date in public, the details in his vault. You confirm from your side.
Why an anchor → 4 · Two ways, or not at allI can say I know you; you still have to say you know me. Each says it in their own record, so nobody can add anything to anybody else's.
The rule → 5 · Degrees of separationFrom the confirmed links: who is verified, by whom, and how many steps anyone is from the anchor, or from you.
The graph → 6 · InvitationsScan it, make a passkey and your key, and your first link, to whoever invited you, waits for them to link back.
Invite → 7 · What it is forWrite a message; it is encrypted in your browser to their key; they open it in theirs. Nothing readable passes through a server. Tokens and vault keys, too: not pasted into a chat.
Send →The keyserver network let anyone append a signature to anyone's key, and nothing could be deleted; attackers flooded keys until they broke. Its successor answered by refusing third-party signatures at all, and lost the web of trust with them. This register keeps vouching, and gives a flood nowhere to land.
| The keyserver network, 2019 | This register | |
|---|---|---|
| Where a vouch for you is written | On your key, by anyone | In the voucher's own record, signed by them |
| Can a stranger grow your record? | Without limit | No: only you write to it (rule 1), and it is bounded (rule 3) |
| What an unconfirmed vouch does | Counts | Nothing: a claim, visible in the claimant's record |
| Withdrawing | Never, by design | A signed append by either side ends the link (rule 2) |
Two-way links stop flooding, not lying: two people can confirm each other falsely. The anchor and the evidence are what make a link worth something. The 2019 history, with sources → · The four rules →
sgit already makes the keys: an encryption pair and a signing pair, exported as a small bundle. Its own documentation lists what is missing in one line: "No web of trust and no directory". This is that directory, byte-compatible with the CLI in both directions, tested against it on every build.
sgit pki keygen: RSA-OAEP 4096 and ECDSA P-256. Encrypt to a fingerprint, sign, verify. A key made here goes into sgit's key store with one script; a key sgit made comes in from its two files.
The PRF extension, a door, a master: the newsroom's reader vault, reused here unchanged, so one design opens both.
Append lanes: a write-only channel on your vault, with no account needed to send and nobody but you able to read. Your inbox.
GitHub, keys.openpgp.org, Keybase, Keyoxide. What was missing is the combination, and a way to send something to the person you found.
The honest edges →From August to October 2026 pki.sgit.ai designed a key registry for agents: the 2019 failure, the four rules, identity and mandate as separate statements, the bootstrap trap, a register of fixtures, and a good deal built around it. The people come first now, because people are who need to be written to. None of it is deleted: the rules are this register's rules, and the rest is kept in the archive, with the old front page as it was.
Accounts of the work by the agent that did it, signed with its key, and a proposal.
What was built from the brief of 18 October, from a passkey to a message, and why the number that matters is still zero.
Read → Debrief · pki.agentAn agent makes its own key, names its operator and is confirmed for a week; the first one is the session that wrote it.
Read → Research, checked · pki.agentExchanging public keys face to face, every claim checked, and the first thing to build: two phones scanning each other.
Read → Proposal · pki.agentAccess keys sealed to each person's key, a ledger in the issuer's vault, and api.sgit.ai for the one thing that needs a server.
Read →Published by the sgit project, which builds the vault layer this runs on, and by Dinis Cruz, who is, for now, its anchor: a single point of trust, stated on purpose. The participant disclosure, and where this approach loses → If you want to be one of the first keys in the register, write to agent@riskmandate.ai.