{"id":347955,"date":"2026-08-10T16:28:17","date_gmt":"2026-08-10T16:28:17","guid":{"rendered":"https:\/\/de.wordpress.org\/plugins\/ai-transparency-labels\/"},"modified":"2026-10-11T18:15:40","modified_gmt":"2026-10-11T18:15:40","slug":"oms-labels-ai-transparency","status":"publish","type":"plugin","link":"https:\/\/da.wordpress.org\/plugins\/oms-labels-ai-transparency\/","author":23540885,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.7.0","stable_tag":"3.7.0","tested":"7.1.3","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"OMS Labels AI Transparency","header_author":"Steven Sonntag \/ Onlinemarketing-Sonntag","header_description":"Local EU AI icons, visible notices for image, audio, video and posts, an editorial review log and permanently labelled image copies.","assets_banners_color":"10202d","last_updated":"2026-10-11 18:15:40","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/onlinemarketing-sonntag.de\/plugins\/ki_transparenz","header_author_uri":"https:\/\/onlinemarketing-sonntag.de\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":300,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.6.23":{"tag":"3.6.23","author":"stewn","date":"2026-08-10 17:03:40","revision":3640935},"3.6.25":{"tag":"3.6.25","author":"stewn","date":"2026-10-04 11:04:38","revision":3727341},"3.7.0":{"tag":"3.7.0","author":"stewn","date":"2026-10-11 18:15:40","revision":3739928}},"upgrade_notice":{"3.7.0":"<p>Adds a dismissible notice about the separate Pro package. The free feature set is unchanged and the plugin still makes no outbound connection.<\/p>","3.6.25":"<p>Reliability release for the browser overlay: labels stay on the image while scrolling, in carousels and sliders, with parallax effects, and when optimisation plugins modify or delay the stylesheet. No new features, no change to existing settings.<\/p>","3.6.23":"<p>First public WordPress.org release with unified plugin identifiers, user-controlled legacy-package handling and reliable permanent image-copy generation.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3640935,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3640935,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3640892,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3640897,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.6.23","3.6.25","3.7.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3640935,"resolution":"1","location":"assets","locale":"","width":1200,"height":850},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3640935,"resolution":"2","location":"assets","locale":"","width":1200,"height":850},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3640935,"resolution":"3","location":"assets","locale":"","width":1200,"height":850},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3640935,"resolution":"4","location":"assets","locale":"","width":1200,"height":650},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3640935,"resolution":"5","location":"assets","locale":"","width":1200,"height":850},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3640935,"resolution":"6","location":"assets","locale":"","width":1200,"height":850}},"screenshots":{"1":"Central media-labelling settings with a clear status overview and local plugin artwork.","2":"Responsive appearance controls and live previews for article, search and tile contexts.","3":"Permanent image-copy settings for format, position, contrast and delivery while originals stay untouched.","4":"AI Media Review with classification totals, local provenance scan, filters and image-copy status.","5":"Editorial post notices, traceable review details and multilingual output controls.","6":"Advanced privacy, data-cleanup, technical compatibility and administration-design settings."}},"plugin_section":[],"plugin_tags":[275056,254921,96456,233,286],"plugin_category":[45],"plugin_contributors":[275057],"plugin_business_model":[],"class_list":["post-347955","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-labeling","plugin_tags-ai-transparency","plugin_tags-editorial-workflow","plugin_tags-media-library","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-stewn","plugin_committers-stewn"],"banners":{"banner":"https:\/\/ps.w.org\/oms-labels-ai-transparency\/assets\/banner-772x250.jpg?rev=3640897","banner_2x":"https:\/\/ps.w.org\/oms-labels-ai-transparency\/assets\/banner-1544x500.jpg?rev=3640892","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/oms-labels-ai-transparency\/assets\/icon-128x128.png?rev=3640935","icon_2x":"https:\/\/ps.w.org\/oms-labels-ai-transparency\/assets\/icon-256x256.png?rev=3640935","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/oms-labels-ai-transparency\/assets\/screenshot-1.png?rev=3640935","caption":"Central media-labelling settings with a clear status overview and local plugin artwork."},{"src":"https:\/\/ps.w.org\/oms-labels-ai-transparency\/assets\/screenshot-2.png?rev=3640935","caption":"Responsive appearance controls and live previews for article, search and tile contexts."},{"src":"https:\/\/ps.w.org\/oms-labels-ai-transparency\/assets\/screenshot-3.png?rev=3640935","caption":"Permanent image-copy settings for format, position, contrast and delivery while originals stay untouched."},{"src":"https:\/\/ps.w.org\/oms-labels-ai-transparency\/assets\/screenshot-4.png?rev=3640935","caption":"AI Media Review with classification totals, local provenance scan, filters and image-copy status."},{"src":"https:\/\/ps.w.org\/oms-labels-ai-transparency\/assets\/screenshot-5.png?rev=3640935","caption":"Editorial post notices, traceable review details and multilingual output controls."},{"src":"https:\/\/ps.w.org\/oms-labels-ai-transparency\/assets\/screenshot-6.png?rev=3640935","caption":"Advanced privacy, data-cleanup, technical compatibility and administration-design settings."}],"raw_content":"<!--section=description-->\n<h4>AI transparency for WordPress<\/h4>\n\n<p>OMS Labels AI Transparency helps publishers clearly identify AI-generated and AI-modified content and document editorial decisions directly in WordPress.<\/p>\n\n<p>Add responsive notices to images, audio and video, review media in a dedicated workflow and optionally create permanently labelled image copies without modifying the originals.<\/p>\n\n<p>Keep review details for posts and media, including classification, reviewer, review date, sources and internal notes. Explicit editorial decisions always remain under the site owner's control.<\/p>\n\n<h4>Highlights<\/h4>\n\n<ul>\n<li>Visible bars or compact badges with local AI, AI GENERATED and AI MODIFIED icons.<\/li>\n<li>Five clear media-review states with filters, columns and bulk workflows.<\/li>\n<li>Local checks for IPTC\/XMP hints, possible C2PA data and known generator signatures.<\/li>\n<li>Optional permanently labelled JPEG, PNG, WebP and AVIF copies while originals remain untouched.<\/li>\n<li>Editorial review records, revision approval, change warnings and an approval log.<\/li>\n<li>Support for Gutenberg, featured images, Elementor, lazy loading and common WooCommerce views.<\/li>\n<li>Live previews, contrast guidance, Site Health checks and accessible controls.<\/li>\n<li>Quick Edit, Bulk Edit, custom post types, RSS notices and safe CSV exports.<\/li>\n<\/ul>\n\n<h3>Deutsche Kurzbeschreibung<\/h3>\n\n<h4>KI-Inhalte in WordPress sichtbar und nachvollziehbar kennzeichnen<\/h4>\n\n<p>OMS Labels AI Transparency unterst\u00fctzt Redaktionen dabei, KI-generierte und KI-bearbeitete Medien sowie Beitr\u00e4ge klar zu kennzeichnen und redaktionelle Entscheidungen direkt in WordPress zu dokumentieren.<\/p>\n\n<p>Responsive Hinweise und kompakte Badges lassen sich f\u00fcr Bilder, Audio und Video an das eigene Theme anpassen. Ein zentraler Pr\u00fcfbereich b\u00fcndelt Klassifizierung, lokale Herkunftshinweise, Filter und den Status dauerhaft gekennzeichneter Bildkopien. Die Originaldateien bleiben dabei unver\u00e4ndert.<\/p>\n\n<p>Pr\u00fcfdetails wie Einstufung, verantwortliche Person, Datum, Quellen und interne Notizen bleiben unter der Kontrolle der Website-Betreiber. Das Plugin arbeitet lokal und kommt ohne CDN, externe Schriftarten, Analyse-Dienste, Lizenzserver oder Drittanbieter-API aus.<\/p>\n\n<h3>Privacy and data handling<\/h3>\n\n<p>OMS Labels AI Transparency does not use a CDN, remote fonts, analytics, a licence server, cookies or third-party API calls. Icons, scripts and styles are stored locally, and media checks read files on the website's own server only. No content, media or review data ever leaves the site.<\/p>\n\n<p>This applies to the complete plugin. There is no licence client, no activation call and no usage tracking of any kind. The notice about the paid Pro package is a plain link; nothing is requested from a remote server to display it.<\/p>\n\n<h3>Important note<\/h3>\n\n<p>This plugin supports labelling, documentation and editorial workflows. It is not legal advice, does not decide whether a disclosure obligation applies and cannot guarantee compliance with the EU AI Act or any other law.<\/p>\n\n<p>The plugin uses English source strings. Community translations are provided through translate.wordpress.org and installed by WordPress for the selected site language.<\/p>\n\n<h3>OMS Labels AI Transparency Pro<\/h3>\n\n<p>The free version is complete for a single site: labelling, review records, local provenance scan and permanently labelled image copies are all included and stay available.<\/p>\n\n<p>Pro is aimed at agencies and editorial teams that manage labelling for several sites:<\/p>\n\n<ul>\n<li>Publication guard that blocks or warns before unlabelled AI content goes live.<\/li>\n<li>Compliance cockpit with all open items across posts and media in one place.<\/li>\n<li>Content Credentials (C2PA) checks in bulk.<\/li>\n<li>Scheduled review runs and an evidence report for your records.<\/li>\n<li>Labelled social preview images for Open Graph and X.<\/li>\n<li>Site profiles, settings export and import, and WP-CLI commands.<\/li>\n<\/ul>\n\n<p>Pro is a separate download and is not distributed through WordPress.org. The free\nedition contains no licence client and never contacts a remote server \u2014 the link\nbelow is the only connection between the two, and you have to follow it yourself.<\/p>\n\n<p>Details and purchase: https:\/\/onlinemarketing-sonntag.de\/plugins\/ki_transparenz<\/p>\n\n<h3>External references<\/h3>\n\n<p>European Commission - EU icons for labelling AI-generated content:\nhttps:\/\/digital-strategy.ec.europa.eu\/en\/policies\/eu-icons-labelling-ai-generated-content<\/p>\n\n<p>European Commission - Code of Practice on Transparency of AI-Generated Content:\nhttps:\/\/digital-strategy.ec.europa.eu\/en\/policies\/code-practice-ai-generated-content<\/p>\n\n<p>IHK Koeln - Transparency obligations under the AI Act (German):\nhttps:\/\/www.ihk.de\/koeln\/hauptnavigation\/digitalisierung-und-innovation\/digitalisierung\/transparenzpflichten-nach-der-ki-verordnung-7100068<\/p>\n\n<p>Icon licensing notes are stored in <code>assets\/icons\/LICENSE.txt<\/code>. Notes for the plugin artwork are stored in <code>assets\/license-notes.txt<\/code>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>Open <strong>Settings &gt; AI Transparency<\/strong>.<\/li>\n<li>Choose the selection mode and appearance.<\/li>\n<li>Classify media in the media library.<\/li>\n<li>Generate image copies under <strong>Media &gt; AI Media Review<\/strong> when needed.<\/li>\n<li>Classify and approve posts in the editor or post list.<\/li>\n<li>Clear page, optimisation and CDN caches after design changes.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20make%20a%20website%20legally%20compliant%3F\"><h3>Does the plugin make a website legally compliant?<\/h3><\/dt>\n<dd><p>No. It supports labelling, documentation and editorial workflows. It is not legal advice and does not decide whether a legal disclosure obligation applies.<\/p><\/dd>\n<dt id=\"are%20media%20files%20classified%20automatically%3F\"><h3>Are media files classified automatically?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"are%20original%20images%20modified%3F\"><h3>Are original images modified?<\/h3><\/dt>\n<dd><p>No. Browser overlays do not alter files. Permanently labelled images are separate WordPress attachments stored in the plugin-specific uploads directory.<\/p><\/dd>\n<dt id=\"what%20happens%20after%20changing%20the%20copy%20design%3F\"><h3>What happens after changing the copy design?<\/h3><\/dt>\n<dd><p>The copy signature marks existing copies as outdated. They can be renewed in bulk while retaining their attachment IDs.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20verify%20c2pa%20cryptographically%3F\"><h3>Does the plugin verify C2PA cryptographically?<\/h3><\/dt>\n<dd><p>No. It can detect possible C2PA data and read IPTC\/XMP hints, but full cryptographic C2PA validation is not included.<\/p><\/dd>\n<dt id=\"are%20the%20local%20eu%20icons%20mandatory%3F\"><h3>Are the local EU icons mandatory?<\/h3><\/dt>\n<dd><p>No. The European Commission describes the icons as voluntary. An icon does not itself establish legal compliance.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.7.0<\/h4>\n\n<ul>\n<li>Added: a short, dismissible notice and a feature list on the settings page describing the separate Pro package. Both appear only on this plugin's own screens and only for users who may manage the settings.<\/li>\n<li>Added: <code>kit_ai_pro_url<\/code>, <code>kit_ai_pro_notice_text<\/code> and <code>kit_ai_pro_notice_id<\/code> filters for anyone who wants to change or suppress the notice.<\/li>\n<li>Fixed: the Pro notice keeps readable dark text and link colours when WordPress places it inside the dark plugin header.<\/li>\n<li>Note: the free feature set is unchanged. Nothing that worked before is now behind a licence, and the plugin still contains no licence client and makes no outbound connection.<\/li>\n<\/ul>\n\n<h4>3.6.25<\/h4>\n\n<ul>\n<li>Fixed: labels could collapse into a narrow vertical strip on shrink-wrapped image containers (Gutenberg figures, gallery tiles, WooCommerce thumbnails, Elementor image widgets) when a right-aligned position was used, which is the default.<\/li>\n<li>Fixed: labels no longer detach from the image while scrolling. Position is now recalculated on scroll (including inner scroll containers), on CSS transitions and animations, after web font loading and when returning from the back\/forward cache.<\/li>\n<li>Fixed: the anchoring reference frame is enforced and verified at runtime. Labels stay on the image even when a theme sets <code>position: static !important<\/code>, or when <code>assets\/frontend.css<\/code> is delayed, combined, stripped by \"Remove Unused CSS\" or blocked.<\/li>\n<li>Added: critical anchoring CSS is now inlined in the head, so the overlay is positioned correctly independently of the external stylesheet. Can be adjusted or removed via the <code>kit_ai_overlay_critical_css<\/code> filter.<\/li>\n<li>Added: if no reliable reference frame can be established, the label falls back to the normal text flow directly after the media instead of floating over unrelated page content. A label is never silently dropped.<\/li>\n<li>Improved: <code>display: inline<\/code> elements are no longer used as an anchoring reference, because a fragmented inline box has no unambiguous containing block for absolutely positioned children.<\/li>\n<li>Improved: labels are recreated after a media node was moved or rebuilt by masonry, gallery filters or AJAX, instead of disappearing permanently.<\/li>\n<li>Improved: labels also follow media that are moved silently by JavaScript, without a scroll event or a CSS transition \u2014 drag sliders, free-mode carousels and parallax scripts. A low-frequency safety net covers these cases at a measured cost of 0.8 ms of script time per second and no additional layout or style recalculations.<\/li>\n<li>Improved: measurement and DOM writes are separated and values are only written when they actually changed. On archive pages this removes layout thrashing; collision checks against fixed and sticky elements are now batched into a single frame.<\/li>\n<li>Improved: the early scan during HTML parsing is coalesced into animation frames, so the parser is no longer interrupted for every single node.<\/li>\n<li>Maintenance: version numbers in the asset file headers were out of sync with the plugin version and have been corrected. Tested up to WordPress 7.1.<\/li>\n<li>Note: after updating, clear the cache of any page, optimisation and CDN plugin. Optimisers that rewrite <code>assets\/frontend.js<\/code> and <code>assets\/frontend.css<\/code> into their own minify directory keep serving the previous version until their cache is purged.<\/li>\n<\/ul>\n\n<h4>3.6.23<\/h4>\n\n<ul>\n<li>Initial public WordPress.org release.<\/li>\n<li>Keeps the site owner in control when an older package is detected; nothing is deactivated automatically.<\/li>\n<li>Uses consistent plugin identifiers and the <code>[kit_ai_transparency_notice]<\/code> shortcode.<\/li>\n<li>Improves permanent image-copy generation with a reliable Imagick path and GD fallback.<\/li>\n<\/ul>","raw_excerpt":"Label AI-generated and AI-modified media in WordPress with visible notices, editorial review records and privacy-friendly local tools.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/347955","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=347955"}],"author":[{"embeddable":true,"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/stewn"}],"wp:attachment":[{"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=347955"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=347955"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=347955"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=347955"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=347955"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/da.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=347955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}