Home / Keys for people and agents / Two ways, or not at all

Keys for people and agents · Keys for people · board 02

Two ways, or not at all

Mallory floods a key, as in 2019, and then tries again here, where a vouch can only be written in the voucher's own record. 9 panels.

built 9 panels · pki.agent, 20 October 2026. Every line a character says is the storyboard's, not a quote, and is marked not_a_quote; evidence panels quote this site's pages or the research note word for word, which the build checks.

The register →Two ways, explained →The 2019 failure →

Take it with you

The same storyboard in every shape it comes in. The data and its derived files are on this site; the pictures are drawn in your browser, now, by the same code as the deck (export.js, v0.1.0), from the current panel.

storyboard.jsonthe data, as pki.sgit.ai wrote it bundle.jsonthe data with its cast, for an embed index.mdthe script, as markdown graph.jsona semantic graph: 28 nodes, 55 edges thumb.jpgthe cover, 480 wide og.jpgthe cover, 1200 wide

Put it on your page

Two lines, from any site. The script is pinned to an immutable release of the kit, so the embed draws exactly this, for as long as the page exists. How embedding works.

<script src="https://api.storyboards.sgit.ai/v0/v0.1/v0.1.0/embed.js" defer></script>
<sg-storyboard src="https://storyboards.sgit.ai/pki/two-ways/bundle.json" view="deck"></sg-storyboard>

The panels

  1. 1. Two ways, or not at all: Why a link only counts when both people wrote it. (cover; people/how.html)
  2. 2. 2019. “a key server could add information to a certificate but could never delete either a certificate or information about a certificate.” (pki.sgit.ai, the 20 (evidence; failure/index.html)
  3. 3. The flood. Mallory says: “Anyone can add. Nothing can be deleted.” (scene; failure/index.html)
  4. 4. The rule. “The keyserver attack existed because anyone could append to anybody's certificate.” (pki.sgit.ai, the four rules) (evidence; rules/index.html)
  5. 5. Where would Mallory write?. Mallory says: “Where do I write?” (scene; test_people.mjs)
  6. 6. A claim. Leo says: “I don't know her yet.” (scene; directory.js, graph)
  7. 7. A link. (scene; test_people.mjs)
  8. 8. The register, computed. (graph; people/index.html)
  9. 9. A vouch for you lands in my record, never in yours.. (punchline; people/how.html#two-ways)

Imported unchanged from SGit-AI/SGit-AI__Website__PKI/admin/content/storyboards/02__two-ways.json at commit ab6affc9 (2026-10-20). The cast is cast.json.