ai
marketar — the claim gate
A marketing generator that cannot publish a claim it cannot resolve — built after our own system produced four different percentages for the same claim.

01
Problem
On 1 August 2026 our own advertising generator was producing proof-points nobody had measured — 42%, 63%, 40% and 34% for the same claim, alongside a reference to a customer that does not exist. The instruction not to invent figures had been in the prompt from the first version. That is the category error: a prompt is a request, not a control. The failure is also silent — no error, no low-confidence flag, just a well-formed advertisement whose only safeguard is a human happening to recognise the number as fictional.
02
Solution
Three parts making deliberately opposite trade-offs, none of them a better prompt. A structured record of permitted claims, where a claim that is not in the record is not available to the generator at all — and where the list of permitted metrics is currently empty, because there is nothing measured to permit. A deterministic check with no model in it — a regular expression and a substring comparison — that catches three shapes (a figure, a quantity in words, an implied customer) and runs before the image is generated, so a creative carrying an unverified number is never built rather than rejected afterwards. And a vision check over the image, which is a model, because pixels have no list to be compared against: its mandate is bounded to rejection only, publication still requires a named human decision, and when it cannot answer nothing ships.
Tech stack
- Python
- FastAPI
- PostgreSQL
- Vision model gate
- Structured fact store
- Docker
03
Outcome
The architecture makes an unresolvable claim unpublishable rather than discouraged, and it fails closed: when the gate cannot run, nothing ships, because a check that fails open disappears exactly when the infrastructure is having a bad day. The cost is stated rather than hidden — a meaningful share of generated creatives never ships, the fact store has to be built and kept read, and none of this makes the copy good; it is a floor, not a standard. Designed for teams whose generated text will be read as a statement of fact, where the dangerous output is the plausible one.
Have a project in mind?
Tell us what you want to build. We respond within one business day.
Built by an EU-incorporated senior team — 20+ years in enterprise delivery.