In-house WordPress plugin

Clearly label AI content – without external services.

OMS Labels AI Transparency combines theme-neutral, responsive labels for media and posts with editorial review, traceable status data, Quick Edit and optional permanently labelled image copies. Image dimensions, theme markup and original files remain unchanged.

fully local translations via WordPress.org originals remain untouched
Header graphic for OMS Labels AI Transparency
OMS Labels AI Transparency plugin icon
Version 3.6.22WordPress 6.2+ · PHP 7.4+ · GPLv2 or later
visibleOverlays, bars and notices for images, audio, video and posts.
documentedRecord reviewer, date, sources, AI status and approvals in a traceable way.
localNo CDNs, analytics services, licence servers or externally loaded symbols.
customisableConfigure appearance, selection mode, image copies and admin colours in a controlled way.
Features

Transparency in the frontend – backed by a clean workflow.

The plugin does more than add a label. It connects the visible output with media-library status, editorial reviews and technical records.

Illustration of a media library with labelled AI media
01 · Media library

Classify media clearly

Five status values, quick marking, filters, review date and reviewer ensure that decisions remain editorially traceable, not merely visible.

Illustration of an image-file review
02 · Media review

Find indicators without accepting them blindly

The scan can detect existing IPTC, XMP and possible C2PA indicators as review suggestions. The actual classification deliberately remains an editorial decision.

Illustration of an editorial review log
03 · Posts

Tie approvals to a specific version

A content hash detects later changes. Sources, fact checking, editorial responsibility and AI systems can be documented, while Quick Edit and Bulk Edit shorten the editorial workflow.

Illustration of local, privacy-friendly processing
04 · Privacy

Work without external connections

Symbols, JavaScript and CSS are included locally in the plugin. No cookies are set and no media are sent to third-party servers for detection.

Theme-neutral overlays

Badges and bars are positioned as a separate overlay layer without an image wrapper. Small archives, sidebars and cards automatically switch to short text or icon-only.

Labelled image copies

Separate JPEG, PNG, WebP and optional AVIF copies in the plugin-specific uploads directory. The original remains untouched.

CSS classes & shortcode

Targeted control through classes, custom selectors and the shortcode [ki_transparenzhinweis].

Workflow

From configuration to visible labelling in four steps.

The recommended workflow separates automatic review suggestions from deliberate editorial decisions.

Choose the selection mode

For a safe start, choose “Media library + CSS classes” and review the exclusions.

Classify media

Set the appropriate AI status in the media library and review suggested provenance indicators.

Design the appearance

Adjust shape, base size, icon contrast, position, colours and responsive short text in the live preview. Post image, search result and tile use the same logic as the front end.

Approve posts

Edit posts in the editor, Quick Edit or Bulk Edit, approve a specific revision and monitor changes in the central AI Content overview.

Clear boundaries

What the plugin handles – and what deliberately remains a human responsibility.

The plugin supports

  • visible labelling in the frontend
  • structured media and post statuses
  • editorial review and approval logs
  • optional permanently labelled image copies
  • CSV exports and technical status checks

The plugin does not decide

Technology cannot replace a case-by-case assessment. The publisher remains responsible for:

  • the legal classification of content
  • checking sources and facts
  • editorial responsibility
  • the decision whether to apply additional voluntary labelling
Two output methods

Dynamic overlay or permanently labelled image copy.

The overlay is intended for display on the website. A separate image copy keeps the notice in the file after download or sharing.

OriginalLandscape image without visible AI labelling
The original file remains unchangedThe dynamic overlay is only placed over the image on the website.
LabelledLandscape image with a visible AI Generated notice
Optional separate image copyWith the local EU icon enabled, a separate labelled file can be generated for downloads and sharing.
Technical foundation

Built for standard WordPress workflows.

The plugin works with the WordPress media library, Gutenberg content, galleries, Cover blocks, Media & Text, WooCommerce and common Elementor content areas. Labels are added without wrappers: image width, height, srcset, sizes and theme classes remain untouched.

Version3.6.22
WordPress6.2 or later
PHP7.4 or later
LicenceGPLv2+
Tested up toWordPress 7.0
Languages

Translations through WordPress.org.

The directory package uses English source strings. After publication, WordPress automatically delivers approved community translations for the site language. This documentation is available separately in English and German.

English source stringsGerman via translate.wordpress.orgadditional community languages
Documentation

Setup, operation and troubleshooting.

This guide applies to OMS Labels AI Transparency 3.6.22. The WordPress.org package uses English source strings; approved translations are later distributed automatically through WordPress.org.

Updated: 2 August 2026Version 3.6.22 · English

Technical handover for Claude or Codex

The full developer handover describes architecture rules, data model, hooks, options, front-end rendering, image copies and test procedures. The downloadable files are currently provided in German.

01 · Installation

Install and activate the plugin

  1. In the WordPress admin area Plugins → Add New Plugin → Upload Plugin open.
  2. Select the ZIP file, install it and then activate the plugin.
  3. Open Settings → AI Transparency and review the quick-start notice. Labels are localised automatically when an approved language pack is available.
  4. Review the selection mode, labels and appearance before marking any content.
Existing content is not automatically labelled across the board.

In the recommended selection mode, a notice appears only for explicitly classified media or elements with the relevant CSS classes.

02 · Quick start

Recommended basic configuration

SettingRecommended starting point
Label imagesEnable this option when visible notices should be displayed on images.
Audio and videoEnable this option when embedded audio and video elements should also display notices.
Selection modeMedia library + CSS classes. Specific media-library statuses take priority.
Always excludeAdd logos, avatars, emojis and custom areas that must never be labelled.
Media-library quick markingChoose a suitable default status; initially leave automatic adoption of detected provenance disabled.
Automatic detection is only an indicator.

IPTC, XMP or possible C2PA data may be missing, incomplete or incorrect. Always perform an editorial review before classification.

03 · “Media” tab

Which media are labelled

In the Media tab, you control which media types are considered and how the plugin selects labelled content.

The five media statuses

Not yet reviewedNo editorial decision has been made yet.
Reviewed: no AIDeliberately reviewed and not classified as AI content.
Fully AI-generatedThe medium should be shown as fully generated.
Partly modified with AIExisting content was substantially modified with AI.
General AI noticeNeutral labelling without a full or partial classification.

Selection modes

  • Media library + CSS classes: safe default for editorially classified media.
  • CSS classes only: apply labels specifically through classes on the element or container.
  • Custom selector: for individual theme or builder structures.
  • Content areas: include media within defined containers; use deliberately and with control.

Media-library review

Under Media → AI Media Review, the plugin shows status counts, detected indicators and image-copy states. The central AI Content overview also brings together open media and post reviews.

04 · “Appearance” tab

Design responsive overlays and notices

The visible label is aligned as a separate overlay layer on the existing medium. The plugin does not wrap, move or scale the image. The live preview uses the same sizing logic as the front end and shows a post image, search result and small tile.

AreaFunction
ShapeAutomatic, always compact badge or full-width bar on sufficiently large media. Small archive, sidebar and tile images are protected regardless of the base shape.
Base sizeSmall, medium or large determines the appearance on large media. On small images, font, padding and icon are reduced proportionally.
Responsive textAutomatic short text, forced short text, icon-only or full text while sufficient space remains.
PositionBadges at the top or bottom, left or right; bars separately at the upper or lower image edge.
Icon and contrastLocal AI, AI-GENERATED and AI-MODIFIED symbols in black, white or automatic contrast. Icons are decorative background elements rather than ordinary theme images.
LabelsCustom text for fully generated, partly modified and general notices, plus an English version.
Colours & opacityAdapt background, text, accent, transparency, corner radius, edge spacing and z-index to the frontend design.
Live previewCompact preview cards for post image, search/archive image and tile. Changes appear immediately without modifying the actual media.
Contrast checkWarning when the contrast ratio is below 4.5:1.
Local EU iconControls the icon in the overlay and is required for permanently labelled image copies. Without it, browser text labels can remain active, but no image copy is generated.
Layout protection is an architectural rule.

Width, height, srcset, sizes, theme classes and the medium’s DOM position remain unchanged. Direct theme selectors for featured images are not interrupted by additional wrappers.

Clear the cache after design changes.

Page, CSS, CDN and browser caches may continue to serve old styles. In optimisation plugins such as WP Rocket, rebuild optimised CSS and JavaScript afterwards.

05 · “Image copies” tab

Create permanently labelled files

Image copies are useful when the label should remain visible after download, export or sharing. The plugin creates a separate WordPress media file under wp-content/uploads/oms-labels-ai-transparency/ and leaves the original untouched.

  • Supports JPEG, PNG, WebP and, where available on the server, AVIF.
  • Animated GIFs are deliberately not modified automatically.
  • Symbol size, minimum and maximum width, edge spacing, position and contrast can be configured.
  • The existing attachment ID is retained when a copy is regenerated.
  • A signature detects missing, damaged and outdated copies after settings changes.
  • Batch processing runs via AJAX and avoids long PHP loops.
  • Permanent image copies require the local EU icon. If it is disabled, browser text labels remain active and the copy is deliberately not generated.
  • If Imagick processing fails, the plugin automatically tries the GD fallback where the file format is supported.
Plugin-specific uploads directory and untouched originals.

Generated files are registered as regular WordPress attachments. The path is resolved through WordPress at runtime; original uploads are never overwritten.

Metadata

Optionally, IPTC/XMP fields such as Digital Source Type and supplementary AI information can be written. Imagick is required for WebP metadata; the GD fallback only creates the visible label.

Avoid duplicate labelling.

When a permanently labelled copy is served, the dynamic overlay should not also appear on that image. The plugin includes logic to avoid this duplication.

06 · “Posts” tab

Document editorial responsibility

In the post editor, AI status and review can be recorded directly for the relevant version.

  • Document text status and the AI systems used.
  • Record public interest, fact-checking and editorial responsibility.
  • Store reviewer, review date, sources and internal notes.
  • Approve a specific post version using a content hash.
  • Receive a warning when the title, excerpt, content, featured image, sources, status or relevant Elementor data have changed.
  • Maintain an approval and change log with up to 50 entries.
  • Quick Edit in the post list for text status, notice visibility, AI systems, reviewer and deliberate approval of the current revision.
  • Bulk Edit for text status, notice visibility and AI systems; empty fields leave existing values unchanged.
  • Selectable custom post types and a central AI Content overview with direct filters.

Frontend output

The post notice can be displayed below the content and before common author boxes. An additional plain-text notice can optionally be enabled in RSS feeds.

Safe default.

A public notice appears only on explicitly classified posts. After content changes, the new version must be reviewed and approved again.

07 · “Advanced” tab

Advanced control and records

FunctionDescription
Custom selectorsSpecifically include or exclude theme, builder or project areas.
RSS noticeOptionally add a plain-text notice to feeds.
CSV exportExport media and post logs; formula injection in spreadsheets is mitigated.
Site HealthCheck local icons and whether existing image copies are up to date.
Plugin designCustomise the accent, background, card, text and header colours of the admin interface.
Data on uninstallOptionally enable complete data removal. Review logs are retained by default.
AI Content overviewCombine open media and post reviews and jump directly to the relevant filtered lists.
08 · Shortcode & CSS classes

Output or control notices precisely

Shortcode

Standard[ai_transparency_label]
Custom text and minimal style[ai_transparency_label style="minimal" text="Your own transparency notice"]

The legacy shortcode [ki_transparenzhinweis] remains available for compatibility.

CSS classes

ClassMeaning
.kit-ai-fullLabel a medium or area as fully AI-generated.
.kit-ai-partialLabel a medium or area as partly modified with AI.
.kit-ai-genericUse a general AI notice.
.kit-ai-skipExplicitly exclude a medium or entire area from labelling.

The classes can be applied directly to the image, its surrounding link or a suitable container. With complex builder structures, check the output on desktop and mobile afterwards.

09 · Privacy

No external services used by the plugin

OMS Labels AI Transparency does not load fonts, icons, scripts or styles from third-party servers. There is no telemetry, licence server or analytics feature. The media-library scan processes files on the site server. Language packs for the WordPress.org version are delivered only through the standard WordPress translation system.

  • no cookies set by the plugin
  • no transfer of images to AI detection services
  • locally included symbols and program files
  • review logs remain in the WordPress database

The theme, website and other plugins may independently use their own external services. These must be reviewed separately.

10 · Troubleshooting

Quickly check common causes

The overlay does not appear

  • Check whether the medium has an AI status or a matching CSS class.
  • Review the selection mode and custom content selectors.
  • Clear all optimisation and browser caches after CSS or JavaScript changes.
  • Check whether the image or a parent element has .kit-ai-skip applied.

Image size or layout changes while the page loads

The current version does not wrap or scale media. If a visible jump remains, old combined CSS or JavaScript is most likely still being served. In WP Rocket or a comparable optimiser, clear the page cache, used CSS, minified files and CDN cache, then test in a private browser window.

The icon is too large, squeezed or clipped

Local symbols are no longer rendered as ordinary <img> elements. They use status-specific background elements, so theme rules for featured images cannot scale them. After an update, still rebuild all optimised CSS and JavaScript files.

The image is labelled twice

A permanently labelled image copy and a dynamic overlay are being displayed at the same time. Enable duplicate-label prevention in the image-copy settings and clear the cache.

An image copy cannot be generated

  • Under Appearance, check that “Show the local EU icon” is enabled. Without the icon, no permanent image copy is deliberately generated.
  • Check file permissions and free storage in the WordPress uploads directory.
  • Confirm that GD or Imagick supports the file format; if Imagick fails, the plugin automatically tries GD.
  • Animated GIFs are deliberately skipped.
  • Review the plugin checks under Tools → Site Health.

The setup notice keeps returning after dismissal

Since version 3.6.9, dismissal is stored permanently for each user account. After an update, close the notice once using the standard close button. If it returns, clear admin/object caches and check whether backend AJAX requests are blocked.

A post is marked as changed again

The stored content hash no longer matches the current version. Review the post, sources and status again, then deliberately approve the new version.

11 · Frequently asked questions

FAQ with legal and technical context

12 · Sources

Legal orientation and external sources

The following sources provide general orientation. They do not replace a case-specific legal assessment. The current text of the regulation, official guidance and the circumstances of the specific content are decisive.

European Commission: Code of Practice on Transparency of AI-Generated ContentFinal voluntary code on labelling, machine-readable marking and disclosure under Article 50.
Open source
European Commission: Guidelines on transparency obligations under Article 50Current official guidance for providers and deployers of certain AI systems.
Open source
European Commission: EU icons for labelling AI contentInformation on deepfakes, text concerning matters of public interest, exceptions, symbol variants and presentation.
Open source
Cologne Chamber of Industry and Commerce: transparency obligations since August 2026Practical overview of text, deepfakes, AI interaction and possible forms of labelling.
Open source
EUR-Lex: Regulation (EU) 2024/1689Official text of the European AI Act, including Article 50.
Open legal act

Found the documentation, but your website still needs refinement?

I build and optimise WordPress websites with a focus on clear usability, mobile presentation, loading speed and traceable processes.

Get in touch