AIM Transparency – AI Disclosure for EU AI Act
AIM Transparency – AI Disclosure for EU AI Act

AIM Transparency – AI Disclosure for EU AI Act

0/5 (0 ratings) 40 active installs Updated Aug 11, 2026
A real photograph and its AI counterpart, side by side. Only the AI one carries a badge.

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.

How it works

  1. Say how it was made. Pick a source type from the dropdown on the image in your Media Library: AI Generated, AI Modified, or one of the honest non-AI answers. One image at a time, or a hundred at once with the bulk action.
  2. Your visitors see a badge. A small “AI Generated” label appears on that image wherever it is shown, inside your own theme’s layout.
  3. The file carries the mark. The same answer is written into the image file as standard IPTC provenance, and onto the page as schema.org JSON-LD.

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.

AI-written text

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.

Key features

  • Flag images as AI Generated or AI Modified, one at a time or in bulk, with an “AI” column in the Media Library.
  • Or record that an image is not AI: Camera Photo, Human Created and Composite write the matching IPTC value, with no badge.
  • The badge renders on galleries, portfolio grids, masonry, featured images, content images, and block and FSE themes.
  • WooCommerce is covered: shop grids, the single-product gallery, cross-sells, and the image that swaps in when a buyer picks a variation.
  • JPEG and PNG are written with nothing installed. WebP, AVIF, GIF and TIFF use exiftool where your host has it. Every generated thumbnail is marked, not just the original.
  • 22 official EU languages, following your site language, with nothing to configure.
  • A chatbot notice for Article 50(1), which covers AI that talks to people rather than AI that makes pictures.
  • Detection finds what you have missed: it reads your unflagged images for AI provenance and names the AI tools running on your site, all on your own server.
  • A compliance record: export a CSV of every disclosed image, alongside an Article 4 AI-literacy checklist you fill in yourself.
  • Disclose AI-written text under Article 50(4), recorded per post in the block or classic editor, with the human-review exemption worked out rather than claimed.
  • Disclosure shortcodes for written content, where there is no image for a badge to sit on.
  • Three dashboard themes, including one that matches WordPress admin, so the plugin looks like part of your site.

Twenty-two languages

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.

Multilingual sites

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

Legal note

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.

Who it is for

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.

Shortcodes

  • [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 IPTC values it writes

The same vocabulary C2PA uses, so the marks stay readable as tooling matures.

  • AI-generated: http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia
  • AI-edited composite: http://cv.iptc.org/newscodes/digitalsourcetype/compositeWithTrainedAlgorithmicMedia
  • Algorithmic, not AI: http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicMedia
  • Camera photo: http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture
  • Human created: http://cv.iptc.org/newscodes/digitalsourcetype/digitalCreation
  • Composite of non-AI elements: http://cv.iptc.org/newscodes/digitalsourcetype/composite

Optional extras

An 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/ .

External services

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.

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

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