=== Karypto Analyse ===
Contributors: karypto
Tags: analytics, cookie consent, privacy, gdpr, tracking
Requires at least: 6.0
Tested up to: 7.1
Stable tag: 1.6.1
Requires PHP: 8.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Self-hosted web analytics and consent management with automatic blocking for common external services.

== Description ==

Karypto Analyse combines privacy-friendly, self-hosted website analytics with a configurable cookie consent banner. Analytics data is stored in the existing WordPress database. The plugin does not require an external analytics account or analytics CDN.

The dashboard reports page views, active time, engagement, tracked button clicks and, when consent mode is used, sessions and bounce rate.

= Analytics features =

* Self-hosted storage in the WordPress database
* Page views, active time and engagement rate
* Explicitly marked button-click events
* Optional cookie-free anonymous tracking mode
* Consent-based sessions and bounce rate
* Multiple tracked websites with domain allowlists
* Configurable raw-data retention from 7 to 365 days
* Bot filtering and support for Do Not Track and Global Privacy Control
* Dashboard in WordPress Admin and an optional protected `/Analyse/` view
* Separate read-only Karypto Analyst role

= Consent management features =

* Configurable cookie banner with logo, brand name, colors, layout and text
* Separate consent categories for statistics, marketing and external media
* Necessary-only, custom selection and accept-all choices
* Consent can be changed later through a persistent privacy-settings control
* Server-side blocking of recognized scripts, pixels and iframes before consent
* Built-in detection for YouTube, Vimeo, Google Maps, Google Analytics, Google Ads, Google Tag Manager, Meta Pixel, Matomo, Plausible, Microsoft Clarity, Hotjar and other common services
* Custom service domains can be assigned to a consent category
* Optional strict mode for all external scripts and iframes

= Languages =

The public cookie banner and the Karypto Analyse dashboard can be configured independently in:

* English
* German
* Spanish
* Italian
* Ukrainian
* Polish
* French
* Dutch

English is the default language for new installations. Banner text can still be customized after selecting a language.

= Privacy =

Karypto Analyse is designed for data-minimizing, first-party measurement. Configuration, website content and applicable law differ between sites. Installing this plugin does not by itself guarantee compliance with the GDPR, ePrivacy rules or other laws. Site operators remain responsible for configuring the consent categories, privacy information, retention period and blocked services correctly and for obtaining legal advice when required.

No personal data, email addresses or form contents should be used as custom event names.

== Installation ==

1. Upload the plugin ZIP through **Plugins > Add New Plugin > Upload Plugin**, or upload the `karypto-analyse-wordpress` directory to `/wp-content/plugins/`.
2. Activate **Karypto Analyse**.
3. Open **Karypto Analyse > Websites** and verify the automatically created website entry and allowed domains.
4. Open **Karypto Analyse > Cookie banner & services** to select the dashboard language, banner language, logo, privacy-policy URL and colors.
5. Clear all page, server and CDN caches.
6. Test the website in a private browser window with both necessary-only and accept-all choices.

The plugin uses the existing WordPress database connection. No separate database credentials are required.

If `/Analyse/` returns a 404 response, open **Settings > Permalinks** and save the permalink settings once.

== Frequently Asked Questions ==

= Does the plugin send analytics data to Karypto or another provider? =

No. The included analytics data is stored in the WordPress database of the installation that receives the tracking events.

= Does the plugin use cookies? =

The anonymous analytics mode does not use an analytics cookie or persistent visitor ID. Consent mode uses a first-party session cookie with a 30-minute lifetime to calculate sessions and bounce rate. The consent banner stores the visitor's privacy choice in a necessary first-party cookie.

= Which services are blocked automatically? =

The known-services mode recognizes common integrations including YouTube, Vimeo, Google Maps, Google Analytics, Google Ads, Google Tag Manager, Meta Pixel, Matomo, Plausible, Microsoft Clarity, Hotjar, TikTok Pixel, LinkedIn Insight and Pinterest tracking. Site-specific implementations must still be tested.

= Can I block an unrecognized service? =

Yes. Add its domain to the statistics, marketing or external-media domain list. Strict mode can block all external scripts and iframes, but may also affect payment providers, booking tools, CDNs or other essential functionality.

= Does automatic blocking work on another website that only uses the generated tracking snippet? =

The generated snippet controls the Karypto tracker and banner. Server-side blocking of existing third-party HTML is available on the WordPress website where this plugin is installed. Third-party scripts already present on another website must be blocked there before they execute.

= Is the plugin legally compliant by default? =

The plugin provides technical privacy and consent controls, but legal compliance depends on the website, services, jurisdiction, configuration and privacy documentation. A site-specific review is required.

= How do I track a button click? =

Add a `data-karypto-event` attribute to the element:

`<a href="/contact" data-karypto-event="contact_request">Contact</a>`

Use a short technical event name and do not include personal data.

= What happens when the plugin is deleted? =

Analytics data is retained by default. Enable the removal option before deletion if all plugin tables and settings should be permanently removed during uninstall.

== Changelog ==

= 1.6.1 =

* Replaced PHP short echo tags with the full WordPress coding-standard syntax throughout the plugin.
* Improved compatibility with the automated WordPress.org plugin scanner.

= 1.6.0 =

* Added selectable dashboard translations for English, German, Spanish, Italian, Ukrainian, Polish, French and Dutch.
* Changed the default language for new installations to English.
* Internationalized all administration, dashboard, standalone-dashboard and API messages using the WordPress text domain.
* Added bundled translation files and a translation template.
* Reworked the WordPress.org readme with accurate installation, privacy, FAQ and compatibility information.

For earlier releases, see `changelog.txt`.

== Upgrade Notice ==

= 1.6.1 =

Resolves the WordPress.org automated scan errors for PHP short echo tags. Existing analytics data and saved settings are preserved.
