{
 "id": "4.13",
 "title": "The Brand Book we give brands",
 "department": "Brand",
 "department_slug": "brand",
 "direction": {
  "id": "raccoon",
  "name": "Scoop"
 },
 "branded": true,
 "status": "draft",
 "owner": "Param",
 "last_verified": "2026-10-26",
 "holds": "What a partner's Brand Book holds and exports",
 "urls": {
  "html": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/raccoon",
  "markdown": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/raccoon.md",
  "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/raccoon.json"
 },
 "other_directions": [
  {
   "id": "dog",
   "name": "Fetch",
   "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/dog.json"
  },
  {
   "id": "bee",
   "name": "Buzz",
   "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/bee.json"
  },
  {
   "id": "octopus",
   "name": "Ocho",
   "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/octopus.json"
  },
  {
   "id": "cooker",
   "name": "Seeti",
   "json": "https://handbook.joinsquareup.com/brand/the-brand-book-we-give-brands/cooker.json"
  }
 ],
 "tldr": {
  "headline": "The brand's dossier, read from public pages, Scoop signs the foot",
  "points": [
   {
    "icon": "book",
    "text": "Every partner gets a Brand Book, built from public pages plus whatever the team adds."
   },
   {
    "icon": "lock",
    "text": "Scoop never appears in brand.md, brand.json, llms.txt, the PDF or the kit zip."
   },
   {
    "icon": "eye",
    "text": "The book wears the partner's colours, never tangerine."
   },
   {
    "icon": "chat",
    "text": "One sign off at the foot: Read by Scoop. Shipped by you."
   },
   {
    "icon": "link",
    "text": "When AI search finds a gap, Scoop points to the book as the fix."
   }
  ],
  "stat": {
   "value": "32",
   "label": "pixel sign off mark"
  },
  "decide": "Should Scoop sign the shared page at all, with one 32 pixel sign off?",
  "mood": "building"
 },
 "sources": [
  "brew origin/main a559de6 brand-book-read.js lines 1 to 18, 25 to 30",
  "brew origin/main jam2/brandbook.js lines 8, 132 to 164, 184",
  "brew origin/main brand-kit.js lines 1 to 9, 89 to 114",
  "brew origin/main server.js lines 936 to 950",
  "brew origin/main public/brand-book.js lines 34 to 37, 147",
  "brew origin/main test/brand-book-guards.test.js, tools/audit-brand-book.mjs",
  "brand-directions/book/content/h2.js h-11, the brand book gift",
  "brand-directions/raccoon/brand.html b3, the dossier row",
  "brand-directions/raccoon/kit-skin.js line 88",
  "brand-directions/raccoon/system.md s3, s4",
  "memory brew-brand-book, brew-brand-book-guards"
 ],
 "open_questions": [
  "Should Scoop sign the shared page at all? Proposal: yes, one 32 px sign off at the foot only, since the brand leads every other part.",
  "Does the dossier replace Brand Book as the user word in Scoop's direction? Proposal: no, Brand Book stays the plain word on every control, the dossier lives only in Scoop's sentence."
 ],
 "parts": {
  "Answer": "What every partner's Brand Book holds and exports today, and how it is named, voiced and dressed in Scoop's direction, with the partner's own brand always in the lead.",
  "Today": "### What it is\n- Every read builds the brand's whole profile from its own public evidence before anyone uploads anything. [src: brew/brand-book-read.js:1]\n- Free parts need no AI: products and price tiers, offers and guarantee, ratings, review lines, press and founders, channels, rivals and the library of the brand's own ads, posts and photos. [src: brew/brand-book-read.js:4]\n- One AI call writes story, voice, words, claims, look, type use, naming, colour roles, playbooks and what makes each reference theirs. [src: brew/brand-book-read.js:6]\n- Nothing is invented: every AI line names its evidence, quoted lines are checked against it in code, and a field with no evidence stays empty. [src: brew/brand-book-read.js:8]\n- Saved per brand as `brandbook-read.json`, version BOOK_V 6. [src: brew/brand-book-read.js:18]\n- One store serves the app and the studio: the read, then uploads, then the team's edits by path. [src: brew/jam2/brandbook.js:8]\n- Every maker reads it: drafts, cards, statics, ideas and the studio's creative engine. [src: memory brew-brand-book]\n- It rebuilds when its inputs change, no more than once every 6 hours and at most weekly. [src: memory brew-brand-book]\n\n### Chapters\n| Chapter | Tone on the page | Source |\n|---|---|---|\n| Story | Paper | [src: brew/public/brand-book.js:35; brew/public/brand-book.js:147] |\n| Look and kit | Plain | [src: brew/public/brand-book.js:35] |\n| Voice | Brand colour | [src: brew/public/brand-book.js:35] |\n| Words | Paper | [src: brew/public/brand-book.js:35] |\n| Products | Plain | [src: brew/public/brand-book.js:35] |\n| People | Paper | [src: brew/public/brand-book.js:35] |\n| Proof | Brand colour | [src: brew/public/brand-book.js:36] |\n| The numbers | Paper | [src: brew/public/brand-book.js:36] |\n| What the brand publishes | Ink | [src: brew/public/brand-book.js:36] |\n| Playbooks | Plain | [src: brew/public/brand-book.js:36] |\n| Where the brand shows up | Paper | [src: brew/public/brand-book.js:36] |\n| Rivals | Paper | [src: brew/public/brand-book.js:36] |\n| Rules | Plain | [src: brew/public/brand-book.js:36] |\n\n### Who sees what\n| Scope | Gets | Source |\n|---|---|---|\n| Member | Everything, including Meta best ads, uploads, team rules and studio choices | [src: brew/jam2/brandbook.js:154; brew/jam2/brandbook.js:158] |\n| Share | The read plus the team's edits that are not private | [src: brew/jam2/brandbook.js:164] |\n| Public | The read only | [src: brew/jam2/brandbook.js:133] |\n| Closed stores | No public book | [src: memory brew-brand-book] |\n\n### What it exports\n| Route | What it is | Source |\n|---|---|---|\n| `/<slug>/brand` | The book as a read only page | [src: brew/brand-kit.js:4] |\n| `/<slug>/brand.md` | An AI ready brand prompt to paste into ChatGPT, Claude or Gemini | [src: brew/brand-kit.js:5] |\n| `/<slug>/brand.json` | The whole book as data, every line with where it came from | [src: brew/brand-kit.js:6] |\n| `/<slug>/llms.txt` | The index an AI agent reads first | [src: brew/brand-kit.js:7] |\n| `/<slug>/brand.pdf` | The book as a PDF | [src: brew/server.js:941] |\n| `/<slug>/brand-kit.zip` | All of it plus W3C design tokens, colors.css, an .ase palette, logos, references by format, product photos and project notes for Claude and ChatGPT | [src: brew/brand-kit.js:8; brew/brand-kit.js:101] |\n\n### Guards\n- Issue classes fixed on 23 Oct are guarded for every brand: search snippets as cover lines, never say words shown as code, they and their in labels, empty proof tiles, uploads grounded in the file. [src: memory brew-brand-book-guards]\n- Before any Brand Book deploy, run the audit and the guards test. [src: brew/tools/audit-brand-book.mjs; brew/test/brand-book-guards.test.js]\n- The public page today loads the old name's mark as its favicon. [src: brew/server.js:948]\n\n### In Scoop's audition files\n| Fact | Detail | Source |\n|---|---|---|\n| Scoop's word for the export | The dossier: your house rules on one page, tagged Later as brand sheet export | [src: brand-directions/raccoon/brand.html b3] |\n| Brief page sign off | Read by Scoop. Shipped by you. | [src: brand-directions/raccoon/kit-skin.js:88] |\n| Gift line | Psst. I wrote down everything your store says about itself. It is a brand book now, and it is yours. | [src: brand-directions/book/content/h2.js h-11] |\n| Rule | A person, never Scoop, handles money, privacy, apologies and anyone upset | [src: brand-directions/raccoon/system.md s3] |\n\nThe audition book tags the export Later, but the Brand Book shipped on 23 Oct. That tag is stale. [src: memory brew-brand-book; brand-directions/raccoon/brand.html b3]",
  "Tomorrow": "- v1, Stays: the chapters, scopes, routes, guards and the rule that nothing is invented.\n- v1, Changes: the plain name stays Brand Book on buttons and in the share sheet. Scoop's word, the dossier, lives only in the sentence around it.\n- v1, Changes: the book is dressed in the partner's own colours, fonts and pictures, never in tangerine, Gloock or Schibsted Grotesk. Our skin frames the app around it, never the book.\n- v1, New: Scoop appears in exactly two places: one line in What we know about you, where Share your brand book sits, and a 32 px sign off at the foot of the shared page, Read by Scoop. Shipped by you.\n- v1, New: Scoop never appears on the cover, on chapters, in brand.md, brand.json, llms.txt, the PDF or the kit zip. Those files belong to the brand.\n- v1, New: the public page says what it is built from, in Scoop's terms: public pages for the read, plus anything the team added.\n- v1, Changes: the public page's favicon and footer use the new small mark and the wordmark slot, never the old mark.\n- v1, New: when What AI search says finds a gap, Scoop points to the Brand Book as the fix: I asked the chatbots. Share this so they know you.\n- v2, New: every post the brand approves to go out follows the book's rules for its channel.\n- v3, New: the library marks which of the brand's own work did best, with its source.\n- v4, New: ads that run within the brand's rules read their limits from the book's Rules chapter.",
  "How we do it": "1. Change the Brand Book only in brew code, never in saved data by hand, and heal every brand.\n2. Before any deploy, copy a brand's bucket files into a folder and run:\n\n```\ncd /Users/param/Documents/ChatGPT/brew && node tools/audit-brand-book.mjs DIR && node --test test/brand-book-guards.test.js\n```\n\n3. Never leak member data into share or public: Meta best ads, uploads, private edits and team rules stay members only.\n4. Write any line around the book in Scoop's voice from `raccoon/system.md`, and keep every line inside the book in the brand's own voice.\n5. Add a guard test for every new issue class found.",
  "Numbers": "| Metric | Definition | Where measured | Status |\n|---|---|---|---|\n| Books built | Brands with a current `brandbook-read.json` at BOOK_V 6 | Bucket listing per brand | Proposed |\n| Shared opens | Visits to `/<slug>/brand` and its files from outside the team | Server logs | Proposed |\n| Empty fields | Book fields left empty for lack of evidence | `tools/audit-brand-book.mjs` output | Proposed |\n| Guard failures | Guard test failures before a deploy, target zero | `test/brand-book-guards.test.js` | Exists |",
  "Open": "1. Should Scoop sign the shared page at all? Proposal: yes, one 32 px sign off at the foot only, since the brand leads every other part.\n2. Does the dossier replace Brand Book as the user word in Scoop's direction? Proposal: no, Brand Book stays the plain word on every control, the dossier lives only in Scoop's sentence."
 }
}