AI transparency
Article 50 of the EU AI Act has applied since 2 August 2026, so it is in force now: anyone running AI systems that talk to people or generate content has to say so, clearly and at first contact. This page lists where this site uses AI, what each system does, what data it touches and where the disclosure lives. Not in the abstract: every entry links to the place on the site where you can check it, and the obligation links to the Commission’s own text rather than to our word for it. Read Article 50 on the Commission’s own site →
Where this site uses AI
The terminal (ask command)
You ask a question about the magazine and get an answer generated by Claude (Anthropic), grounded only in the published issues and always accompanied by source citations.
The question you type is turned into a vector by Voyage AI, matched against the published content on Supabase and passed to Claude for the answer. This site does not store it; observability (Langfuse, EU) receives numbers only (tokens, timings, outcomes), never the texts. The form is protected by Turnstile and a per-IP rate limit.
Every answer carries the notice "AI-generated from the magazine issues, with citations (EU AI Act art. 50)" in its payload, visible in the terminal.
Open the terminal →The monthly magazine
One real case of applied AI per month. A pipeline writes the draft (sourcing from primary sources, source verification, drafting with Claude), but no issue ships without human review and approval: the block lives in the database, not in a policy document.
Public pages only as sources; no personal data. The pipeline runs server-side, not in your browser.
Every issue carries the label "AI-generated, human-reviewed" on its page. Editorial responsibility rests with Marco Bellingeri. The Article 50 labelling duty covers text published to inform the public on matters of public interest, and it does not apply where there is genuine human editorial review. There is: the publication gate lives in the database, not in a good intention. The label stays anyway, because a reader deserves to know regardless of what the law requires.
Go to the magazine →The magazine judge (LLM-as-a-judge)
Before an issue reaches human eyes, Claude reads it and scores it against five criteria, following a rubric written up front and applied the same way to every issue. It publishes nothing and rejects nothing on its own: it comes before human review, not instead of it.
It reads only the text of the issue being worked on, in Italian and English, already meant for publication. No personal data, no visitor data. It runs server-side with the rest of the pipeline, not in your browser.
The score and the reasoning stay public on the issue’s change request. If someone tries to hide instructions for the model inside the case text, that issue gets the lowest score: here too, model output is treated as untrusted input.
See the judge in the repo →The visibility monitor
An internal script that measures how the site shows up in search engines and AI assistants’ answers (Google Search Console, Perplexity, and ChatGPT through the OpenAI API). It produces a private report: it generates no public content and makes no decisions.
No visitor data: it queries external services about the site itself.
Nothing required by art. 50: it does not interact with people and publishes nothing. Listed here for completeness.
The Radar uses no AI (and that is worth saying)
The globe of bulletins looks like the most likely place to find a model, and it has none. It fetches the public advisories from security agencies, cleans them up and puts them on the map: what you read is the headline the agency wrote, with a link to its own bulletin. No model summarises it and none rewrites it. On a site about AI security, saying where the AI is not is worth as much as saying where it is. Open the Radar →
How the site is built
The site is developed in pair programming with Claude Code: the code comes out of a human-AI collaboration, with human review on every change and automated test and security gates before anything reaches production. The colophon at the bottom of the page has said so from day one.
Where there is no AI
The contact form, the booking flow and everything else on the site are ordinary code: no automated decisions about visitors, no profiling, no content generated on the fly. What happens to the data you send is covered by the privacy policy. Privacy policy.
Questions
If something here does not add up, or you want to know more about how any of these systems is built: mkdevpy@proton.me.
Last updated: 2026-08-12