ferlogs
Projects

iaok

Founder Live

Article 50 of the EU AI Act has been enforceable since August 2026: if a person is talking to a machine, the site has to say so, clearly and by the first interaction. iaok checks whether a given page actually does: it renders the page the way a browser would, looks for a chat widget, looks for the notice, and reports what it found.

What it is

a duty most sites do not know they have

The 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.

iaok home page: a field to enter the address of a page to analyse, under the heading asking whether your site warns that you are talking to an AI
One field, one question, and the disclaimer in plain sight rather than buried.

How it is built

the rules are data, not code

A 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.

Scan a page on iaok.es (opens in a new tab)

Keep looking around