

A real photograph and its AI counterpart, side by side. Only the AI one carries a badge.
AIM Transparency labels the AI on your WordPress site so visitors can see it: images made by a machine, a chatbot that answers them, and written content produced with AI.
It also finds what you have missed. It reads your library for images that already arrived carrying AI provenance, and it names the AI tools running on your site.
It is free, it works with any theme, and nothing about your site or your visitors leaves your server.
Steps 2 and 3 are why there are two layers. The badge is what a person notices. The mark inside the file is what stays with the image after someone downloads or re-hosts it, and it is what search engines and detection tools read. A page-only label disappears the moment the file is saved.
Article 50(4) covers text rather than pictures, and only where that text is published to inform the public on matters of public interest: news, journalism, public affairs, health or safety guidance. A shop, a portfolio or a personal blog is not that, and the duty never reaches them at all.
So the plugin asks that question once, in Settings. Answer no and it stops asking. Answer yes and every post gets a control in the editor, in both the block and classic editors, recording whether the text was AI Generated, AI Modified, or marked simply as AI — and a short line appears for readers.
The exemption is worked out, not claimed. Where a person reviewed the text and someone is named as holding editorial responsibility, nothing is owed, and both facts are recorded with the date. Review on its own is half the test, so a post with nobody named still discloses and says why.
Text and images are judged separately, because the law judges them separately. Human review of an article does not exempt an AI-generated image inside it, and the badge stays.
exiftool where your host has it. Every generated thumbnail is marked, not just the original.A disclosure only informs someone if it is in a language they read. A German visitor sees KI-generiert, a Polish one Wygenerowane przez AI.
The badge, the disclosure wording, the chatbot notice and the whole admin dashboard are translated into 22 of the EU’s 24 official languages. Where a string carries a legal term, the wording follows that language’s own official text of Regulation (EU) 2024/1689 rather than a translation of the English. Irish and Maltese are the two official EU languages WordPress itself does not ship.
The translations were produced with AI assistance. Every visitor-facing string has been reviewed against the Regulation’s own language versions, but not by a native speaker of every language, so the dashboard says so in any language other than English and asks you to report anything that reads wrong. Corrections go to [email protected] and are welcome.
Tested with Polylang. The badge, the disclosure wording and the chatbot notice follow the language the visitor is reading. A disclosure set on an image is also carried to that image’s translated copies, so the badge does not vanish on a translated page when media translation is switched on — that is the failure this was tested for, and fixed.
The plugin ships a wpml-config.xml, which Polylang and WPML both read: it marks the source-type fields to be copied to translations, and exposes any badge or notice wording you have typed yourself for string translation. Leave that wording empty and the built-in text is used, already translated into 22 languages.
WPML is not tested yet. The integration uses WPML’s own documented API and configuration file, so it is built for it, but we have not run it against a real WPML install and will not claim it works until we have. Using WPML? Tell us how it goes: [email protected].
The EU AI Act (Regulation (EU) 2024/1689) has applied since 2 August 2026. Article 50 asks anyone publishing AI-generated or AI-manipulated content to disclose it clearly, in a way a person can notice. If your site displays AI images, you are a deployer and the duty is yours.
This plugin is tooling for that duty. It is not legal advice. Whether your content is in scope, what counts as a deepfake, and how you word your disclosure remain your decisions. If the answer matters to your business, consult a legal professional.
Anyone publishing AI-generated or AI-edited visuals to an EU audience: blogs, news and magazine sites, agencies building client sites, shops using AI product photography, and portfolios. A small site is not exempt on size alone, and the Act reaches sites outside the EU whose content is seen by people in it.
[aicl_disclosure] takes type (ai-generated, ai-edited, ai-assisted, chatbot) and style (inline, badge, banner), with an optional text override.[aicl_ai_notice] is the chatbot notice.[aicl_text_disclosure] places the Article 50(4) line by hand on a post you have marked, instead of letting it sit above or below automatically. It prints nothing on a post you have not marked, or on one the exemption covers.The same vocabulary C2PA uses, so the marks stay readable as tooling matures.
http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMediahttp://cv.iptc.org/newscodes/digitalsourcetype/compositeWithTrainedAlgorithmicMediahttp://cv.iptc.org/newscodes/digitalsourcetype/algorithmicMediahttp://cv.iptc.org/newscodes/digitalsourcetype/digitalCapturehttp://cv.iptc.org/newscodes/digitalsourcetype/digitalCreationhttp://cv.iptc.org/newscodes/digitalsourcetype/compositeAn opt-in directory at directory.aimtransparency.com lets you list your site publicly as one that discloses AI. It is off by default, nothing is shared without your explicit consent, and you can remove the listing whenever you like. See “External services” below.
A free site checker at https://aimtransparency.com/checker reads any URL’s public code and lists the chatbots and generators it finds, grouped by the article that applies. No signup.
Built by itisnothuman, a small independent studio: https://itisnothuman.com . Docs at https://aimtransparency.com , guides at https://aimtransparency.com/guides/ .
This plugin can connect to the AIM Transparency service at directory.aimtransparency.com, operated by the plugin’s developer. Every connection is optional and user-initiated: nothing is sent on install, on activation, or during normal use.
AI Transparency Directory (opt-in, off by default). If you opt in from the dashboard, the plugin sends your site URL, site name, plugin and WordPress versions, the number of images you have labeled, an optional contact email, your consent version/time, and a one-time verification token to https://directory.aimtransparency.com/api/register, so your site can be listed publicly as one that discloses AI content. The service then makes a single request back to a token endpoint on your site to verify you control it. You can remove your listing at any time, which deletes the stored data.
Pro waitlist (sent only when you submit the form). If you enter your email in the optional “notify me about Pro” form, that email is sent to https://directory.aimtransparency.com/api/waitlist so the developer can email you about the Pro add-on, and is stored only for that purpose.
The plugin makes no other external requests. The iptc.org, schema.org, ns.adobe.com and w3.org URLs in the code are standard metadata vocabulary identifiers written into your files and pages; they are not network requests.
Privacy policy: https://aimtransparency.com/privacy
The admin dashboard is a React app; its complete readable source ships alongside the compiled bundle in dashboard/src/, with build steps in docs/BUILD.md. Everything else is hand-written PHP and JavaScript. Bundled third-party work and its licences are listed in docs/BUILD.md as well.