=== Opti-Behavior Pro – Session Recordings, Error Tracking and Advanced Heatmaps ===
Contributors: optiuser
Donate link: https://optiuser.com/
Tags: session recording, heatmap, error tracking, analytics, visitor tracking
Requires at least: 5.8
Tested up to: 6.9.4
Requires PHP: 7.4
Stable tag: 1.7.1
License: Commercial (see LICENSE file)
License URI: https://optiuser.com/license/
Requires Plugins: opti-behavior

Pro add-on for Opti-Behavior: session recordings, error tracking, form analytics and advanced heatmaps. Self-hosted Hotjar alternative. GDPR-ready. Your data, your server.

== Description ==

**Opti-Behavior Pro** is the premium add-on for the [Opti-Behavior](https://wordpress.org/plugins/opti-behavior/) free plugin — extending it with **session recordings**, **error tracking**, **friction detection**, **form analytics**, **user journey maps**, and **advanced heatmap filtering**. Together they deliver a complete, 100% self-hosted **behavior analytics** suite: the most powerful **Hotjar alternative** and **Microsoft Clarity alternative** for WordPress, with full **GDPR compliance** and absolute **data privacy**. Every session replay, click, scroll, and error stays on YOUR server — no cloud, no third-party access, no monthly SaaS fees.

Powered by the same **Hybrid Storage engine** as the free plugin, Opti-Behavior Pro handles millions of events with zero performance impact. The tracking script is lightweight and loads asynchronously, keeping your Core Web Vitals pristine while you gain deep insight into real user behavior.

= Pro Features =

**Session Recordings**

Watch exactly how real visitors navigate your site with full **session replay** playback:

* Full mouse movement, click, scroll, and navigation playback
* Encryption and privacy controls — mask sensitive fields automatically
* Filter recordings by device, country, session duration, and page visited
* Skip idle time for faster review
* Rage click and dead click detection built into the player
* **Unlimited session recordings** — no caps, no sampling (Hotjar free: 35/day)

This is true self-hosted **session replay**: every recording is stored in your WordPress file system. No data leaves your server.

**Error Tracking**

Catch and fix JavaScript errors before they hurt your conversion rate:

* Real-time JavaScript error capture (message, stack trace, file, line)
* Network error monitoring (failed XHR/fetch requests, HTTP status codes)
* **Core Web Vitals** tracking: LCP (Largest Contentful Paint), INP (Interaction to Next Paint), CLS (Cumulative Layout Shift), FCP (First Contentful Paint), TTFB (Time to First Byte)
* Error frequency trends and affected page breakdown
* Correlate errors with session recordings for instant debugging

**Friction Detection**

Automatically identify UX problems destroying your conversions:

* **Rage click detection** — finds elements users click repeatedly out of frustration
* **Dead click detection** — uncovers buttons and links that appear clickable but do nothing
* Friction heatmap overlay showing problematic zones at a glance
* Filter friction events by device, date, and page

**Broken Link Detection**

Keep your site healthy and your SEO rankings intact:

* Automatic scan of all outbound and internal links
* Broken link list with HTTP status codes and affected pages
* Prioritize fixes by link traffic and frequency

**User Journey Analytics**

Understand the full visitor path through your site with beautiful **Sankey diagram** visualization:

* Multi-step path flow from entry to exit page
* Drop-off identification at each journey node
* Filter by device, country, and date range
* Reveal the most common conversion paths and abandonment points

**Form Analytics**

Optimize every form field with granular interaction data:

* Field-level tracking: time spent per field, focus/blur events
* Error field identification — which fields cause the most form errors
* Refill rate per field — fields users correct most often
* Abandonment analysis — which field causes users to leave the form
* Full funnel view from form start to successful submission

**Advanced Heatmap Filtering**

The free plugin records all heatmap data. Pro unlocks powerful segmentation:

* Filter heatmaps by **country** — see how French vs US visitors interact differently
* Filter by **browser** (Chrome, Firefox, Safari, Edge) for cross-browser UX issues
* Filter by **device** (Desktop, Mobile, Tablet) for responsive design optimization
* Filter by **date range** to track changes before/after redesigns
* Combined multi-filter support

**Priority Support**

Get dedicated help from the Opti-Behavior team when you need it most — skip the public forum queue with direct priority support.

= Self-Hosted and Private =

Unlike **Hotjar**, **Microsoft Clarity**, **FullStory**, or **LogRocket**, Opti-Behavior Pro stores every session recording, error log, form interaction, and user journey 100% locally on your WordPress server. Your visitors' behavioral data is never transmitted to any external server. You are the sole data controller — no DPA required, no cross-border transfer concerns, no GDPR grey zones.

* **No cloud dependency** — works fully offline, no API keys needed
* **No data sharing** — Microsoft, Google, and Hotjar cannot access your data
* **No session limits** — track every visitor, not just a sample
* **No monthly bills** — one-time Pro upgrade, not a per-session SaaS subscription
* **GDPR compliant by design** — self-hosted means you own everything

= Free Trial =

**Try Pro FREE for 6 months — no credit card required!**

Install the free Opti-Behavior plugin first, then click "Try Pro Free" in your WordPress admin. You'll receive a 6-month Pro trial license automatically, giving you full access to session recordings, error tracking, form analytics, user journeys, and all Pro features from day one.

[Download Opti-Behavior Pro](https://optiuser.com/opti-behavior/ob-download-pro/)
[Learn more about Opti-Behavior Pro](https://optiuser.com/opti-behavior/)

= Best Hotjar Alternative for WordPress =

Searching for the best **Hotjar alternative** for WordPress? Opti-Behavior Pro delivers everything Hotjar offers — **session recordings**, heatmaps, conversion funnels, form analytics, and error tracking — but keeps 100% of your visitor data on YOUR server. Hotjar's equivalent plan costs $213+/month and ships all your data to AWS Ireland. Opti-Behavior Pro stores every recording and interaction locally, with no monthly fees, no session caps, and no third-party data access. It is the definitive self-hosted **behavior analytics** solution for privacy-conscious WordPress sites.

= Microsoft Clarity Alternative with Full Data Privacy =

**Microsoft Clarity** is free, but there is a significant catch: Microsoft acts as an **independent data controller** and may use your visitors' behavioral data for advertising purposes — you have zero control. Opti-Behavior Pro is the ideal **Microsoft Clarity alternative**: you get the same session recordings and heatmaps but your data stays exclusively on your WordPress server. No Microsoft. No data sharing. No GDPR grey zones. Plus, Opti-Behavior Pro adds form analytics, error tracking with Core Web Vitals, friction detection, user journey Sankey diagrams, and broken link monitoring that Clarity simply does not offer.

= Google Analytics Alternative with Behavior Analytics =

Need a **Google Analytics alternative** that goes deeper with **session recordings**, heatmaps, and form analytics? Opti-Behavior (free) provides the full real-time analytics dashboard, while Opti-Behavior Pro layers advanced **visitor tracking** — session replays, error logs, and user journeys — on top. All data is stored locally: no ad targeting, no cookie consent banners required, no cross-border data transfers.

= Perfect For =

* **Privacy-Conscious Website Owners** — All visitor recordings and behavioral data stay on your server
* **EU-Based Businesses** — Self-hosted means zero cross-border data transfer concerns
* **E-Commerce Stores** — Replay checkout sessions, detect form errors, and fix cart abandonment without sharing customer data
* **Agencies** — Deliver advanced behavior analytics to clients without per-site SaaS subscriptions
* **Healthcare, Finance & Legal Sites** — Meet strict data handling requirements; you are the sole data controller
* **SaaS & App Landing Pages** — Understand onboarding friction with form analytics and session recordings
* **Content Publishers** — See exactly how readers scroll, click, and engage
* **WooCommerce Stores** — Track cart behavior, analyze product pages, optimize checkout funnels

== Installation ==

= Requirements =

Opti-Behavior Pro **requires** the free [Opti-Behavior](https://wordpress.org/plugins/opti-behavior/) plugin to be installed and activated first.

= Automatic Installation (Recommended) =

1. Install and activate the free **Opti-Behavior** plugin from WordPress.org
2. In your WordPress admin, navigate to **Opti-Behavior → Session Recordings** (or any Pro page)
3. Click **"Try Pro FREE for 6 Months"** to generate your trial license automatically
4. Download the Pro plugin zip from the link provided
5. Go to **Plugins → Add New → Upload Plugin**
6. Upload the downloaded zip and click **Install Now**
7. Activate **Opti-Behavior Pro**

= Manual Installation =

1. Download the Opti-Behavior Pro zip from [optiuser.com](https://optiuser.com/opti-behavior/ob-download-pro/)
2. Log in to your WordPress admin panel
3. Navigate to **Plugins → Add New → Upload Plugin**
4. Choose the downloaded zip file and click **Install Now**
5. Click **Activate Plugin**
6. Ensure the free Opti-Behavior plugin is also active

= After Activation =

1. Navigate to **Opti-Behavior → Recordings** to start reviewing session recordings
2. Check **Opti-Behavior → Error Tracking** for JavaScript and network errors
3. Open **Opti-Behavior → User Journeys** to view Sankey path visualization
4. Visit **Opti-Behavior → Form Analytics** to analyze form field interactions
5. Go to **Opti-Behavior → Heatmaps** — Pro advanced filters are now available
6. Enter your Pro license key in **Settings → License** if prompted

That's it — Opti-Behavior Pro starts capturing session recordings and errors immediately after activation.

== Frequently Asked Questions ==

= Does Opti-Behavior Pro work without the free plugin? =

No. Opti-Behavior Pro is a premium add-on that **requires the free Opti-Behavior plugin** to be installed and activated. The free plugin provides the core tracking engine, data storage, analytics dashboard, heatmaps, and funnels. Pro extends it with session recordings, error tracking, form analytics, user journeys, and advanced heatmap filters.

= Where are session recordings stored? =

All session recordings are stored in your WordPress file system (inside `wp-content/uploads/opti-behavior-data/`). No recording data is ever sent to any external server. Recordings are encrypted and only accessible through your WordPress admin.

= How is this different from Hotjar? =

Hotjar sends all session recordings and heatmap data to their cloud servers (AWS Ireland). You have zero control over where your data goes. Hotjar's equivalent plan costs $213+/month ($2,556/year). Opti-Behavior Pro keeps every recording and interaction on YOUR server, with no monthly fees and no session caps (Hotjar free limits you to just 35 sessions per day).

= How is this different from Microsoft Clarity? =

Microsoft Clarity is free but Microsoft acts as an **independent data controller** — they use your visitors' behavioral data for their own purposes including advertising. With Opti-Behavior Pro, all session recordings, error logs, and user journey data stay exclusively on your WordPress server. You are the sole data controller. Opti-Behavior Pro also adds form analytics, friction detection, error tracking with Core Web Vitals, and broken link detection that Clarity does not offer.

= Does session recording impact my site's performance? =

No. The recording script is lightweight and loads 100% asynchronously — it never blocks page rendering. Events are batch-processed and stored via the Hybrid Storage engine (optimized files on disk, not direct DB writes). This is lighter than Hotjar, FullStory, or LogRocket. We have tested on high-traffic sites with zero Core Web Vitals impact.

= Is session recording GDPR compliant? =

Yes. Since all recordings are stored locally on your WordPress server, there are no cross-border data transfers. Sensitive form fields are masked automatically by default. You control data retention and can delete all recordings at any time. No DPA with a third-party processor is needed because YOU are the only data controller.

= Can I try Pro for free? =

Yes! **Try Pro FREE for 6 months — no credit card required.** Install the free Opti-Behavior plugin, then click "Try Pro Free" in your WordPress admin to get a 6-month Pro trial license automatically. [Start your free trial](https://optiuser.com/opti-behavior/ob-download-pro/).

= What Core Web Vitals does Error Tracking monitor? =

Opti-Behavior Pro tracks the current Core Web Vitals: **LCP** (Largest Contentful Paint), **INP** (Interaction to Next Paint), **CLS** (Cumulative Layout Shift), **FCP** (First Contentful Paint), and **TTFB** (Time to First Byte). FID (First Input Delay) was removed by Google in March 2024 and is no longer part of the Core Web Vitals program. All vitals are captured client-side and stored locally — no external reporting service required.

== Screenshots ==

1. Session recording player with mouse movement replay, click highlights, and rage click indicators
2. Error tracking dashboard showing JavaScript errors, network failures, and Core Web Vitals scores
3. User journey Sankey diagram visualization showing visitor paths through the site
4. Form analytics field-level breakdown: time per field, error rate, refill rate, and abandonment
5. Advanced heatmap filtering panel — filter clicks by country, browser, device, and date range
6. Friction detection heatmap highlighting rage click and dead click zones
7. Broken link detection report with HTTP status codes and affected page list
8. Session recording list with filters for device, country, duration, and page visited

== Changelog ==
= 1.7.1 - 2026-07-06 =
* Fix: Pro no longer shows "installation unavailable / BLOCKED" on sites whose wp-config.php does not define the AUTH_KEY salt. The license signing key (master_secret) is now wrapped with a stable per-site key when AUTH_KEY is absent, so the key persists and the plugin self-heals on the next admin page load — no reinstall or manual steps required.

= 1.7.0 - 2026-07-04 =
* Maintenance: Synced Opti-Behavior Pro to 1.7.0 to match the Free release line for a unified Free/Pro upgrade. No new Pro features or data changes — all Pro analytics remain live and exact.
* Compatibility: Verified against the Free 1.7.0 WordPress.org Plugin Check compliance pass. Requires Opti-Behavior (Free) 1.7.0+.

= 1.6.5 - 2026-06-28 =
* Feature: Added a Session Recordings funnel-cohort deep-link filter so a funnel step opens the matching recordings cohort directly.
* Enhancement: Completed admin-interface translations for French, German, Spanish, Brazilian Portuguese, and Italian across Session Recordings, Errors, Forms, User Journey, Heatmaps, and A/B Testing.
* Fix: Scroll heatmap now shows true scroll reach — the cumulative percentage of sessions that scrolled to each depth (100% at the top, fading down) instead of a viewport-stop dwell density that duplicated the Attention heatmap. Mirrors the Free fix; consumes the Free scroll-reach aggregator. Click, Move, and Attention heatmaps are unchanged.
* Fix: Corrected the Errors KPI sparkline hover tooltip so it no longer overlaps the bars on hover.
* Fix: Fixed User Journey dropdown overlap and restored tooltip country flags, browser, and device icons.
* Fix: Restored Heatmap Detail filters that returned empty on the "All Devices" view, and corrected detail filter flags and browser icons.
* Fix: Improved the Heatmap "Delete Heatmap Data" flow so the confirmation notice stays visible and the view and stats clear correctly.

= 1.6.4 - 2026-06-25 =
* Fix: Brand-new trial->Pro installs no longer get stuck on "installation unavailable" / BLOCKED while the license shows "Active Trial". The Pro plugin now self-heals the provisioning desync where it marked itself registered without ever receiving its API signing key (master_secret), by re-registering once to recover the key so signed manifest/license-status requests authenticate again.
* Fix: The licensing server now returns the existing signing key when an already-registered domain re-registers, so fresh installs receive their key on the first registration call.
* Security: Recovery still requires a valid Ed25519-signed, installation_id-bound manifest; revoked states still disable Pro. No signature or anti-piracy check was relaxed.

= 1.6.3 - 2026-06-25 =
* Fix: License gate no longer shows "installation unavailable" / BLOCKED while the license is active. The gate now derives license state from the Ed25519-verified license manifest when the short-lived signed status payload cannot be verified (e.g. server/site clock skew), instead of failing closed.
* Fix: Status-payload signature verification now matches the server's JSON canonicalization (unescaped slashes and unicode), fixing signature mismatches on payloads containing non-ASCII data.
* Security: Manifest fallback path now binds the signed installation_id, rejecting replayed manifests from other installs.

= 1.6.2 - 2026-06-21 =
* Enhancement: Improved mobile display compatibility across Session Recordings, Heatmaps, A/B Testing, Errors, Forms, User Journey, replay/player, and Pro admin feature pages.
* Fix: Improved Heatmap detail behavior with pending overlays, restored overlay coverage, guest/default handling, and filter/stat alignment.
* Fix: Kept Pro dashboard and reporting flows aligned with Free analytics fixes for sparse history, Traffic Overview, and cross-module metric consistency.
* Security: Hardened license artifact protection, manifest/domain-hash verification, and fail-closed feature/access guard behavior for safer Pro data access.

= 1.6.1 - 2026-06-09 =
* Maintenance: Synced the Pro package version with Free 1.6.1 so Free+Pro installs receive the Dashboard Traffic Classification consistency fix together.

= 1.6.0 - 2026-06-08 =
* Enhancement: Aligned Pro analytics with the Free canonical spam-filtered reporting model across Session Recordings, User Journeys, Error Tracking, Form Analytics, Pro A/B Testing, Smart Insights providers, Heatmap detail stats, and related-report drilldowns.
* Enhancement: Expanded Smart Insights Pro signal/provider coverage, related-report routing, and realistic-traffic evidence handling for recordings, journeys, forms, errors, segments, A/B testing, and WooCommerce optimization signals.
* Fix: Improved Heatmap detail statistics, explicit spam-filter handling, page analytics synchronization, session-page counters, replay markers, and recording/event totals so Pro detail views match the canonical analytics facts.
* Fix: Preserved A/B element target saves, improved WooCommerce A/B targeting/scheduler protections, and hardened Pro A/B report calculations with spam-filtered result handling.

= 1.5.35 - 2026-05-26 =
* Feature: Added manifest-gated Smart Insights Pro integration with providers for recordings, user journeys, forms, errors, segments, and A/B testing.
* Feature: Added advanced Pro CRO signals for mobile friction, traffic quality, campaign mismatch, funnel drop-off, form abandonment, CTA performance, rage/dead clicks, conversion drops, engagement decay, and checkout/product drop-offs.
* Enhancement: Added Smart Insights related-report routing so Pro users can jump from a signal to matching recordings, journeys, forms, errors, heatmaps, and A/B reports with cohort/date context.
* Fix: Guarded Pro Smart Insights signals by license manifest access and cleaned stale invalid signal cards from upgraded installs.
* Fix: Aligned Session Recordings event counts across replay data, page timelines, visible markers, and stored event totals.
* Fix: Improved consent-upgrade continuity, multi-tab session de-duplication, and resolved administrator contact handling during Pro registration.

= 1.5.34 - 2026-05-14 =
* Feature: Added file-based statistics and analytics exports that save Opti-Behavior data as CSV or JSON for use in external tools, reporting workflows, integrations, and AI-agent analysis.
* Enhancement: Added multilingual survey copy coverage (`fr_FR`, `de_DE`, `es_ES`, `pt_BR`, `it_IT`) and ensured plugins.php honors the Opti-Behavior admin language setting.

= 1.5.33 - 2026-05-03 =
* Fix: Heatmap Detail iframe height no longer enters viewport-height feedback loops on pages with 100vh/min-height wrappers, preventing runaway growth and clipped footers.
* Fix: Added safer cache-busted Pro heatmap asset versioning for this hotfix release.

= 1.5.32 - 2026-05-02 =
* Feature: Added a per-page heatmap reset button on Heatmap Detail pages so admins can delete stale heatmap data after major page redesigns without deleting session recordings, sessions, or analytics history.
* Enhancement: Optimized and polished the Frontend Stats Bar overlay for cleaner frontend admin stats display.
* Enhancement: Added advanced GDPR compact consent banner controls for improved privacy-banner design and behavior.
* Fix: A/B Visual Editor launch and preview flows remain popup-safe with browser privacy extensions and ad blockers.

= 1.5.31 - 2026-04-28 =
* Feature: Added expanded Pro A/B testing tools for advanced experiments, visual variant previews, winner application, and conversion goal tracking.
* Feature: Added improved A/B test reporting with impressions, conversions, conversion rate, winner indicators, and clearer experiment performance summaries.
* Enhancement: Improved A/B attribution for page-split variant pages and cross-page goals so Pro experiment results stay accurate across visitor journeys.
* Maintenance: Corrected Pro package metadata, plugin header, version constants, readme stable tag, and changelog for the 1.5.31 release.

= 1.5.30 - 2026-04-09 =
* Fix: False-positive broken links — same-origin images and internal pages no longer flagged as "Blocked" when server blocks HEAD requests (LiteSpeed Cache, WAF). HEAD failures now fallback to GET verification before saving
* Fix: Error source now shows actual JS file path instead of generic "admin-ajax.php" — uses call stack capture at fetch/XHR call time
* Fix: Session recorder console.log/warn messages now gated behind the Debug & Logging "Enable JavaScript Debug Logging" setting — no more console spam on production sites
* Enhancement: JS Errors page file links now show full URL on mouse hover (tooltip) and are clickable to open the source file directly
* Enhancement: IMG resource error verification uses HEAD + GET fallback with _optiVerify flag to prevent XHR interceptor self-tracking

= 1.5.29 - 2026-04-07 =
* Fix: Attention heatmap showing click stats instead of scroll stats
* Enhancement: Admin tracking settings, admin bar offset, login detection
* Enhancement: Translations updated (FR, DE, ES, IT, PT-BR)
* Feature: Onboarding popup 

= 1.5.28 - 2026-04-05 =
* Fix: auto-updater reliability on production sites

= 1.5.27 - 2026-04-05 =
* Enhancement: Replace raw console.log/warn/info in session-recorder.js
* Fix: All visitor-facing and admin console output now respects the debug logging settings in wp-admin

= 1.5.26 - 2026-04-05 =
* Fix: Session recording playback shows white empty page on live server — set inlineStylesheet:false to prevent oversized FullSnapshot payloads (3–7 MB) that Hostinger nginx rejects
* Fix: Added oversized-payload guard in session-recorder.js — warns when non-beacon payload exceeds 1 MB
* Fix: PHP empty-events guard — rejects AJAX saves with no events when no DB row exists yet
* Enhancement: Comprehensive debug logging in JS (FullSnapshot detection, save batch type distribution, server response) and PHP (error_log for event types, FullSnapshot presence, file save confirmation)
* Fix: Removed console plugin from rrweb config to eliminate type-6 events and extra payload bulk

= 1.5.24 - 2026-04-03 =
* Feature: Auto 6-month trial — old users upgrading now automatically receive an API-backed trial license via version migration
* Fix: PHP 7.4 compatibility — added defensive OpenSSL extension checks in encrypt/decrypt functions to prevent fatal errors on hosts without OpenSSL
* Fix: Sodium exception handling — changed catch(Exception) to catch(Throwable) in keypair generation to properly catch SodiumException on PHP 7.x
* Fix: Wrapped all crypto operations (encrypt_secret_key, decrypt_secret_key) in try/catch Throwable for graceful degradation on any hosting environment
* Fix: Manifest manager loading wrapped in try/catch to prevent site crashes from file-level errors
* Fix: Removed accidental debug register_shutdown_function code left from development
* Enhancement: Added Requires PHP: 7.4 header to both free and Pro plugins — WordPress now blocks activation on unsupported PHP versions
* Enhancement: Plugin gracefully degrades instead of crashing when sodium or openssl extensions are unavailable

= 1.5.23.1 - 2026-04-03 =
* Fix: Resolved all WordPress Plugin Check errors and warnings (escape output, nonce verification, readme compliance)
* Fix: GDPR consent banner not displaying — admin-notices CSS/JS no longer hides plugin's own ob-* elements
* Enhancement: Default auto-cleanup on fresh install (weekly, 90-day retention, bot/bounce session removal)
* Enhancement: Moved Pro trial offer above feature list on welcome page for better visibility
* Fix: Consent banner logic simplified — removed obsolete checkbox, uses Consent Banner Source radios only

= 1.5.21.11 - 2026-03-29 =
* Enhancement: PHP header description updated for clarity and SEO alignment
* Enhancement: readme.txt created with full WordPress.org-optimized content, keyword-rich descriptions, and competitor-positioning sections

= 1.5.21 =
* Enhancement: Session recording encryption and privacy masking improvements
* Enhancement: Core Web Vitals dashboard redesign with historical trend charts
* Enhancement: Form analytics field-level abandonment tracking accuracy improvements
* Fix: Session player idle-skip button timing offset
* Fix: User journey Sankey node overflow on small screens
* Fix: Error tracking network error deduplication for repeated failed requests

== Upgrade Notice ==

= 1.7.0 =
Version-sync release aligning Opti-Behavior Pro with the Free 1.7.0 release line. No new Pro features or data changes. Requires Opti-Behavior (Free) 1.7.0+. Recommended for all Pro sites to keep the Free/Pro pair in step.

= 1.6.5 =
Completes the admin-interface translations (French, German, Spanish, Brazilian Portuguese, Italian), adds a Session Recordings funnel-cohort deep-link filter, and fixes the Scroll heatmap to display true scroll-reach (% of sessions reaching each depth) instead of a dwell density, plus Errors KPI tooltip, User Journey, and Heatmap Detail fixes. Requires Opti-Behavior (Free) 1.6.5+. Recommended for all Pro sites.

= 1.6.4 =
Critical fix for brand-new installs: resolves Pro showing "installation unavailable"/BLOCKED on a valid active trial when the API signing key was never stored. Self-heals on next admin load. Recommended for all Pro sites.

= 1.6.3 =
Critical license fix: resolves Pro showing "installation unavailable"/BLOCKED on valid active licenses caused by clock skew or signature canonicalization. Recommended for all Pro sites.

= 1.6.2 =
Improves Pro mobile admin layouts, Heatmap detail reliability, Dashboard/reporting consistency, and license-manifest data-safety protections. Recommended for all Pro sites.

= 1.6.1 =
Keeps Pro package metadata aligned with the Free 1.6.1 dashboard traffic-classification fix.

= 1.6.0 =
Major Pro protection and analytics-consistency release. Adds a fail-closed feature guard plus canonical spam-filtered reporting across Pro modules. Recommended for all Pro sites.

= 1.5.31 =
Adds expanded Pro A/B testing tools, improved experiment reporting, and more reliable page-split/cross-page goal attribution. Recommended for all Pro A/B testing users.

= 1.5.24 =
Critical: Fixes PHP 7.4 crash on hosts without OpenSSL extension. Adds auto 6-month trial for upgrading users. All crypto operations now fail gracefully instead of crashing. Recommended for all users.

= 1.5.21.11 =
Documentation and metadata update. No functional changes.

== Privacy Policy ==

Opti-Behavior Pro extends the free plugin's data collection with additional behavioral signals. All data collected by Pro features — session recordings, error logs, form interactions, user journey paths — is stored exclusively on your WordPress server. No behavioral data is ever transmitted to any external service.

**Session Recordings store:**
* Mouse movement coordinates
* Click targets and positions
* Scroll events
* Navigation events (URL changes)
* Keyboard input (form fields are masked by default)

**Error Tracking stores:**
* JavaScript error messages and stack traces
* Network request URLs and HTTP status codes
* Core Web Vitals measurements

**All data is stored locally.** You are the sole data controller. Ensure your site's privacy policy discloses session recording to visitors.

== Third-Party Libraries ==

Opti-Behavior Pro bundles the same open-source libraries as the free plugin, plus:

= rrweb =
* License: MIT License
* Homepage: https://www.rrweb.io/
* Used for: Session recording capture and playback

= Lucide =
* Version: 0.554.0
* License: ISC License
* Homepage: https://lucide.dev/
* Used for: Icon library for the admin interface

All bundled libraries use GPL-compatible licenses and are included locally within the plugin.
