OMS Labels AI Transparency

Plugin Banner

OMS Labels AI Transparency

by stewn

Download
Description

OMS Labels AI Transparency helps publishers visibly label AI-generated or AI-modified content and document editorial decisions inside WordPress.

This plugin is a documentation and labelling tool, not legal advice. It does not guarantee compliance with the EU AI Act or any other law. Classification and publication decisions remain the publisher’s responsibility.

Privacy first: no CDN, remote fonts, analytics, licence server, cookies or third-party API calls. Icons, scripts and styles are stored locally. The media scan reads files on your own server only.

The plugin uses English source strings. Community translations are provided through translate.wordpress.org and are installed by WordPress for the site language.

Media labelling

  • Visible notices for images, audio and video.
  • Local icons for AI, AI GENERATED and AI MODIFIED.
  • Responsive bar or compact badge with configurable colours, spacing, opacity and size.
  • Selection by media status, CSS classes, a custom selector or defined content areas.
  • Support for Gutenberg, featured images, Elementor, lazy loading and common WooCommerce views.
  • Exclusions for individual media or whole areas with .kit-ai-skip.
  • Explicit media classifications always take precedence.

Media review

  • Five states: not reviewed, reviewed without AI, fully AI-generated, partly AI-modified and general AI notice.
  • Reviewer and review date per media item.
  • Media library filters, columns and a dedicated review screen.
  • Local scan for IPTC/XMP hints, possible C2PA data and known generator signatures.
  • Scan results are suggestions only; nothing is classified automatically unless the site owner explicitly enables that option.

Permanently labelled image copies

  • Originals remain untouched.
  • Separate JPEG, PNG, WebP and, when supported, AVIF copies.
  • Generated files are stored in uploads/oms-labels-ai-transparency/ and registered as normal WordPress attachments.
  • Existing generated copies are migrated to that directory when renewed while retaining their attachment ID.
  • Configurable icon position, size, margin and contrast.
  • Permanent copies require the local EU icon; when it is disabled, browser text labels remain active and no copy is generated.
  • Atomic replacement with recovery if processing fails.
  • Signature-based detection of missing, damaged or outdated copies.
  • AJAX batch processing and optional delivery of the current labelled copy.
  • Optional IPTC/XMP provenance metadata. WebP metadata requires Imagick; the GD fallback creates the visible label only.

Editorial workflow

  • Document text status, AI systems, public interest, fact checking and editorial responsibility.
  • Reviewer, review date, sources and internal notes.
  • Approve one specific post revision through a content hash.
  • Warning when the approved revision changes.
  • Approval and change log with up to 50 entries.
  • Quick Edit, Bulk Edit, custom post types and a central AI content overview.
  • Optional notice below posts and in RSS feeds.
  • CSV exports protected against spreadsheet formula injection.

Accessibility and operation

  • Conditional settings instead of permanently visible advanced options.
  • Live previews for article, search and thumbnail contexts.
  • Contrast warning below 4.5:1.
  • Site Health checks for icons and image copies.
  • Admin notices are limited to relevant screens and can be dismissed.
  • Optional complete data removal on uninstall; review records are kept by default.

CSS classes

  • .kit-ai-full – fully AI-generated
  • .kit-ai-partial – partly modified with AI
  • .kit-ai-generic – general AI notice
  • .kit-ai-skip – never label this item or area

Shortcode

[kit_ai_transparency_notice]

Optional example:

[kit_ai_transparency_notice style="minimal" text="Your own transparency notice"]<h3>External foundations</h3>

European Commission – EU icons for labelling AI-generated content:
https://digital-strategy.ec.europa.eu/en/policies/eu-icons-labelling-ai-generated-content

European Commission – Code of Practice on Transparency of AI-Generated Content:
https://digital-strategy.ec.europa.eu/en/policies/code-practice-ai-generated-content

IHK Koeln – Transparency obligations under the AI Act (German):
https://www.ihk.de/koeln/hauptnavigation/digitalisierung-und-innovation/digitalisierung/transparenzpflichten-nach-der-ki-verordnung-7100068

Icon licensing notes are stored in assets/icons/LICENSE.txt. Notes for the plugin artwork are stored in assets/license-notes.txt.

  1. Install and activate the plugin.
  2. Open Settings > AI Transparency.
  3. Choose the selection mode and appearance.
  4. Classify media in the media library.
  5. Generate image copies under Media > AI Media Review when needed.
  6. Classify and approve posts in the editor or post list.
  7. Clear page, optimisation and CDN caches after design changes.
Does the plugin make a website legally compliant?

No. It supports labelling, documentation and editorial workflows. It is not legal advice and does not decide whether a legal disclosure obligation applies.

Are media files classified automatically?

Not by default. The local scan can detect provenance hints and known generator signatures, but these are review suggestions. The editor remains responsible for classification.

Are original images modified?

No. Browser overlays do not alter files. Permanently labelled images are separate WordPress attachments stored in the plugin-specific uploads directory.

What happens after changing the copy design?

The copy signature marks existing copies as outdated. They can be renewed in bulk while retaining their attachment IDs.

Does the plugin verify C2PA cryptographically?

No. It can detect possible C2PA data and read IPTC/XMP hints, but full cryptographic C2PA validation is not included.

Are the local EU icons mandatory?

No. The European Commission describes the icons as voluntary. An icon does not itself establish legal compliance.

3.6.23

  • The plugin no longer deactivates any other plugin. If an older package of this plugin is still active, a dismissible notice asks the site owner to deactivate it; the decision stays with the user.
  • Unified every identifier on the kit_ai / kit-ai prefix: shortcode, admin page slugs, screen identifiers, transients and the main class. The admin pages moved to kit-ai-transparency, kit-ai-media-review and kit-ai-content.
  • The shortcode is now [kit_ai_transparency_notice].
  • Fixed the Imagick branch of the image copy generation, which raised “Invalid image geometry” on every call and silently fell back to GD.

3.6.22

  • Shortened the Upgrade Notice section to comply with the WordPress.org 300-character limit.
  • No front-end, image-processing or admin-preview behaviour was changed.

3.6.21

  • Rebuilt the appearance live preview as a centred, responsive preview studio.
  • Added clear context cards for article images, search/archive results and tiles.
  • Preserved the exact front-end badge classes, icon geometry and responsive calculations in the preview.
  • Added project documentation for technical handoff and future maintenance.

3.6.20

  • Replaced overlay icon image elements with decorative background spans so theme image selectors cannot resize them.
  • Added a critical inline geometry fallback and kept labels hidden until their final position is known.
  • Updated the live preview to use the same icon rendering path.

3.6.18

  • Consolidated all overlay display modes into one responsive sizing engine.
  • Full-width bars automatically become compact badges when the media is too small.
  • Added automatic icon contrast and separate sizing for square and wide EU assets.
  • Added configurable top or bottom placement for full-width bars.
  • Replaced the optional thumbnail-scaling switch with clear automatic, short-text, icon-only and full-text behaviours.
  • Rebuilt the live preview to match the front-end layout and status-specific output.

3.6.17

  • Starts the frontend label logic in the document head and excludes it from common delay optimisations.
  • Keeps a label hidden until the media’s real rendered bounds are known, preventing intermediate placement or size flashes.
  • Forces compact short or icon-only badges on archive cards, tiles, sidebars and other small media, even when a full-width bar is selected for large images.
  • Uses padded square assets and status-specific sizing for the general AI icon so it is never clipped.
  • Rebuilt the live preview with the same wrapper-free sibling structure and responsive rules as the frontend.
  • Neutralizes legacy cached wrappers without changing the image’s width, height or theme selectors.

3.6.16

  • Frontend labels no longer wrap or resize media at any stage.
  • Removed the visible large-small-large layout change while labels initialize.
  • Compact sizing is calculated from the media’s actual rendered dimensions.

3.6.15

  • Fixed oversized labels on small archive and thumbnail images.
  • Kept the image element and its dimensions untouched.

3.6.11

  • Preserved the original EU icon aspect ratio and improved the settings confirmation contrast.

3.6.10

  • Removed an inaccurate bundled-translation notice from the settings screen.

3.6.9

  • Made the one-time setup notice stay dismissed after using its close button.

3.6.8

  • Removed manual text-domain loading from the WordPress.org build.

3.6.7

  • Added the local German test build and corrected image-copy behavior when the local EU icon is disabled.
  • Added a GD fallback when Imagick cannot process a source image.

3.6.6

  • Prevented duplicate-class fatal errors when an older package variant is active.
  • Added safe migration between older, Free and Pro package variants.

3.6.5

  • Changed translatable source strings to English for translate.wordpress.org.
  • Stored generated image copies in uploads/oms-labels-ai-transparency/ while preserving original uploads.

3.6.4

  • Renamed the plugin to OMS Labels AI Transparency and changed the slug and text domain.
  • Removed bundled translations from the WordPress.org package.
  • Limited admin notices to relevant screens and made them dismissible.

3.6.0

  • Added Quick Edit, Bulk Edit, custom post type support and the central AI content overview.
  • Improved RSS labelling and editorial post workflows.

3.5.4

  • Added the stable Pro interface and Plugin Check corrections.
  • Preserved existing option names, metadata keys and CSS classes during the rename.
Back to top