Documentation

Everything AIM Transparency does, and how each piece works — from flagging an image to the metadata that travels inside the file.

Introduction

AIM Transparency labels AI-generated images on your WordPress site and applies three layers of disclosure, so both people and machines can tell the content was made or altered by AI:

  • A visible badge — the official EU AI-content label (or your own), shown on the front end.
  • Embedded metadata — the IPTC DigitalSourceType written into the file itself.
  • schema.org JSON-LD — structured data on the page for crawlers and provenance tools.

It works on any theme, adds nothing to your front-end markup until an image is flagged, and never phones home. The core is free; Pro adds automatic flagging on upload, Badge Studio and more.

The official EU AI-generated badge shown on a gallery image
The official EU “AI Generated” label rendered on a flagged gallery image.

Installation

  1. Upload the plugin ZIP under Plugins > Add New > Upload Plugin, or install from the WordPress.org directory.
  2. Activate it. A new top-level Transparency menu appears in wp-admin.
  3. Open the dashboard — the official EU badge and metadata embedding are on by default. You’re ready to flag images.
No configuration is required to be useful out of the box. Everything below is optional fine-tuning.
AIM Transparency dashboard overview with live compliance stats
The dashboard — live coverage stats, formats embedded, and recent activity.

Flagging images

Flagging is how you tell the plugin an image is AI. You can do it from the Media Library in three ways, and each image is tagged with one of the IPTC source types:

  • AI Generated — fully created by generative AI (trainedAlgorithmicMedia); shows the EU AI Generated label.
  • AI Modified — a real image edited by AI (compositeWithTrainedAlgorithmicMedia); shows the EU AI Modified label.
  • AI (basic) — AI was involved but you don’t need to specify; shows the compact EU AI mark and embeds the generic AI-generated value.
  • Algorithmic / procedural — non-AI, computer-generated art such as fractals (algorithmicMedia); recorded in metadata, but not badged as AI.

From the Media Library

  • Single image — open any attachment and pick its type from the AI source dropdown.
  • In bulk — select images in list view and use the Flag as AI… bulk action.
  • At a glance — the AI column shows each image’s current flag.

From the dashboard

The Media tab tags your whole library without leaving the dashboard — search, filter by All / AI / Unset, and set each image’s type inline.

The dashboard Media tab: search, filter and tag images inline
The dashboard Media tab — search, filter and tag your library inline. Here the three AI portraits read “AI Generated” and the three photographs “Not AI / human”.

From the post editor

A Featured image control (classic and block editor) lets you flag the featured image without leaving the post.

Automatic flagging — Pro

With AIM Transparency Pro, you don’t have to flag AI images by hand. When an image is uploaded, the plugin reads the provenance baked into the file and flags it for you — no pixel guessing, no external service, no false positives.

How it works

On upload, Pro scans the file for a declared IPTC / C2PA DigitalSourceType — the standard provenance field that tools like ChatGPT / DALL·E, Adobe Firefly and other C2PA-aware generators embed. If it finds one, the matching flag is applied automatically and the badge, metadata and JSON-LD follow. Images that carry no provenance (camera photos, or AI images that were screenshotted or had their metadata stripped) are left untouched — by design, so you never get a false “AI” label.

Provenance reader, not an AI-detector. A declared DigitalSourceType is authoritative and applied automatically. A bare generator name found in metadata is forgeable, so it’s recorded as a suggestion for your review — never published on its own.

The Overview shows automatic flagging as Active and lists what was caught. You can turn it off in Settings → Automation.

The dashboard Overview showing automatic flagging active and recently flagged AI images
Overview — coverage stats, recently flagged images, and “Automatic flagging: Active”. These three were auto-flagged on upload from their embedded Content Credentials.

Visible badge — Layer 1

The badge is the human-visible disclosure a deployer owes under Article 50(4). By default AIM Transparency renders the official EU labels — the free, user-tested icons from the European Commission’s Code of Practice — matched automatically to each image’s source type:

AIGenerated AIModified

The badge is injected next to the image on the front end across galleries, portfolio grids, masonry, featured images and content images — including block/FSE themes. You can set its corner position, or switch to a fully custom badge in Badge Studio (below).

The EU icons are free to use with no attribution required. Using them does not by itself establish legal compliance — see the disclaimer on the home page.

The three official icons — when to use which

The Commission publishes three icons, each in four variations (black, white, and 50%-transparent versions of both) as SVG and PNG. When each applies:

IconWhen to useExample
AI Basic — AI was involved in creating deep-fake content (image, audio, video) or published text, or when you pair it with your own text label / an interactive second layer. A deep-fake video captioned “voices generated with”, followed by the basic icon.
AIGenerated Fully AI-Generated — the entire content is AI-generated, with no human-created elements or editorial control (beyond prompting). Fully AI-generated videos of fictional events; AI-composed music or art; AI-generated news summaries.
AIModified Partially AI-Modified — pre-existing human-made content partially modified with AI (turning it into a deep fake, or text on matters of public interest). A real photograph with an AI face-swap; an authentic empty room AI-furnished.
User-tested: the Commission reports recognition improved across all measures when the basic icon was paired with a text label (e.g. “modified”) — which is why AIM Transparency defaults to the full AI Generated / AI Modified labels, with the compact basic mark available as an option.

Using the EU icons is optional, but the Article 50 labelling obligation is not. The icons do not establish compliance by themselves — deployers remain responsible for meeting Article 50. Source: European Commission — EU icons for labelling AI-generated content.

Badge Studio

Switch Label style to Custom to design your own badge with a live preview. Free gives you your own text, colors and corner position; Pro unlocks the full studio:

  • 12 shapes — pill, soft, square, sharp, banner, tag, ribbon, corner, glass, ticket, underline and double.
  • Border, radius & shadow — tune the outline, corner rounding (None / Soft / Round) and depth, all with a real-time preview.
  • Custom background & text colors.
  • Per-type labels & visibility — rename the label for each source type, or hide the visible badge for a type while still embedding its metadata.
Badge Studio in Custom mode with the shape picker and controls
Badge Studio (Custom mode) — the 12-shape picker, custom colors, border / radius / shadow controls and per-type labels, with a live preview.

Click-to-disclose modal — Pro

Turn the badge into a clickable disclosure: visitors click it to open an accessible modal explaining the image is AI content. The title and body are editable, and the body accepts basic HTML (links, bold, lists) — so you can link straight to your AI policy. Leave it blank to use smart per-type text.

Embedded metadata — Layer 2

When you flag an image, AIM Transparency writes the IPTC “Digital Source Type” into the file’s XMP packet — the property Iptc4xmpExt:DigitalSourceType, set to the canonical IPTC vocabulary URI. The mark is written into the original and every generated size, so it survives resizing, download and re-sharing. It’s the same value search engines read to label AI images.

This is what gets embedded for an AI-generated image:

<!-- inside the file's XMP packet -->
<rdf:Description rdf:about=""
  xmlns:Iptc4xmpExt="http://iptc.org/std/Iptc4xmpExt/2008-02-29/">
  <Iptc4xmpExt:DigitalSourceType>
    http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia
  </Iptc4xmpExt:DigitalSourceType>
</rdf:Description>

How it’s written

  • If exiftool is available on your host, it’s used for JPEG, PNG, WebP, GIF and TIFF.
  • If not, a built-in pure-PHP writer handles JPEG and PNG — no server tools needed.
  • Writes stay inside your uploads folder and are idempotent (re-running doesn’t duplicate anything).

The Metadata screen shows your host’s current capability and which formats can be embedded.

The Metadata screen showing the embedding engine, compliance report and library tools
The Metadata screen — embedding-engine status, the compliance report export, and Pro library tools.
Prefer not to alter files? Turn embedding off in Settings and use the visible badge + JSON-LD only.

schema.org JSON-LD — Layer 3

On any page that displays a flagged image, AIM Transparency outputs a schema.org ImageObject inside a <script type="application/ld+json"> tag in the footer. It carries the same IPTC source-type value as a machine-readable PropertyValue, which crawlers and provenance tooling can read without opening the file:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "ImageObject",
      "contentUrl": "https://example.com/.../sunrise.jpg",
      "creditText": "AI-generated",
      "additionalProperty": {
        "@type": "PropertyValue",
        "propertyID": "IPTC:DigitalSourceType",
        "value": "http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia"
      }
    }
  ]
}
</script>

One ImageObject is emitted per flagged image seen on the page. Toggle it off in Settings if you only want the badge and embedded metadata.

Compliance report

From the Metadata screen you can export an audit trail of every disclosed image — its file, source type, disclosure label, embedded status and IPTC URI — to keep on record for Article 50.

  • CSV — free. A spreadsheet-ready inventory of every labeled image.
  • Pro formats — JSON, Markdown, TXT, and a print-ready PDF report (opens a formatted page; use your browser’s Save as PDF).

Strip-guard scan — Pro

Image optimizers and CDNs sometimes strip metadata out of files after the fact. The Pro strip-guard scanner checks your flagged images and re-embeds the disclosure into any whose mark was removed — on a daily schedule, or on demand with Scan now.

Pro features

The free plugin covers the full disclosure stack — manual flagging, the official EU badge, IPTC/XMP embedding for JPEG & PNG, JSON-LD, and a CSV compliance export. AIM Transparency Pro is an optional add-on that automates and extends it:

  • Automatic flagging — detect AI images on upload from their embedded C2PA / IPTC provenance.
  • Badge Studio — 12 shapes, border / radius / shadow, custom logo, per-type labels and the click-to-disclose modal.
  • More formats — WebP, AVIF, GIF and TIFF embedding (via exiftool).
  • Library scanner — a strip-guard cron that re-embeds disclosures an optimizer removed.
  • Compliance report — print-ready PDF plus JSON, Markdown and TXT exports.
  • WooCommerce — badges on product images.

Activate Pro with your license key on the Upgrade screen; it unlocks the gated features instantly across the dashboard.

The Upgrade screen with pricing tiers and license activation
The Upgrade screen — plans and license activation.

Settings & theme coverage

The plugin hooks WordPress’s own image and template filters — including render_block for block/FSE themes — so any theme using standard functions is covered automatically. For themes that hand-write <img> tags (bypassing core functions), enable Universal badge coverage in Settings, which badges any image whose file matches a flagged attachment. It only displays badges — it never detects or tags images (that’s the Pro auto-detection).

From Settings you can toggle each layer independently — the visible badge, file embedding, and JSON-LD — and, with Pro, switch automatic flagging on or off under Automation.

The Settings screen with the machine-readable layer and theme coverage toggles
Settings — the machine-readable layer and theme-coverage options.

AIM Transparency Directory

Optional and off by default. If you opt in, your site can be listed publicly as one that discloses AI content. Nothing is shared without your explicit consent — you choose to submit your site name and address, the number of images you’ve labeled, and your plugin/WordPress version. You can remove your listing at any time from the dashboard.

The Directory tab in the dashboard with the consent-first opt-in
The Directory tab — a consent-first opt-in that lists your site only after a token handshake verifies it.

Why list your site?

  • Verified, not just claimed. The directory confirms your site is actually running the disclosure (a token handshake) before it lists you — so it carries more weight than a self-claim. Link to your listing as proof you label AI content.
  • Early-adopter credibility. Be publicly on record disclosing AI content ahead of the 2 August 2026 deadline — useful positioning for agencies and brands.
  • A backlink to your site.

Honestly: the directory's value grows as more sites join (a network effect), so early on this is as much about backing transparency as immediate return.

The directory is self-attested — a listing is not a certification or endorsement of compliance.

FAQ

Does the badge alone make me compliant?

The visible badge addresses the deployer’s human-visible disclosure under Article 50(4); the embedded metadata covers machine-readability. The plugin gives you both. It is tooling, not legal advice — whether your content is in scope (e.g. what counts as a “deep fake”) remains your responsibility.

Will it modify my images?

When embedding is on, it writes the IPTC/XMP mark into flagged image files and their resized copies. It is idempotent, and you can turn it off to use the badge + JSON-LD only.

My host has no exiftool.

JPEG and PNG are still embedded by the built-in PHP writer. WebP, AVIF, GIF and TIFF embedding require exiftool; the Metadata screen shows your current capability.

Can I use my own badge instead of the EU one?

Yes — switch Label style to Custom on the Badge screen to set your own text, colors and position. Pro’s Badge Studio adds 12 shapes, border / radius / shadow, per-type labels and a click-to-disclose modal.

Does it detect AI images automatically?

With Pro, yes — on upload it reads any embedded C2PA / IPTC provenance and flags the image for you. It’s a provenance reader, not a pixel-based detector: images that carry no embedded marker are left untouched, so you never get a false “AI” label. The free plugin flags images manually.

Can I export a record of what I’ve labeled?

Yes. A CSV compliance export — an audit trail of every disclosed image — is free from the Metadata screen. Pro adds JSON, Markdown, TXT and a print-ready PDF report.

What’s free and what needs Pro?

Free: manual flagging, the official EU badge, custom text/color badge, IPTC/XMP embedding for JPEG & PNG, JSON-LD, and CSV export. Pro: automatic flagging, Badge Studio, WebP/AVIF/GIF/TIFF, the library strip-guard scanner, the formatted report formats, and WooCommerce.