=== EU AI Label ===
Contributors: lukjak, freemius
Tags: ai, transparency, media-library, images, eu-ai-act
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.1
Stable tag: 0.4.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Add visible, localized AI labels to your Media Library images, in the spirit of EU AI Act Article 50 transparency obligations.

== Description ==

EU AI Label lets you flag images in your WordPress Media Library as AI generated or AI modified. Labeled images are wrapped on the front end with a clean badge overlay so visitors can see at a glance which visuals involved AI.

Built for EU WooCommerce stores that want a simple, honest way to disclose AI-generated product imagery — no C2PA, no cryptography, no external services. Just a clear visual mark plus attachment metadata.

**Features**

* Per-image labeling directly in the Media Library, for unlimited images.
* Three-state taxonomy: AI generated, AI modified, or No AI (no badge).
* Server-side rendering — no front-end JavaScript required. Both featured/gallery images (via `wp_get_attachment_image`) and in-content images (Image blocks, galleries, and classic-editor images) are covered.
* An accessibility-first badge: always visible (no hover needed), high-contrast on any photo, `role="img"` with a screen-reader label, and a readable minimum size. The wording and pill shape mirror the EU standardized AI labels.
* Fully localized badge text — English, Polish, German, French, Spanish, Italian, and Dutch — following the site or user locale.

Labeling is manual and per-image by design: you stay in control of exactly what is disclosed.

This plugin is part of the euailabel.app AI Act toolkit for e-commerce.

**Need to audit images across an entire website?** [AI Act Icon](https://aiacticon.com/?utm_source=wordpress.org&utm_medium=plugin-readme&utm_campaign=eu-ai-label) discovers public website images and where they appear, then helps you classify them and maintain an audit history.

EU AI Label is an independent tool that helps with transparency disclosures in the spirit of the EU AI Act (Regulation (EU) 2024/1689). It is not affiliated with, endorsed by, or an official labeling scheme of the European Union or any EU institution.

**EU AI Label Pro**

A Pro upgrade adds, for stores that need more:

* An adaptive badge that auto-adjusts to light or dark images.
* Bulk labeling from the Media Library (list and grid views).
* Optional "how it was altered" details shown in a badge tooltip (e.g. background removed, color modified).
* A tamper-evident audit log of every label change (who, what, when), sealed with a hash chain.

The free plugin is a complete, unrestricted disclosure tool; Pro adds the refinements above. All Pro functionality lives in a separately distributed build — nothing in the free plugin is locked or limited.

== Installation ==

1. Upload the `eu-ai-label` folder to `/wp-content/plugins/`, or install through the Plugins screen.
2. Activate the plugin through the *Plugins* screen in WordPress.
3. Open any image in the Media Library and set its *AI label* to AI generated or AI modified.
4. Labeled images get the badge automatically on the front end. There is nothing else to configure.

== Frequently Asked Questions ==

= Does this detect AI images automatically? =

No. Labeling is manual and per-image, by design. You decide what is disclosed.

= Is the free version limited? =

No. The free plugin is fully functional: you can label as many images as you like, and every feature it ships is available to everyone. Pro is a separate build that adds extras (adaptive badge, bulk labeling, alteration tooltips, an audit log). Labels always keep working and stay editable, even if you drop from Pro back to free.

= Can I change the badge text or its appearance? =

No. The badge ships with a single, fixed, accessibility-first style, and its text is localized automatically. This is deliberate: a consistent, high-contrast disclosure keeps the label reliable across languages and themes, and cannot be accidentally styled into something illegible.

= Which images get the badge? =

Any image attached from your Media Library that you have labeled — whether it is a featured image, appears in a gallery, or is placed in post content as an Image block or classic-editor image. Externally hotlinked images and CSS background images have no attachment record, so they cannot be labeled.

= Is this legal advice or a guarantee of compliance? =

No. EU AI Label is a tool to help you disclose AI-generated imagery clearly. It does not constitute legal advice, and using it does not by itself guarantee compliance with the EU AI Act or any other law. Consult a qualified professional about your obligations.

= What happens to labels when I uninstall? =

Plugin settings are removed on uninstall. Per-image labels stored in attachment metadata are preserved so they survive a reinstall.

== Screenshots ==

1. The AI transparency badge rendered on a front-end image (with the optional Pro alteration tooltip).
2. Setting the AI label and alteration details on an attachment in the Media Library.

== Changelog ==

= 0.4.1 =
* Fixed: temporary Freemius pricing-page CSS now loads through WordPress enqueue APIs.
* Added: a related AI Act Icon website-audit product link.

= 0.4.0 =
* Added: a new "AI (without details)" label for images where AI involvement is disclosed but the type of change is not. It renders as a compact, localized "AI" circle badge.

= 0.3.0 =
* Changed: removed the free-plan 10-image limit — the free plugin now labels unlimited images and is fully functional, per WordPress.org guidelines.

= 0.2.3 =
* New: redesigned upgrade page — real yearly prices instead of per-month framing, prices in EUR by default (USD still selectable), and the plugin icon on all Freemius screens.

= 0.2.2 =
* Changed: the bundled Freemius SDK moved from includes/freemius to vendor/freemius, the wordpress.org convention for third-party libraries.

= 0.2.1 =
* Fixed: removed the Author URI plugin header (duplicated the Plugin URI, flagged by wp.org Plugin Check).

= 0.2.0 =
* New: "AI label" column with status chips in the Media Library list view.
* New: redesigned settings page — live badge preview, labeled-image counts, clearer plan overview.
* New: free plan labels up to 10 images; Pro is unlimited. Existing labels always keep working.
* Improved: audit log (Pro) shows label changes as status chips.
* Fixed: admin thumbnails are no longer wrapped with front-end badge markup (stray badge text under Media Library thumbnails).

= 0.1.0 =
* Initial release: per-image AI labeling, localized accessibility-first front-end badge covering featured, gallery, and in-content images.

== Upgrade Notice ==

= 0.2.0 =
Media Library label column, redesigned settings page, and a 10-image free-plan cap (existing labels keep working).

= 0.1.0 =
Initial release.
