{
 "id": "17.5",
 "title": "Crisis communications",
 "department": "PR and communications",
 "department_slug": "pr-and-communications",
 "direction": null,
 "branded": false,
 "status": "needs-you",
 "owner": "Param",
 "last_verified": "2026-10-26",
 "holds": "What we say when something goes wrong in public",
 "urls": {
  "html": "https://handbook.joinsquareup.com/pr-and-communications/crisis-communications",
  "markdown": "https://handbook.joinsquareup.com/pr-and-communications/crisis-communications.md",
  "json": "https://handbook.joinsquareup.com/pr-and-communications/crisis-communications.json"
 },
 "other_directions": [],
 "tldr": {
  "headline": "No crisis plan exists, so we drafted three levels",
  "points": [
   {
    "icon": "warn",
    "text": "Alerts reach only us, and nothing tells a brand about an incident."
   },
   {
    "icon": "flag",
    "text": "Level 1 product error, level 2 touched one brand, level 3 is public."
   },
   {
    "icon": "heart",
    "text": "Apology order: sorry first, what happened, what we changed, a person's offer."
   },
   {
    "icon": "lock",
    "text": "The character is fully off, and the mail comes from a founder the same day."
   },
   {
    "icon": "eye",
    "text": "Four mistakes were caught inside and never reached the public."
   }
  ],
  "stat": {
   "value": "one",
   "label": "hour to first word"
  },
  "decide": "Who speaks in a level 3 crisis, and who is the legal contact for a data exposure?",
  "mood": "urgent"
 },
 "sources": [
  "brand-directions/bee/comms.html, apology and how an apology is built; dog/comms.html, raccoon/comms.html, octopus/comms.html, cooker/comms.html, apology for a mistake",
  "brand-directions/docs2/data/dirs.json: every direction turns the character off for errors on our side, money, privacy and apologies",
  "brew origin/main: docs/production.md:112-115; tools/prod-env.sh:9; legal-pages.js:33",
  "handbook content/customer-success-and-support/notices-to-customers.dog.md, support-process.md, known-issues.md; content/product-marketing/release-notes.md",
  "memory brew-shopify-connector-qa, brew-jam-v2, brew-go-live-2026-10-17, never-disconnect-arata-meta, brew-live-stores"
 ],
 "open_questions": [
  "**Who speaks in a level 3 crisis?** Proposal: Param only; Sai and Arvind forward every question to him.",
  "**How fast is the first word?** Proposal: within one hour for level 3, the same day for level 2, as the comms books say.",
  "**Do we keep a public status page?** Proposal: no in the preview; email each affected brand instead.",
  "**What do we say if Meta or Shopify suspends the app?** Proposal: tell partners the same day which connector stops, that their data is safe, and that the other connectors keep reading.",
  "**Who is the legal contact for a data exposure?** No source names one. Proposal: Param names one this week."
 ],
 "parts": {
  "Answer": "We have no crisis plan: no source says who speaks, how fast, or what counts as a crisis, so this page holds what exists today, the kinds of failure we have already caught inside, a proposed way to answer, and the calls only Param can make.",
  "Today": "### What exists\n\n| Fact | Source |\n|---|---|\n| No notice system tells a brand about an incident; only a few in product messages exist | [src: handbook customer-success-and-support/notices-to-customers] |\n| Alerts reach only us: Cloud Monitoring and the app's daily alerts email param@ and hello@ | [src: brew/docs/production.md:112-115] |\n| One inbox, hello@joinsquareup.com, with no response time or rota | [src: handbook customer-success-and-support/support-process] |\n| A deletion request is promised within 7 days in the product; the privacy page gives no time | [src: handbook customer-success-and-support/known-issues] [src: brew/legal-pages.js:33] |\n| Arata's connections are protected in code and never disconnected | [src: brew/tools/prod-env.sh:9] [src: memory never-disconnect-arata-meta] |\n| Every direction turns the character fully off for errors on our side, money, privacy and apologies | [src: brand-directions/docs2/data/dirs.json] |\n\n### How an apology is built, in the comms books\n\nAll five comms books agree; the bee book spells it out [src: brand-directions/bee/comms.html, how an apology is built]:\n1. Sorry first, in two words. [src: brand-directions/bee/comms.html, how an apology is built]\n2. What happened, in plain words, with no blame on the founder. [src: brand-directions/bee/comms.html, how an apology is built]\n3. What we did, and what we changed so it does not repeat. [src: brand-directions/bee/comms.html, how an apology is built]\n4. An offer only a person can make. [src: brand-directions/bee/comms.html, how an apology is built]\n\nIt comes from a founder, by email, the same day we find it, with no character, no pun and no sound [src: brand-directions/bee/comms.html, apology] [src: brand-directions/octopus/comms.html, apology for a mistake] [src: brand-directions/cooker/comms.html, apology].\n\n### Failures we have already caught inside\n\nNone of these reached the public; they show the kinds of thing that could.\n\n| Kind | What happened | Source |\n|---|---|---|\n| A wrong number on a card | A COD \"failed\" fact was written up as \"40% COD failure\"; COD is now two facts, never failed | [src: memory brew-shopify-connector-qa] |\n| An invented claim in a draft | A Studio piece invented \"10ml\" and a fake review; designed pieces are now read back | [src: memory brew-jam-v2] |\n| An unbacked health claim | Arata's stories printed \"Dermat-approved formulations\"; claims are now checked before drawing | [src: handbook product-marketing/release-notes] |\n| A rival's creative copied | An image model copied a rival picture it was given; it now never gets the rival's picture | [src: memory brew-go-live-2026-10-17] |",
  "Tomorrow": "| Item | Version | Tag |\n|---|---|---|\n| Three levels: a product error, a mistake that touched one brand, a public mistake | v1 | New, Proposed |\n| A holding line ready for each level | v1 | New, Proposed |\n| A notice to every affected brand inside the product | v1 | New, see notices to customers |\n| Posting, measuring and ad changes each add their own failure kinds: a wrong post, a wrong result, a wrong spend | v2 to v4 | New, Proposed |",
  "How we do it": "Proposed, until Param accepts:\n1. **Level 1, a product error that cost nothing.** The product's own error line; the character may appear as a small icon only [src: brand-directions/docs2/data/dirs.json].\n2. **Level 2, a mistake that touched one brand's trust:** a wrong number, an invented claim, data shown to the wrong person. A founder emails that brand the same day, built the four step way above. Fix it for every brand, heal saved data, then write it in [Known issues](/customer-success-and-support/known-issues).\n3. **Level 3, a public mistake:** a post, a press piece, a platform suspension, a data exposure. Param decides within one hour; one holding line goes out from Param only; partners hear before the public.\n4. A holding line to start from: \"We got something wrong. Here is what happened, here is what we changed, and here is who to email.\" Fill each part with facts only.\n5. Never speculate, never blame a platform or a partner, never promise a date we do not control.\n6. A data exposure also follows the security and legal department's rules before anything is said.",
  "Numbers": "| Metric | Definition | Where measured |\n|---|---|---|\n| Time to first word | Minutes from finding a level 2 or 3 issue to the first email | This document's log, Proposed |\n| Issues by level | Count per month | This document's log, Proposed |\n| Repeats | Issues of a kind we had already fixed | Known issues, Proposed |",
  "Open": "1. **Who speaks in a level 3 crisis?** Proposal: Param only; Sai and Arvind forward every question to him.\n2. **How fast is the first word?** Proposal: within one hour for level 3, the same day for level 2, as the comms books say.\n3. **Do we keep a public status page?** Proposal: no in the preview; email each affected brand instead.\n4. **What do we say if Meta or Shopify suspends the app?** Proposal: tell partners the same day which connector stops, that their data is safe, and that the other connectors keep reading.\n5. **Who is the legal contact for a data exposure?** No source names one. Proposal: Param names one this week."
 }
}