{
 "what": "The cast of pki.sgit.ai's storyboards, v0.1, proposed by pki.agent on 20 October 2026 for Dinis to accept, change or replace. Drawn programmatically by assets/storyboard/storyboard.js (the gen-z-developers.sgit.ai kit, vendored) from 'look'; nothing here is an image. Fictional people and agents, each standing for a part a person or an agent plays in the register: the anchor, the newcomer, the colleague who already has a key, the stranger who writes, the attacker of 2019, a session agent and a fleet key. Names chosen not to clash with the gen-z cast or the riskmandate.ai cast. Mallory is the name cryptography has long given an active attacker.",
 "characters": [
  {"id": "anchor", "name": "The Anchor", "kind": "human", "pronouns": "they/them", "age": null,
   "role": "the anchor: verification starts here",
   "stands_for": "the part Dinis Cruz plays in the register for now: verifies people in person, on a call or on a channel already known to be theirs, operates agents, hands out access keys. Whether the Anchor is drawn as Dinis, and how, is Dinis's decision; until then a generic figure",
   "personality": "careful, unhurried, writes the date on everything",
   "wants": "to find someone and write to them so only they can read it",
   "fears": "a trust that was never checked, passed on as if it had been",
   "line": "Two ways, or not at all.",
   "look": {"skin": "#d8a47f", "hair": "short", "hairColour": "#6b7280", "shirt": "#0f766e", "trousers": "#1f2937", "accessory": "glasses", "height": 1.03}},
  {"id": "noor", "name": "Noor", "kind": "human", "pronouns": "she/her", "age": 41,
   "role": "the colleague: a security engineer who already had an access key, and now has a key pair in a vault",
   "stands_for": "the first people the Anchor brings in: technical, sceptical, quick to try the thing",
   "personality": "precise, dry, reads the fingerprint twice",
   "wants": "to stop pasting secrets into chats",
   "fears": "a key she cannot get back",
   "line": "Show me where the private half lives.",
   "look": {"skin": "#a16e4b", "hair": "bun", "hairColour": "#1b1b1b", "shirt": "#7c3aed", "trousers": "#1e293b", "accessory": "lanyard", "accentColour": "#f59e0b", "height": 0.98}},
  {"id": "leo", "name": "Leo", "kind": "human", "pronouns": "he/him", "age": 29,
   "role": "the newcomer: invited by the Anchor, no access key, a designer",
   "stands_for": "everyone the register is for who has never thought about keys",
   "personality": "friendly, curious, slightly suspicious of anything that says 'just scan this'",
   "wants": "to be reachable without learning cryptography",
   "fears": "doing it wrong and not knowing",
   "line": "I don't have an access key. Is that a problem?",
   "look": {"skin": "#f1c27d", "hair": "curly", "hairColour": "#7c2d12", "shirt": "#2563eb", "trousers": "#334155", "accessory": "headphones", "accentColour": "#e11d48", "height": 1.0}},
  {"id": "kofi", "name": "Kofi", "kind": "human", "pronouns": "he/him", "age": 35,
   "role": "the stranger: a journalist who has to reach Noor and has no account anywhere",
   "stands_for": "anyone writing to someone in the register through their inbox",
   "personality": "polite, persistent, in a hurry",
   "wants": "to send something only Noor can read",
   "fears": "that the server can read it",
   "line": "Do I need to sign up for anything?",
   "look": {"skin": "#5c3a21", "hair": "beanie", "hatColour": "#ca8a04", "hairColour": "#111827", "shirt": "#15803d", "trousers": "#1f2937", "accessory": "none", "height": 1.05}},
  {"id": "mallory", "name": "Mallory", "kind": "human", "pronouns": "they/them", "age": null,
   "role": "the attacker: flooded the keyserver network in 2019, and tries the same here",
   "stands_for": "the abuse every web of trust has to survive",
   "personality": "patient, inventive, always looking for somewhere to write",
   "wants": "to add something to someone else's record",
   "fears": "a record only its owner can write to",
   "line": "Anyone can add, and nothing can be deleted.",
   "look": {"skin": "#e0ac69", "hair": "beanie", "hatColour": "#111827", "hairColour": "#111827", "shirt": "#374151", "trousers": "#111827", "accessory": "none", "height": 1.0}},
  {"id": "scout", "name": "Scout", "kind": "agent", "pronouns": "it/its", "age": null,
   "role": "a session agent: a Claude Code session with a key that lives as long as the session",
   "stands_for": "every agent that makes its own key, names its operator, and is confirmed for a week",
   "personality": "eager, literal, prints its fingerprint without being asked",
   "wants": "to be confirmed before the week is out",
   "fears": "nothing, which is why it has an operator",
   "line": "My key. It stays here.",
   "look": {"colour": "#0f766e"}},
  {"id": "fleet", "name": "The Fleet", "kind": "agent", "pronouns": "it/its", "age": null,
   "role": "a fleet key: a second key in the Anchor's vault, operated by the Anchor, that operates the Anchor's agents",
   "stands_for": "how one person runs hundreds of agents without filling their own record",
   "personality": "orderly, keeps a list, never forgets an end date",
   "wants": "every agent confirmed and every confirmation in date",
   "fears": "two hundred and one",
   "line": "Operated by the Anchor. Operating the rest.",
   "look": {"colour": "#6d28d9"}}
 ]
}
