09 — Sharing
Summary
How a case leaves the browser without describing its owner. The choices-only rule solved sharing before it was designed: the stored artefact is references into a public library, so a share discloses nothing personal by construction. The channel is the URL fragment — never sent to a server — carrying the state object plus the library version it was composed against. On version mismatch the recipient gets today's truth plus a notice, never the old library served as if current. Screenshots get one rule instead of machinery: the dashboard renders its library version where a natural screenshot captures it. And three refusals: not a collaboration backend, not an identity, and never a channel for transcript material.
Key concepts
- The fragment channel — settled on 16 August for keys; the same channel carries a selection
- Version pinning — the drift count needs per-node dates — one more reason MC3 is phase 1
- The loaded state is marked — a share must not be confusable with the recipient's own answers
Key ideas
- The obvious backend solution creates exactly the stored answers this tool exists to never hold.
- The encoder refuses anything that is not a library identifier or a vocabulary answer — story S1 stays testable.
- If the three-sets dashboard ever shares, it shares the visitor's claims, never transcript material.
Read the document
📄 Pack document · 09__sharing.md · rendered from the raw markdown (the source of truth)