| 开发者 | itsnothuman |
|---|---|
| 更新时间 | 2026年8月28日 12:56 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
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.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/compositedirectory.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/ .
/wp-content/plugins/, or install it from the Plugins screen in wp-admin.Yes, everything in this plugin is fully functional, nothing is locked. Flagging, the visible badge with all its styles and shapes (including the click-to-disclose modal and a custom logo), the in-dashboard media library, IPTC/XMP embedding for every supported format, JSON-LD, the AI-assistant notice, the AI-on-your-site detection card, and the CSV compliance export are all free. A separate, optional AIM Transparency Pro add-on (sold on our site, not hosted here) adds its own features on top: automatic flagging on upload, a library scanner (strip-guard plus retroactive discovery of provenance your files already declare), additional report export formats (a print-ready report you can save as PDF, plus JSON, Markdown & TXT), and a WooCommerce gallery cover for themes that replace WooCommerce's own gallery template.
The visible badge addresses the deployer's human-visible disclosure (Art. 50(4)); the embedded metadata addresses machine-readability. Both are on by default.
Yes, and without writing any CSS. Badge Studio is on the plugin's Badge screen. Choose the official EU icons, the built-in AIM label, or Custom, which gives you twelve shapes, your own colours, border, rounding and shadow, the wording for each source type, your own logo inside the badge, and an optional panel that opens when a visitor clicks it. If you need something the studio cannot make, every part of the badge has a stable class name and the plugin publishes its design as CSS custom properties. There is a guide for that, including the specificity trap that makes correct-looking CSS do nothing: https://aimtransparency.com/guides/style-the-ai-badge-with-css
It hooks WordPress's own image and template filters, including render_block for block/FSE themes, so any theme using standard functions is covered. For themes that hardcode <img> tags, enable Universal badge coverage in Settings.
When file embedding is on, it writes XMP into flagged image files (and every generated size). It is idempotent. Turn it off to use the visible badge + JSON-LD only.
It does not need one. Every format the plugin supports, including WebP, AVIF and the HEIC photos an iPhone produces, is written by the built-in PHP writer. Since 2.2.1 exiftool is not used at all, even where a host has it, because only the built-in writer performs the safety checks that leave an iPhone photo or an awkward HEIC alone. The Metadata screen shows your current capability.
Disclosure is not only for images. [aicl_disclosure] places a labelled notice anywhere shortcodes run, so you can disclose AI-assisted writing, a generated hero image, or a chat widget in your own words and in the exact spot you choose. Pick a type (ai-generated, ai-edited, ai-assisted, chatbot) and a style (inline, badge, banner). [aicl_ai_notice] is the dedicated chatbot notice.
Yes. The Detection card matches your site against a registry of 672 AI systems and separates them by duty: chatbots and assistants fall under Article 50(1), which asks you to tell visitors they are talking to an AI, while image and content generators fall under 50(2), which asks you to label the output. It reports which tools are present, not that any specific image or message is AI.
No. It reads your active plugin list and fetches your own front page over a local loopback request, both on your server. Nothing is sent to any third party, and the result is cached so it does not run on every page load.
Tell us and we will fix it: support@aimtransparency.com. The translations were made with AI assistance and every visitor-facing string was checked against the EU AI Act's own language versions, but not by a native speaker of all 22. A correction from someone who actually speaks the language is the most useful thing you can send us.
Yes. The free checker at https://aimtransparency.com/checker scans any URL you paste and lists the AI systems it finds. It reads public page code only, never your files.
getmypid(). Kinsta and some other managed hosts make that function unavailable, and 2.1.5 began calling it to build a unique temporary filename. On those hosts every attempt to write the mark into a file ended in "Call to undefined function getmypid()", so marking failed outright, including from the Media Library bulk action. The temporary name no longer depends on it, and uniqueness now rests on the random component, which is widened when there is no process id to pair it with. Reported by @comankey.