Skip to content
HempScale

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.

The seven layers of the check
LayerHow it decides
Health and wellbeing claimsDictionary and patterns
Direct selling: prices, discounts, codes, orders in messagesDictionary and patterns
Hashtags: deny list, count, rotationDictionary and patterns
The rendered image: medical scenes, pills, smoking, children, before and afterModel
What a presenter says on cameraModel
Required notices for the market: age, disclaimers, AI disclosureDictionary and patterns
The brand’s own stop topics, banned words and competitorsDictionary 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:

Rules in our engine that apply to this market (US)
LayerRules that applyOf which cannot be rewritten
Health and wellbeing claims5734
Direct selling: prices, discounts, codes, orders in messages376
Hashtags: deny list, count, rotation255
Required notices for the market: age, disclaimers, AI disclosure3925
Rules in our engine that apply to this market (EU)
LayerRules that applyOf which cannot be rewritten
Health and wellbeing claims3317
Direct selling: prices, discounts, codes, orders in messages376
Hashtags: deny list, count, rotation276
Required notices for the market: age, disclaimers, AI disclosure3925
Rules in our engine that apply to this market (UK)
LayerRules that applyOf which cannot be rewritten
Health and wellbeing claims3420
Direct selling: prices, discounts, codes, orders in messages376
Hashtags: deny list, count, rotation277
Required notices for the market: age, disclaimers, AI disclosure4127

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.

What each verdict does to a post
VerdictMeaningWhat happens
passNothing found in this layerThe post moves to the next stage
fixFixable phrasingThe text is rewritten and checked again; twice failing sends it to a human
failNot fixable by rewordingThe 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.

None of this is legal advice, and a passing check is not a licence. It is a floor: the wording that regulators and platforms have already rejected does not leave the building.

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

See this on your own shop

Give us your shop address and we will read it, build a month of content in your brand, and show two finished examples.

Analyse my site