=== Quantely Activity ===
Contributors: erravi
Tags: activity log, monitoring, pageviews, events, diagnostics
Requires at least: 6.2
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.1.5
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

See what is really happening on your WordPress website.

== Description ==

Quantely Activity is a WordPress capture layer that records pageviews and events. It helps site owners understand what is happening on their website.

It can be used for:

- Monitoring site behavior
- Reviewing traffic patterns
- Performance diagnostics
- Security and bot analysis
- Feeding downstream analytics layers

Whether JavaScript is blocked, networks are unreliable, redirects interfere, or traffic includes bots, scanners, and logged-in admins, Quantely Activity is built to capture activity reliably under imperfect conditions.

Quantely Activity is turn-key: install it, and pageviews and events should begin appearing shortly after. Raw activity data is stored only briefly, helping keep the plugin lightweight and privacy-conscious.

=== What Quantely Activity is ===

Quantely Activity is a capture and monitoring layer. It is designed to record activity on your site in a structured and reliable way, with a strong focus on signal capture and data integrity.

Unlike many analytics tools, it does not focus on marketing analytics, attribution modelling, or behavioral profiling. It also does not rely solely on browser JavaScript. A server-side baseline helps ensure pageviews are still captured when scripts or beacons fail.

=== Hybrid capture engine ===

The plugin combines server-side pageview capture with optional browser-side signals.

Typical flow:

Browser request  
↓  
Server pageview baseline  
↓  
Browser attach (Beacon)  
- engagement pings  
- interaction events  
↓  
Correlation via pageview identifiers  
↓  
Bot classification and exclusions  
↓  
Deduplication and storage

This architecture helps keep capture reliable under real-world conditions where browser-only tracking can miss signals.

=== Event correlation and deduplication ===

Quantely Activity links browser-side signals back to the pageview where they occurred.

Engagement pings, clicks, form submissions, and similar events can be correlated to their originating pageview. Built-in deduplication helps avoid duplicate records when similar signals are captured from both browser and server-side sources.

This keeps the activity stream more accurate and easier to interpret.

=== Fully on-site ===

All captured activity is stored in your own WordPress database.

Quantely Activity does not send captured activity data to external services. IP addresses are never stored in plain form, and the plugin does not perform cross-site tracking.

=== Privacy-aware design ===

The plugin is designed with privacy-conscious principles in mind:

- No plain IP addresses stored
- Short configurable retention window
- Optional honoring of GPC / DNT signals
- No external tracking services
- Data remains on your own site

This gives site owners visibility into activity while keeping capture local and controlled.

== Installation ==

1. Upload the plugin ZIP via **WordPress Admin → Plugins → Add New → Upload Plugin**
2. Activate the plugin
3. Open **Quantely → Activity** to confirm that hits are being recorded
4. Adjust settings if needed

== Screenshots ==

1. Live activity stream
2. Simple counters
3. Settings and privacy controls
4. Exclusions and bot handling

== Hooks ==

Quantely Activity exposes a small developer API for integrations and downstream processing.

- `qmon_hit_before_insert` — Filter a normalized hit array before it is stored.
- `qmon_hit_recorded` — Action fired after a hit has been stored. This is the main integration point for forwarding or persisting captured records.
- `qmon_event_normalize` — Filter a normalized event payload before it is finalized.
- `qmon_event_db_dedupe_window_sec` — Filter the database deduplication window for events.
- `qmon_bot_verdict` — Filter the bot-classification verdict before it is finalized.

== Frequently Asked Questions ==

= What does Quantely Activity record? =

It records pageviews and interaction events as individual hits.

= Does it replace analytics tools? =

No. Quantely Activity is a capture and monitoring layer. It is not a marketing analytics suite and does not aim to replace long-term analytics reporting.

= Is JavaScript required? =

No. Server-side capture records pageviews without JavaScript. Browser-side JavaScript extends capture with interaction events and engagement pings.

= How long is data stored? =

Raw hits are stored only for a short configurable period, typically between 6 and 48 hours. The plugin is intended for monitoring and diagnostics rather than long-term data warehousing.

= Does it store IP addresses? =

No. Plain IP addresses are not stored. The plugin uses derived or hashed values where needed for classification and exclusion logic.

= Does it send data to external services? =

No. Captured activity is stored locally in the WordPress database.

== Changelog ==

= 1.1.5 =
- Confirmed compatibility with WordPress 7.0.
- Updated plugin metadata for WordPress 7.0 testing.

= 1.0.4 =
- Review hardening for WordPress.org submission
- Improved sanitization, validation, escaping, and internationalization coverage
- Improved REST input sanitization and related code quality refinements

= 1.0.3 =
- Improved event correlation and deduplication behavior
- Expanded diagnostics and integration-related improvements

= 1.0.2 =
- Refinements to monitoring, exclusions, and settings behavior
- Stability and compatibility improvements

= 1.0.1 =
- Minor fixes and internal improvements

= 1.0.0 =
- Initial version prepared during pre-release review.

== Upgrade Notice ==

= 1.1.5 =
Compatibility update confirming testing with WordPress 7.0.

= 1.0.4 =
Maintenance update with review hardening and admin-side improvements.
