For brand legal & marketing compliance
Ad claims,
handled.
Paid-media claim review for the people who sign off the flight.
A deterministic matcher cites the clause, the quote, and the trigger —
so a reviewer sees evidence, not a vibe.
No demo required. No 90-day implementation. Paste copy, get a cited hit.
PolicyLens · sample
Fail · absolute
“clinically proven to cure colds”
- Trigger
- clinically proven
- Pack
- health · absolute
- Clause
- FTC Health Products Guidance
- Quote
- “If elements of an ad imply that the product also provides a disease benefit, the advertiser must be able to substantiate the implied disease claim…”
- Route
- Fail. Disputed cases go to ReviewLens.
PolicyLens · sample
Clear · licensed
“biodegradable where facilities exist”
- Trigger
- biodegradable
- Pack
- Green Guides · gated
- Clause
- FTC Green Guides · degradable claims
- Quote
- “Unqualified biodegradable claims for items destined for landfills… shouldn’t be made.”
- licensed_by
- where facilities exist
- Route
- Clear. Qualifier licenses the hit.
Not SOC 2. Not an EU AI Act inventory. Not cookie consent.
Those stay your other stack. We sit on the creative.
Regulators
FTC
FDA
NAD
Green Guides
Made in USA
Platforms
Meta
Google
TikTok
LinkedIn
54Gated pattern packs on the live matcher
172Traceable US clauses with source quotes
1:1Same text, same pack hits. The model does not decide the hit.
~400µsPer-ad lexical pass — before any display verdict
Legal blocking launch.
Not a governance program.
Low-risk licensed copy clears. Absolute packs fail. Borderline goes to a person — with the graph attached.
Today
- Does this feel risky?
- A Slack thread and a model paragraph
- Lawful disclosure still gets flagged
- Same ad, run twice, may flip
With Under Intelligence
- A pack pattern has to match
- Clause + verbatim quote + trigger span
- A nearby qualifier can license the hit
- Same text → same pack hits
One engine. Three jobs.
The matcher does not change. Paste a creative, record a decision, or pipe the trafficking system — same packs, same graph, same verdict contract.
Paste a creative
PolicyLens
Copy or image in. Full path runs Gemini VLM into the lexical packs. Quick path is a single advisory pass for demos.
- Text and image creatives
- Violations with clause citations
- Explainability graph
Open PolicyLens →
Record a decision
ReviewLens
Queue of absolute fails and borderline assets. A recorded human decision is authoritative — and becomes labeled data for the next pack revision.
- Approve / needs-changes / reject
- Per-rule false-positive labels
- Original creative on the case
Open ReviewLens →
Pipe trafficking
API
POST an asset, poll the verdict, pull the graph. Same deterministic audit fields whether the UI shows an LLM summary or not.
- POST /assets · GET /assets/{id}
- GET /assets/{id}/graph
- OpenAPI at /docs
Open API docs →
Trigger, then gate.
Never a black box.
Other tools ask a model if an ad “feels” risky. We require a pattern to match, then a qualifier can clear it. Gemini may paint the display verdict. It does not decide the hit.
- Ingest — text as-is; images become a structured VLM packet (claims, OCR, objects).
- Trigger — a pack pattern must match: “clinically proven,” “2× gentler,” “biodegradable.”
- Gate — a nearby disclosure can license the hit. Absolute packs (e.g. disease cures) never clear.
- Audit — clause, quote, trigger, and licensed_by stay on the graph.
Licensed · clear
Qualifier is in range. The hit stays on the graph as licensed_by. The flight can move.
Absolute · fail
Disease cures and similar packs never clear. Fail, with the clause attached.
Borderline · ReviewLens
Gated miss or both-twins. A person records approve / needs-changes / reject. That decision is the record.
Most AI added a guess.
We added a citation.
|
LLM-only review |
Under Intelligence |
| Same ad, twice |
May flip |
Same text → same pack hits |
| Who decides the hit |
The model, or an agent |
A pack pattern. The model does not decide the hit |
| Why it failed |
A paragraph of model prose |
Clause + verbatim quote + trigger span |
| Lawful disclosure |
Often still flagged |
Qualifier gate licenses the hit |
| Images |
One opaque vision call |
VLM packet into the same matcher |
| Human in the loop |
Chat thread |
ReviewLens decision is the record |
Get this live before the next flight.
No onboarding project. PolicyLens is the product — paste copy, get a cited hit. ReviewLens is where a person records the rest.