13 Years × BAT RomaniaAnti-Illicit Trade · The build
How it works

How we built
the crawler.

Illicit cigarettes — untaxed, smuggled, menthol, counterfeit — are increasingly sold and promoted online. Here is how we turn that noise into evidence, at machine scale, with human-grade judgment.

01

The problem

Sellers hide in plain sight: coded words (“bomboane” = candy = cigarettes), wrong categories (a Rothmans listing filed under “agricultural machinery parts”), and a jump to private chat to close the deal.

A human analyst can’t watch fourteen channels around the clock. And a plain keyword filter either misses the coded posts or drowns in false positives — a “TIGAR” tyre listing, a vintage pack for collectors.

02

The idea — a wide net, then an intelligence that decides

We built a two-stage engine.

  • The netA Romanian-language lexicon — a few hundred terms across eight families (brand, illicit vocabulary, foreign origin, bulk units, delivery, private-chat redirects…), with fuzzy matching for typos, leetspeak and slang. Deliberately over-inclusive: it would rather flag too much than miss a coded post.
  • The judgmentEvery flagged post is then read by Claude (Sonnet), which does what a keyword can’t: decode the slang, rule out the false friends (tyres, vape, collectibles), read the intent (is this a sale?), and keep only genuine offers. This is what turns recall into precision.
03

From a hit to a case

A confirmed hit doesn’t stay an isolated line. Four layers turn it into intelligence:

  • Seller graphThe same phone number, handle, outbound link or photo across several listings collapses into one seller — exposing recurrence and cross-platform activity.
  • Pack authenticationA vision check on the photos for the tells of illicit product: missing or foreign tax stamp, Cyrillic text, non-compliant warning, banned menthol.
  • Chain of evidenceA timestamped screenshot, a SHA-256 hash and a custody log — so each case is admissible when handed to BAT Legal or the authorities.
  • Risk scoringA weighted 0–100 score mapped to Low / Medium / High / Urgent, with hard triggers (counterfeit, youth-access, large-scale distribution) that force the top levels.
04

Compliant by design

The continuous crawl honors robots.txt; a confirmed listing is then captured as targeted, permissible evidence for the rights-holder. Observation is passive — we read public posts and join groups as an ordinary member, but we never engage a seller, never buy, never solicit. Sellers are pseudonymised in reports; raw identifiers live only in the secured evidence log.

05

What it runs as

An automated pipeline scanning several times a day, producing a weekly monitoring report, an Excel evidence log, and < 24h alerts for the critical cases — with a monthly insight deck on top.

It gets sharper over time: any real listing a human spots that the engine missed is fed back as a new example, tightening both the lexicon and the AI’s judgment.

We don’t guess the black market.
We document it — at machine scale, with human-grade judgment, in a form BAT can act on.