What a compliance engine checks before a CBD post goes out
"Compliance-checked" is easy to print on a landing page and hard to pin down. This is the actual shape of the check that stands between a generated post and a client's account, including the parts of it that a machine cannot do.
Published 3 minute read
The layers
A caption is not checked once. It goes through separate layers, each answering a different question, because a single pass with one list of forbidden words produces the worst of both errors: it blocks ordinary sentences and misses rephrased claims.
| Layer | How it decides |
|---|---|
| Health and wellbeing claims | Dictionary and patterns |
| Direct selling: prices, discounts, codes, orders in messages | Dictionary and patterns |
| Hashtags: deny list, count, rotation | Dictionary and patterns |
| The rendered image: medical scenes, pills, smoking, children, before and after | Model |
| What a presenter says on camera | Model |
| Required notices for the market: age, disclaimers, AI disclosure | Dictionary and patterns |
| The brand’s own stop topics, banned words and competitors | Dictionary and patterns |
How many rules, per market
Rules are written per jurisdiction, because the same sentence can be fine in one market and a violation in another. These counts are read out of the running rule set when this page is built, not typed in by hand:
| Layer | Rules that apply | Of which cannot be rewritten |
|---|---|---|
| Health and wellbeing claims | 57 | 34 |
| Direct selling: prices, discounts, codes, orders in messages | 37 | 6 |
| Hashtags: deny list, count, rotation | 25 | 5 |
| Required notices for the market: age, disclaimers, AI disclosure | 39 | 25 |
| Layer | Rules that apply | Of which cannot be rewritten |
|---|---|---|
| Health and wellbeing claims | 33 | 17 |
| Direct selling: prices, discounts, codes, orders in messages | 37 | 6 |
| Hashtags: deny list, count, rotation | 27 | 6 |
| Required notices for the market: age, disclaimers, AI disclosure | 39 | 25 |
| Layer | Rules that apply | Of which cannot be rewritten |
|---|---|---|
| Health and wellbeing claims | 34 | 20 |
| Direct selling: prices, discounts, codes, orders in messages | 37 | 6 |
| Hashtags: deny list, count, rotation | 27 | 7 |
| Required notices for the market: age, disclaimers, AI disclosure | 41 | 27 |
Three verdicts, not two
A binary allowed-or-blocked check is useless in practice, because most findings are fixable phrasings rather than fatal ones. So a finding carries one of three verdicts, and they behave differently.
| Verdict | Meaning | What happens |
|---|---|---|
| pass | Nothing found in this layer | The post moves to the next stage |
| fix | Fixable phrasing | The text is rewritten and checked again; twice failing sends it to a human |
| fail | Not fixable by rewording | The post never reaches the account; a person decides what to do with it |
The image is checked too
Text on a rendered image is text. A claim that would be caught in a caption is caught the same way when it is set in 60-point type on the first slide of a carousel, because the check runs on the rendered pixels, not only on the source. The same pass looks at what the picture implies: a product photographed next to a pill organiser says something the caption never had to.
What it cannot do
An engine matches patterns; it does not understand a market. It cannot tell you whether your product is legal to sell where you are selling it, it does not read your product page, and it will not catch a claim made entirely by implication in a photograph with no words. It also does not replace the required notices your market expects: it checks that they are present and prints them in the exact wording that is accepted.
Questions
- Do the rules update when regulations change?
- They are edited like code and reviewed the same way: a change ships with reference phrases that must still be caught after it, so a fix for one market cannot quietly open a hole in another.
- Can I see what was flagged on my own post?
- Yes. Every finding stays attached to the post with the rule that produced it and the exact text it matched, so a rejection is never just "not allowed".
Keep reading
- Four sentences that get a CBD post removed
The four kinds of sentence that reliably cross a line on a hemp brand's Instagram, each with the wording that says the same thing safely.
- CBD social media compliance: the rules that decide if a post is safe
Four rulebooks apply to every hemp post: platform policy, advertising law, food law and the local market. Here is how they interact and how a check runs.
- European Union: CBD rules on social media
What a hemp brand may post in the EU: novel food status, the health claims regulation, the notices every post needs and the AI disclosure requirement.
- How to plan a month of CBD Instagram without a blank calendar
A working method for filling a hemp brand's month: fixed dates first, a mix by purpose second, and a library of evergreen topics for the rest.