The rule catalogue
All 9 rule kinds, and exactly what code can settle about each one. Read this to check the tool can express the rules you already have.
Code settles it — 4 of 9
A match is a fact about the words, and so is a clean sweep. A release can be blocked on these without anybody’s opinion.
- Banned phrasebanned_phrase
- Word-boundary matching, so a rule against fight leaves firefighter alone. Carries the replacement wording, so the fix is the rule being followed rather than a suggestion.
- Required disclaimerrequired_disclaimer
- The text must appear in the release, on the surfaces you name.
- Reading levelreading_level
- Flesch–Kincaid against your grade ceiling.
- Closed periodtime_window
- Arithmetic against the calendar. Between quarter end and results, performance copy is caught.
Code finds it, a person settles it — 3 of 9
The thing to check is extracted with exact offsets. Grading it needs something the code was never given, so it opens the question and refuses to answer it.
- Privacy sweeppii
- Emails, phone numbers, postcodes, and card numbers behind a Luhn check so an order reference is not read as a payment detail.
- Already public?disclosure_check
- Every figure is extracted with its exact offsets. Whether each one already appears in a public source is retrieval, so the finding is opened and not graded.
- Market rulesjurisdiction_claim
- The restricted phrase is a fact when it appears, and the finding names the markets. Its absence is not compliance — a claim has more wordings than a pattern.
Nothing in code sweeps for it — 2 of 9
No pattern reaches these. They go into the brief and shape the writing; until a review runs, the record says they were never inspected.
- Claim restrictionclaim_restriction
- A factual claim needs a source. “Must be substantiated” is not a string, so there is nothing for a sweep to match on.
- Style rulestyle_rule
- House conventions a pattern cannot express. The statement is free prose, so working out what to check for is itself the reviewer’s job.
Severity, surfaces and classes
Every rule, of every kind, carries a severity — blocking or advisory — and the list of content roles it applies to. One rule can hold on a slide headline and not on a caption.
- On the artworkartwork
- Rendered in the design itself — a slide, a poster, a frame title. Seen, not read.
- Document copybody
- Running copy in a document. Read rather than looked at.
- Captioncaption
- Published beside the artwork rather than inside it. The brand speaking around the work.
- Tags and hashtagsmetadata
- Machine-facing and still published: hashtags, tags, keywords.
- Image descriptionsalt_text
- An image description. A rule about how the brand writes headlines has no business firing here.
- Notes, unpublishednotes
- Written and not published. Whether a rule reaches it is the rule’s decision, not ours.
A rule that names no role applies to every one of them. A rule that names roles the content does not contain has not passed — it was never applied, and the run says so separately rather than counting it clear. See what a result establishes.
Every kind above is a statement about words, and that is the whole of the text rule class. Rules about how something looks — palette, colourway, type pairing, contrast, logo treatment — are the visual class and have no kind of their own. Which class a call checks is declared rather than inferred; the review API cannot see a colour and says so in every response.