=== RadarWave Encrypted Tracking for AcyMailing ===
Contributors: radarwave
Tags: acymailing, tracking, privacy, gdpr, newsletter
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 1.0.9
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Encrypted IDs in AcyMailing's tracking pixel and links, as the Italian DPA guidelines and EU privacy rules ask. Statistics keep working.

== Description ==

= Why =

The Italian Data Protection Authority (Garante per la protezione dei dati personali) published guidelines on tracking pixels in emails (decision no. 284 of 17 April 2026, compliance by 29 October 2026). They apply Article 122 of the Italian Privacy Code, which transposes Article 5(3) of the EU ePrivacy Directive 2002/58/EC. The EDPB Guidelines 2/2023 on the technical scope of that article confirm that it covers tracking pixels and tracking links in emails. The guidelines also apply data protection by design (Article 25 GDPR) and security of processing (Article 32 GDPR), and among the technical measures they ask for an unintelligible, non-sequential identifier.

AcyMailing measures opens and clicks with an invisible image and with links that carry, in plain text, the email ID and the subscriber ID: sequential numbers that anyone who sees the URL can read, and that are easy to forge.

= What it does =

This add-on replaces those IDs, at sending time, with a random AES-256-GCM code (different for every email) and decodes it when the open or click comes in. Opens and clicks keep showing up in AcyMailing reports. Nothing to configure: the key is derived from your WordPress salts.

* Forged URLs record nothing; the link still leads to the right page.
* Links in emails sent before activation keep counting.
* If encryption fails, the email is sent anyway.

It covers the identifier part of the guidelines. Privacy notice, consent and the option to stop tracking remain the sender's responsibility.

Requires AcyMailing 10 or later. Tested on WordPress 7.1 with AcyMailing 11.0 and 11.1.

(c) 2026 RadarWave di Gianluca Sordiglioni - www.radarwave.it

== External services ==

This plugin does not connect to any external service and sends no data to RadarWave. Opens and clicks are recorded by AcyMailing on your own site, as before; the plugin only encrypts and decrypts the identifiers locally.

== Changelog ==

= 1.0.9 =
* Joomla only: the add-on files carry the standard Joomla access check. No change for WordPress.

= 1.0.8 =
* Joomla only: the plugin is named RadarWave Encrypted Tracking for AcyMailing, as on WordPress.org. No change for WordPress.

= 1.0.7 =
* Name and slug for WordPress.org: RadarWave Encrypted Tracking for AcyMailing (radarwave-encrypted-tracking-for-acymailing).
* Uninstall finds AcyMailing where it is loaded instead of assuming its folder. No change for Joomla.

= 1.0.6 =
* Fix: on Joomla the unsubscribe and «view in browser» links of tracked emails returned an error (the encryption class was loaded twice). WordPress was not affected; the class is now loaded once everywhere.

= 1.0.5 =
* Joomla only: the plugin name ends with «(RadarWave)» again, so a search for «radar» in the plugin list finds it. No change for WordPress.

= 1.0.4 =
* Copyright notice in every file.

= 1.0.3 =
* Description: why the plugin exists (Italian Data Protection Authority guidelines on tracking pixels, EU ePrivacy Directive, GDPR).

= 1.0.2 =
* Tested with AcyMailing 11.1.

= 1.0.1 =
* Name and package for WordPress.org.
