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.

Check a creative → Human review queue See how it works

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.

  1. Ingest — text as-is; images become a structured VLM packet (claims, OCR, objects).
  2. Trigger — a pack pattern must match: “clinically proven,” “2× gentler,” “biodegradable.”
  3. Gate — a nearby disclosure can license the hit. Absolute packs (e.g. disease cures) never clear.
  4. 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.