=== PDN152 Compliance ===
Contributors: devsay
Tags: privacy, consent, cookies, personal-data, woocommerce
Requires at least: 5.6
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Tools for Russian 152-FZ compliance: privacy documents, cookie banner, consent log, and form/WooCommerce integrations.

== Description ==

**PDN152 Compliance** helps website owners collect consents and prepare documents for compliance with Russian Federal Law No. 152-FZ “On Personal Data”.

Official website: [fz-pdn.ru](https://fz-pdn.ru/).

All built-in features in this WordPress.org plugin are fully available. There is no license key requirement and no locked functionality.

Main features:

* Cookie banner with cookie categories and stored user choices.
* Generate and publish documents on the site (personal data policy, cookie policy, consent text, mailing consent, public offer, and more).
* Consent log in the admin area (date, IP address, and source), with configurable retention.
* Integrations: WordPress registration, WooCommerce, Elementor, Contact Form 7, WPForms.
* Policy wizard, Roskomnadzor-oriented export helpers, and site readiness checks.
* Optional account deletion / personal-data destruction workflow (disabled until enabled in settings).

Important notes:

* The plugin does **not** send notifications to Roskomnadzor automatically. It helps you prepare data and texts.
* Optional external network checks (see **External services**) are **off by default** and run only when you enable them and manually run a compliance scan (or enable the optional weekly email report).

== External services ==

This plugin may connect to third-party / external services for optional features. External network checks require an explicit opt-in in **Settings → Privacy & external checks**. No remote calls to these services are made until you enable the option and run a compliance scan (or enable the optional weekly email report).

= ip-api.com (GeoIP) =

Used only during a compliance scan (when opt-in is enabled) to estimate the country of the site host IP (resolved via DNS).

* Data sent: the site host IP address.
* When: only when external checks are enabled and a scan runs.
* Service: [ip-api.com](https://ip-api.com/)
* Terms of use: [https://ip-api.com/docs/legal](https://ip-api.com/docs/legal)
* Privacy policy: [https://ip-api.com/privacy](https://ip-api.com/privacy)

= pd.rkn.gov.ru (Roskomnadzor personal-data operators portal) =

Used only during a compliance scan (when opt-in is enabled) to look up the public operators registry. The plugin sends a registry search request to `pd.rkn.gov.ru` (including endpoints under `/operators-registry/`).

* Data sent: the operator INN from plugin settings (JSON body).
* When: only when external checks are enabled and a scan runs. The plugin never submits notifications to Roskomnadzor automatically.
* Service / portal: [https://pd.rkn.gov.ru/](https://pd.rkn.gov.ru/)
* Registry listing: [https://pd.rkn.gov.ru/operators-registry/operators-list/](https://pd.rkn.gov.ru/operators-registry/operators-list/)
* Terms of use / legal basis (Federal Law No. 152-FZ “On Personal Data”): [http://pravo.gov.ru/proxy/ips/?docbody=&nd=102108264](http://pravo.gov.ru/proxy/ips/?docbody=&nd=102108264)
* Privacy policy (Roskomnadzor personal data processing regulation): [https://rkn.gov.ru/chamber-of-commerce/polozhenie-ob-obrabotke-personalnykh-dannykh/](https://rkn.gov.ru/chamber-of-commerce/polozhenie-ob-obrabotke-personalnykh-dannykh/)
* Related information: [https://rkn.gov.ru/activity/personal-data/](https://rkn.gov.ru/activity/personal-data/)

= whois.com (manual link only) =

The scan report may show a manual Whois URL for the site domain. The plugin does **not** send automatic requests to whois.com.

* Service: [https://www.whois.com/](https://www.whois.com/)
* Terms: [https://shop.whois.com/support/legal.php](https://shop.whois.com/support/legal.php)
* Privacy: [https://shop.whois.com/privacy/privacy](https://shop.whois.com/privacy/privacy)

The optional weekly compliance email report is **disabled by default**. When you enable it, it emails a report to the address you configure; if external checks are also enabled, that report generation may contact ip-api.com and/or pd.rkn.gov.ru as described above.

== Installation ==

1. Upload the `pdn152-compliance` folder to the `/wp-content/plugins/` directory.
2. Activate the plugin through the “Plugins” screen in WordPress.
3. Open “FZ-152 Compliance → Settings” and fill in the operator details.
4. Open “FZ-152 Compliance → Policy Wizard” and save your data.
5. Review the created document pages and add links to your menu or footer if needed.
6. (Optional) Enable “External network checks” only if you want GeoIP / registry hints during scans.

== Frequently Asked Questions ==

= Does the plugin create pages automatically? =

Yes. On activation, the plugin creates pages with shortcodes to display documents (if pages with those slugs do not already exist).

= Will deactivation delete my data? =

No. Deactivation only removes scheduled cron jobs. Full cleanup runs when you permanently delete the plugin (standard “Delete” in WordPress).

= Are WooCommerce, Elementor, Contact Form 7 and WPForms supported? =

Yes. When those plugins are installed, integrations can be used. Configure each integration in the plugin settings.

= Is a license key required? =

No. This WordPress.org distribution is fully functional without a license key.

== Screenshots ==

1. Plugin settings page.
2. Cookie banner and cookie category panel.
3. Documents section and on-site publishing.
4. User consent log.
5. Policy wizard (Roskomnadzor form structure).

== Changelog ==

= 1.0.0 =
* Initial public release (fully unlocked for WordPress.org; optional external checks opt-in).
