=== Axolotl AI Act Image Labeling ===
Contributors: medienvirus
Tags: ai, ai-generated, labeling, transparency, watermark
Requires at least: 5.8
Tested up to: 7.1
Requires PHP: 7.2
Stable tag: 1.7.7
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Label AI-generated images for EU AI Act (Art. 50) transparency – overlay or burned into the file, flagged in the Media Library.

== Description ==

**Axolotl AI Act Image Labeling** lets you mark individual images in your WordPress Media Library as "AI-generated" – either as a lightweight on-screen overlay or permanently burned into a copy of the image file.

Since 2 August 2026, the transparency obligations of the EU AI Act (Article 50) require the labeling of AI-generated or AI-manipulated content. This plugin is a **technical tool** that helps you apply a visible label. It does **not** constitute legal advice – whether and how you must label in a specific case is for you to determine, if necessary with qualified counsel.

**Free features**

* Media Library checkbox: "Label this image as AI-generated" (opt-in – nothing happens automatically).
* Position: any of the four corners.
* Three sizes: small, medium, large.
* Two modes:
  * **Overlay** – the label is placed over the image via HTML/CSS on display (the file stays unchanged).
  * **Burn into the image** – the label is written permanently into a copy of the image file; the original is kept.
* Live preview that updates instantly.
* Works with classic images, the Gutenberg image block and Elementor image widgets.
* An "AI" status column in the Media Library list.

**Premium (optional add-on)**

A separate premium add-on unlocks custom label text, an icon or your own uploaded label image, colors, shape, opacity, free sizing, a diagonal tiled watermark, IPTC/XMP metadata (Digital Source Type), an optional invisible watermark, automatic alt text, a labeling log and bulk labeling. The free plugin is fully usable on its own. Features and pricing of the add-on: [Axolotl KI-Kennzeichnung Pro](https://medienvirus.de/axolotl-ki-kennzeichnung-pro/) (product page in German).

== Installation ==

1. Upload the plugin to `/wp-content/plugins/` or install it from the Plugins screen.
2. Activate the plugin.
3. Open the plugin's menu entry and choose mode, position and size.
4. In the Media Library, tick the checkbox on the images you want to label.

== Frequently Asked Questions ==

= Does the overlay change my image file? =
No. The overlay is purely visual (HTML/CSS) and leaves the file untouched. If you need the label inside the file itself, choose the "Burn into the image" mode, which creates a labeled copy and keeps the original.

= Is a visible label legally sufficient? =
This plugin is a technical aid, not legal advice. Please assess your own obligations, if necessary with qualified counsel.

= Does it work with Gutenberg and Elementor? =
Yes. Labeled images are handled in the classic content, the Gutenberg image block and Elementor image widgets.

= Which image formats are supported for burning in? =
JPEG, PNG, GIF and WebP, using the PHP GD library.

== Screenshots ==

1. Settings page with live preview and tabbed layout.
2. The Media Library checkbox to flag an image.
3. A labeled image on the front end.

== Changelog ==

= 1.7.7 =
* The "Get Premium" button on the Premium tab now opens the add-on's product page (features and pricing) instead of an e-mail draft.
* Readme: added a link to the product page of the optional premium add-on.
* Admin menu icon: refined axolotl head glyph and display size; the icon URL now carries a cache-busting parameter so an updated icon shows up right away.

= 1.7.6 =
* New admin menu icon: a bold axolotl head glyph that reads clearly at menu size and matches the other WordPress menu icons.

= 1.7.5 =
* Fix: In grids that position the image absolutely inside a fixed aspect-ratio box (e.g. Elementor Posts and Portfolio widgets), a labeled image no longer collapses into an empty tile. The overlay wrapper now fills the box, so the image keeps its size and the label sits in the visible image.

= 1.7.4 =
* Admin menu icon: switched to a clean line-art axolotl (SVG).

= 1.7.3 =
* Admin menu icon: solid, filled glyph that fills the icon like the other menu icons.

= 1.7.2 =
* Admin menu icon: bolder glyph and correct size/alignment to match the other menu icons.

= 1.7.1 =
* Fix: the admin menu icon is now loaded as an image file so it displays reliably.

= 1.7.0 =
* New branding: the plugin now has an axolotl mascot. Refreshed the settings header and replaced the admin menu icon.

= 1.6.4 =
* The output buffer used to label theme-rendered featured images is now closed explicitly on wp_footer instead of relying on the PHP shutdown phase, avoiding any misalignment with other output buffers.

= 1.6.3 =
* WooCommerce: the featured-image fallback no longer runs on product pages (the gallery already labels the main image), so a small gallery thumbnail is no longer labeled through that path. Added a thumbnail-size guard to the fallback as well.

= 1.6.2 =
* WooCommerce: the label is no longer added to small product thumbnail sizes (woocommerce_thumbnail / woocommerce_gallery_thumbnail) at all – gallery navigation thumbnails, catalog tiles and related products stay clean. The large main product image (woocommerce_single) still carries the label.

= 1.6.1 =
* WooCommerce: on a single product page the label is no longer added to the small gallery navigation thumbnails (which use the woocommerce_thumbnail size). The large main image still carries the label, so the thumbnail duplicate is avoided.

= 1.6.0 =
* Premium-only functionality (custom shapes, TTF fonts, overwrite mode) is no longer part of the free plugin; the free plugin now ships only its own default label. The "Premium features" tab shows a plain feature overview instead of locked controls.
* Hardened output escaping in the overlay badge and content filters.
* Admin notices are no longer displayed inside the header banner.
* Small preview thumbnails (e.g. WooCommerce gallery thumbnails) are no longer labeled in overlay mode.

= 1.5.6 =
* Initial public release.

== Upgrade Notice ==

= 1.7.7 =
The Premium tab now links to the product page of the optional add-on; refined admin menu icon. No functional changes.

= 1.7.5 =
Fix: labeled images no longer show as empty tiles in Elementor Posts/Portfolio grids.

= 1.7.0 =
New axolotl branding in the settings header and admin menu icon.

= 1.6.4 =
Robustness: the featured-image output buffer is now closed explicitly instead of at PHP shutdown.

= 1.6.3 =
Fix: WooCommerce product gallery thumbnails no longer get a duplicate label via the featured-image fallback.

= 1.6.2 =
Fix: no label on small WooCommerce product thumbnails (gallery nav, catalog tiles, related products).

= 1.6.1 =
Fix: no more duplicate label on WooCommerce product gallery thumbnails.

= 1.6.0 =
Compliance and security update: premium-only code removed from the free plugin, stricter output escaping, tidier admin UI.

= 1.5.6 =
Initial public release.
