What it is
a duty most sites do not know they haveThe obligation is short and it has no size threshold: anyone running a chatbot has to tell people they are talking to a machine. It applies to a bank and to a dentist in Gràcia equally, and it has been enforceable since August 2026.
iaok is the free way to find out where a page stands. You give it a URL and it opens that one page, with a real browser, and answers three questions: is there a chat here, does it say that it is a machine, and would a person actually see that notice. The verdict comes with the finding behind it, the article it comes from, and a report you can download.
It is a diagnostic, not legal advice, and the tool says so on the page. It
reads only the URL you give it, honours robots.txt, and caps
itself at five scans an hour.
How it is built
the rules are data, not codeA regulation changes on a different clock than software does, so the rules do not live in the code. They live in a rule pack: a versioned document, one per jurisdiction, that says which findings add up to which verdict. Adding a second country means writing a second pack, not rewriting the engine.
Underneath it is hexagonal and test-first. The domain has no external dependencies at all, which is what lets the detectors be tested against fixtures instead of against the live internet. Six of them exist today; the one that reads C2PA provenance out of images is written but deliberately not wired to any pack, because the obligation it prepares for is not enforceable until December 2026.
The part that touches the real web is kept away from the request. A Playwright renderer runs in a worker on Fly.io, fed by a queue in Postgres, so a slow or hostile page cannot hold up the site. The fingerprints were not taken on faith: a hand-checked sample of fifty Spanish sites put widget detection at 98%, and the one miss became a fix.
- Next.js
- Playwright
- PostgreSQL · Supabase
- Fly.io
- Vercel
- Sentry
- Role
- Founder, on my own
- Stage
- Live · free to use
- Started
- August 2026
- Shape
- Hexagonal · TDD · rule packs
Run it on your own site
It takes a URL and about a minute, and it costs nothing. If it comes back red, the fix is usually one line of copy next to the chat widget — and if you would rather someone else looked at it, write to me.