Snapshots

A draft may promise only what the brand can already prove

Being built
  • Five kinds of claim are caught: codes, guarantees, timed results, health absolutes, measured results.
  • A claim being on the product page is not enough for health or measured claims.
  • Every writer carries the rule, and every copyable surface runs checkCopy.
  • Plays keep a flagged claim marked Proposed; unattended drafts drop the sentence.
  • The brand stays responsible for what it publishes.
fivekinds of claim caught
Your call

Add an ad disclosure like hashtag ad by default to every creator draft?

Security, privacy and legal · 9.8

Claims policy

DraftLast checked Mon Oct 26Owner Param

Answer

A draft may promise only what the brand itself already says and can prove; invented codes, guarantees, timed results, health endorsements and measured results are flagged or cut before anyone ships them, for every brand and category, and the brand stays responsible for what it publishes.

Today

The five kinds of claim the code catches

Kind Example Passes only when Source
Code "Use code PURE25" The code is in the brand's own words; product codes like SPF50 are not codes brew/claims.js:22-24, 68-69
Guarantee "money back", "risk free" The store already offers it brew/claims.js:25, 70
Timed result "visible results in 14 days", "overnight" The store says the same time brew/claims.js:26-27, 71-72
Absolute or health endorsement "clinically proven", "dermat approved", "doctor recommended", "cures" The store names the study, test or certificate beside the same words, or the team approved it in the Brand Book brew/claims.js:29-31, 73-77
Measured result "60% less hair fall", "3x thicker" The store says where it was measured, or it is an approved claim brew/claims.js:32-43, 78-80

Being on the product page is not enough for a health or measured claim since 23 Oct. brew/claims.js:29-31 handbook content/company-and-strategy/decisions-log.md:40

Where it runs

  • Every writer prompt carries the rule CLAIMS_RULE. brew/claims.js:87-88
  • checkCopy is the one entry point for every surface that writes words someone may copy: static ads, plain card words, briefs, the weekly digest, Slack replies, jam answers, ideas, cards, message templates. brew/claims.js:215-232 memory brew-qa-round2-2026-10-24
  • A draft made with nobody watching drops every flagged sentence, and a flagged headline never goes on the picture. brew/claims.js:139-150
  • A Play is the team's plan, so a claim stays readable but is marked Proposed (team decides):. brew/claims.js:98-106
  • A paid final never runs over a flagged claim. brew/finals-routes.js:75, 143
  • Numbers have their own gate: every money amount and percentage on a card must be in the fact sheet. brew/fact-gate.js:1-6
  • The Brand Book's "claims we may make" are backed only inside that list, never anywhere in the brand's words. brew/claims.js:45-51

Rivals and creators

  • A rival's picture appears only labelled as theirs, never as ours. memory brew-rival-pictures
  • Make our version gives the image model only the brand's own photo and a written breakdown of the rival's ad, never the rival's picture. brew/SCOPE.md:19
  • A viral creator's words are named as never to be reused. memory brew-viral-remakes

What the terms say

Plays, cards and drafts are suggestions; check before you spend or publish. brew/legal-pages.js:42

Tomorrow

Item Version Tag
Flag and cut on every surface that writes v1 Stays
A plain "Claims to check" list on the brief, so the person who ships it sees them v1 Changes, proposed
Category rules for India: health, cosmetics, food and supplements, lawyer reviewed v1 New, proposed
Disclosure on creator and paid partnership drafts: "#ad" or the platform's own label v1 New, proposed
A post or schedule never goes out while a claim is flagged v2 New
A measured result only from the brand's own v3 measurement, with its grade v3 New
Ad rules refuse an ad with a flagged claim v4 New

How we do it

  1. Never write a claim into a prompt, template or default; claims come only from the brand's own words or the Brand Book.
  2. A new surface that writes words for a shopper calls checkCopy or checkCopyIn before it shows them.
  3. When a check misses a phrasing, add it to the pattern in claims.js for every brand and category, with a test:
cd /Users/param/Documents/ChatGPT/brew && AI_MOCK=1 node --test test/claims.test.js test/claim-rules.test.js test/claim-kinds.test.js test/round2-claims.test.js
  1. Never fix a claim for one brand only.

Numbers

Metric Definition Where measured Status
Claims flagged Flags per brand per week, by kind checkCopy results Proposed, not logged today
Claims shipped after a flag Drafts sent or downloaded while flagged Not recorded Proposed
Approved claims Entries in each Brand Book's claims we may make Brand Book Proposed

Open

  1. Who checks the claim rules against Indian advertising law? Proposal: the same lawyer as the privacy policy reads this page and the category word lists once, before the first brand outside the partners.
  2. Do creator drafts carry a disclosure by default? Proposal: yes, "#ad" on any draft written for a creator to post for the brand.
  3. Log every flag? Proposal: yes, one row per flag with brand, kind and surface, so we can see what writers get wrong.
Sources
  • brew/claims.js:1-7, 22-43, 45-51, 64-88, 93-106, 139-150, 215-232
  • brew/fact-gate.js:1-6, 65-77
  • brew/finals-routes.js:75, 143
  • brew/legal-pages.js:42
  • brew/SCOPE.md:19
  • memory brew-qa-sweep-2026-10-19, brew-qa-round2-2026-10-24, brew-rival-pictures, brew-viral-remakes
  • handbook content/company-and-strategy/decisions-log.md:40

Source file content/security-privacy-and-legal/claims-policy.md · For agents: Markdown · JSON