BACK TO DIRECTORY

AIM Transparency – AI Disclosure for EU AI Act

by itisnothuman

0.0
(0 ratings)

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.
  • Every image format WordPress accepts is written with nothing installed: JPEG, PNG, WebP, GIF, TIFF, AVIF and HEIC. No server tools, no command line, nothing to ask your host for. 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.
  • Badge Studio designs the badge without CSS: 12 shapes, your own colours, border, rounding and shadow, per-type wording, your own logo inside the badge, and an optional panel that opens when a visitor clicks it. All of it free.
  • 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 support@aimtransparency.com 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: support@aimtransparency.com.

Legal note

The EU AI Act (Regulation (EU) 2024/1689) has applied since 2 August 2026. Article 50 asks deployers 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 the deployer, not your AI vendor. The image duty is aimed at content that would pass as real people, places or events; whether yours is in scope, and how you word the disclosure, remain your decisions.

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.

Screenshots

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.

Both disclosures in one post: the badge on the AI image, and the line that says the text was written by AI.

Both disclosures in one post: the badge on the AI image, and the line that says the text was written by AI.

Your shop, covered: badges on the WooCommerce product grid, in the free plugin.

Your shop, covered: badges on the WooCommerce product grid, in the free plugin.

Overview: a readiness score, then findings sorted into what needs attention, what is already working and what is optional. Every finding carries the action that resolves it, and every change is dated with an Undo.

Overview: a readiness score, then findings sorted into what needs attention, what is already working and what is optional. Every finding carries the action that resolves it, and every change is dated with an Undo.

The same screen in the Neo theme.

The same screen in the Neo theme.

And in the Classic theme. Your choice is remembered and never changed by an update.

And in the Classic theme. Your choice is remembered and never changed by an update.

Media: every image in your library with its source type, searchable and set one row at a time.

Media: every image in your library with its source type, searchable and set one row at a time.

Badge: position, label style, the official EU icons or your own, with a live preview.

Badge: position, label style, the official EU icons or your own, with a live preview.

Metadata: every format the mark is written into on your server, how many files carry it, and whether it is still there when a visitor loads the image.

Metadata: every format the mark is written into on your server, how many files carry it, and whether it is still there when a visitor loads the image.

Shortcodes: build a disclosure for written content, with a live preview and a contrast check.

Shortcodes: build a disclosure for written content, with a live preview and a contrast check.

Readiness: the Article 4 AI-literacy checklist, nine steps you record and annotate, with how far through it you are.

Readiness: the Article 4 AI-literacy checklist, nine steps you record and annotate, with how far through it you are.

Posts: disclose AI-written text under Article 50(4). One question decides whether the duty reaches your site at all, then the wording, placement and look of the line your readers see.

Posts: disclose AI-written text under Article 50(4). One question decides whether the duty reaches your site at all, then the wording, placement and look of the line your readers see.

The Media viewer: one image at full size with its source type, the three places its disclosure lives, and the file's own facts.

The Media viewer: one image at full size with its source type, the three places its disclosure lives, and the file's own facts.

Plugin Details

Active Installs
70
Total Downloads
1,826
Version
2.2.2
Requires WP
6.0
Requires PHP
7.4
Tested Up To
7.1
Added
2026-07-14
Last Updated
2026-08-28 8:32am GMT

Ratings

5
0
4
0
3
0
2
0
1
0