Workspace / Settings / System
Local storage
Display detailReadable stories and guided controls.Changes what you see, not collection, alerts, response or permissions.

Explore Pro tools

LESS REBUILDING THE SAME REPORT

Set up the review once. Reuse it next time.

Save the filters for a client, store or team review, then schedule private reports from that saved search.

Scheduled reports in Logged.ai Pro, using fictional demo data.
Genuine plugin screen · fictional demo data · select to enlarge

The Pro add-on is installed. Activate it in WordPress, then activate your licence for this site.

Included in Free

Filter the activity you need and export a private CSV or JSON record on demand.

Added by Pro

Reuse saved searches and generate private reports on a configured schedule, with optional report-ready notices.

Explore the stepsRead-only example · no site changes
1Save the scope

Choose the evidence and filters that answer your recurring question.

Save that definition so the next review starts from the same scope.
2Set the period

Choose the supported period and inspect the retained evidence it contains.

A structured local summary explains the selected records and their limits.
3Configure the repeat

Choose a daily or weekly schedule and, if needed, report-ready email notices. This example creates no schedule.

Background workers generate private reports. An authorized user still needs to open the report; a notice is not the report itself.

SELECT THE CHANGE AND THE DESTINATION

Get selected alerts where your team works.

Configure an email, Slack or HTTPS webhook destination and choose the supported activity that should trigger an alert.

Advanced alerts in Logged.ai Pro, using fictional demo data.
Genuine plugin screen · fictional demo data · select to enlarge

The Pro add-on is installed. Activate it in WordPress, then activate your licence for this site.

Included in Free

Use the included critical security and failure notices. Routine activity notification emails are in Pro.

Added by Pro

Choose configurable rules and email, Slack or webhook destinations, then review recorded delivery results.

Explore the stepsRead-only example · no site changes
1Choose the change

Select a supported permissions-change event and review the rule conditions.

Start with a change your team needs to review; this example saves no rule.
2Choose the destination

Select an email recipient, Slack incoming webhook or HTTPS webhook you control.

Review the destination and its privacy terms before enabling it. This example makes no connection.
3Verify the result

After setup, check the recorded delivery result and confirm receipt with the intended recipient.

A destination accepting a message does not prove a person received or read it. Background processing must be available.

KEEP THE REVIEW TOGETHER

Pick up the review where you left it.

Keep related evidence, your notes and decisions in one case. Return to it yourself or let an authorized teammate continue.

Cases & handover in Logged.ai Pro, using fictional demo data.
Genuine plugin screen · fictional demo data · select to enlarge

The Pro add-on is installed. Activate it in WordPress, then activate your licence for this site.

Included in Free

Find and inspect individual records, including the actor, result and captured differences.

Added by Pro

Review supported associations in one case, add notes, assign the review and retain its decision history.

Explore the stepsRead-only example · no site changes
1Plugin updated

A component update starts the review. Compare the recorded result with your planned maintenance.

A case keeps this record beside the related observations.
2Settings changed

A later configuration change adds context. Its sequence alone does not establish a cause.

Keep the source fact separate from your interpretation.
3Permissions changed

Review the captured role difference and whether the access change was intended.

Record a decision against the case and return to its history.
Also included: review priorities

Inspect an experimental local ranking, its contribution breakdown and evaluation coverage. This experimental ranking helps choose a review order. It is not an attack probability or a verdict.

Availability depends on supported sources and configuration.

Monitoring status

This describes evidence collection and processing. It is not a security assessment of your site.

Display timezone: UTC. Diagnostic JSON retains canonical UTC values.

Collection and visibility

Activity: no recorded degradation. Requests: WordPress layer only. Response: observe only.

Direct scripts, static files, cache hits and upstream blocks may not reach WordPress. No observed events is not proof that nothing happened.

Processing, delivery and retention

Pending alert facts
0
Alert delivery work
0
Unknown deliveries
0
Export work
0
Expired events
0

Delivery unknown means a sending attempt was interrupted; it will not automatically resend. A returned worker quantum is a heartbeat, not proof every item finished. Missing heartbeats remain not recorded.

Traffic-driven WordPress scheduling cannot promise deadlines. If traffic triggers are disabled, configure and verify a site-owned runner. This plugin does not change server scheduling.

Alerts
not recorded
Exports
not recorded
Retention
not recorded
Request retention
not recorded
Response
not recorded
Network retention
not recorded
Network exports
not recorded
Network alerts
not recorded

Scheduled work is overdue: logged_ai_retention

Scheduled work is overdue: logged_ai_request_retention

Scheduled work is overdue: logged_ai_alert_worker

Scheduled work is overdue: logged_ai_export_cleanup

Diagnostic export preview

The complete JSON below contains versions, scoped queue counts, configuration flags, sanitized state codes and permitted table size estimates. It excludes audit records, account identifiers, email addresses, destination URLs, credentials and private paths. The preview expires after five minutes. Review it before downloading or sharing.

Inspect the complete diagnostic snapshot
{
    "snapshot_schema": 1,
    "generated_at_utc": "2026-10-19T19:30:00+00:00",
    "release": "1.2.1",
    "scope": {
        "network_id": 1,
        "site_id": 1
    },
    "versions": {
        "logged_ai": "1.2.1",
        "wordpress": "7.1.3",
        "php": "8.5.4",
        "database": "11.8.6",
        "woocommerce": "11.2.1"
    },
    "monitoring": {
        "activity_capture": {
            "state": "no_recorded_degradation",
            "reason": null,
            "at_utc": null
        },
        "collection_controls": {
            "state": "all_supported_categories_enabled",
            "disabled_categories": [],
            "maintenance": null
        },
        "request_visibility": "wordpress_layer_only",
        "schema": {
            "target": "3e99d45db7e51fba6e7edb387ff935f5a16953b8f7917938e77ded79be1ca796",
            "state": "ready",
            "phase": null,
            "last_error": null,
            "changed_at": 1792436401,
            "ready_components": [
                "events",
                "auth",
                "requests",
                "exports",
                "alerts",
                "network",
                "automatic"
            ],
            "pending_components": [],
            "site_ready": true,
            "network_id": 1,
            "site_id": 1
        },
        "workers": {
            "alerts": {
                "state": "not_recorded",
                "at": null,
                "code": null
            },
            "exports": {
                "state": "not_recorded",
                "at": null,
                "code": null
            },
            "retention": {
                "state": "not_recorded",
                "at": null,
                "code": null
            },
            "request_retention": {
                "state": "not_recorded",
                "at": null,
                "code": null
            },
            "response": {
                "state": "not_recorded",
                "at": null,
                "code": null
            },
            "network_retention": {
                "state": "not_recorded",
                "at": null,
                "code": null
            },
            "network_exports": {
                "state": "not_recorded",
                "at": null,
                "code": null
            },
            "network_alerts": {
                "state": "not_recorded",
                "at": null,
                "code": null
            }
        },
        "runner": "traffic_trigger_disabled_external_runner_not_verified",
        "meaning": "Monitoring status is not a security assessment. A returned worker quantum does not prove complete coverage or recipient receipt."
    },
    "queues": {
        "pending_alert_facts": {
            "state": "readable",
            "count": 0,
            "lower_bound": false
        },
        "alert_delivery_work": {
            "state": "readable",
            "count": 0,
            "lower_bound": false
        },
        "unknown_deliveries": {
            "state": "readable",
            "count": 0,
            "lower_bound": false
        },
        "export_work": {
            "state": "readable",
            "count": 0,
            "lower_bound": false
        },
        "expired_events": {
            "state": "readable",
            "count": 0,
            "lower_bound": false
        }
    },
    "response": {
        "state": "observe_only",
        "revision": 1,
        "schema_version": 5,
        "degradation_reported": false
    },
    "scheduled_work": {
        "logged_ai_retention": {
            "next_utc": "2026-10-19T19:05:01+00:00",
            "overdue": true
        },
        "logged_ai_privacy_batch": {
            "next_utc": null,
            "overdue": false
        },
        "logged_ai_request_retention": {
            "next_utc": "2026-10-19T19:01:01+00:00",
            "overdue": true
        },
        "logged_ai_alert_worker": {
            "next_utc": "2026-10-19T19:01:01+00:00",
            "overdue": true
        },
        "logged_ai_alert_batch": {
            "next_utc": null,
            "overdue": false
        },
        "logged_ai_export_worker": {
            "next_utc": null,
            "overdue": false
        },
        "logged_ai_export_cleanup": {
            "next_utc": "2026-10-19T19:05:01+00:00",
            "overdue": true
        }
    },
    "privacy_cleanup": {
        "observations": 0,
        "policy_targets": 0,
        "automatic_references": 0,
        "remaining": 0,
        "done": true,
        "counts_limited": false,
        "count_limit_per_kind": 501
    },
    "configuration": {
        "revision": 1,
        "event_days": 90,
        "request_days": 7,
        "request_group_days": 30,
        "policy_history_days": 30,
        "exact_ip_days": 14,
        "diagnostic_days": 7,
        "ip_mode": "masked"
    },
    "tables": {
        "visibility": "installation_tables_estimated_sizes_not_site_counts",
        "owned": {
            "events": {
                "state": "present",
                "engine": "InnoDB",
                "data_bytes_estimate": 65536,
                "index_bytes_estimate": 131072
            },
            "auth_windows": {
                "state": "present",
                "engine": "InnoDB",
                "data_bytes_estimate": 16384,
                "index_bytes_estimate": 0
            },
            "deliveries": {
                "state": "present",
                "engine": "InnoDB",
                "data_bytes_estimate": 16384,
                "index_bytes_estimate": 98304
            },
            "alert_cooldowns": {
                "state": "present",
                "engine": "InnoDB",
                "data_bytes_estimate": 16384,
                "index_bytes_estimate": 16384
            },
            "export_jobs": {
                "state": "present",
                "engine": "InnoDB",
                "data_bytes_estimate": 16384,
                "index_bytes_estimate": 49152
            },
            "export_items": {
                "state": "present",
                "engine": "InnoDB",
                "data_bytes_estimate": 16384,
                "index_bytes_estimate": 0
            },
            "requests": {
                "state": "present",
                "engine": "InnoDB",
                "data_bytes_estimate": 16384,
                "index_bytes_estimate": 114688
            },
            "request_limits": {
                "state": "present",
                "engine": "InnoDB",
                "data_bytes_estimate": 16384,
                "index_bytes_estimate": 0
            },
            "request_groups": {
                "state": "present",
                "engine": "InnoDB",
                "data_bytes_estimate": 16384,
                "index_bytes_estimate": 32768
            },
            "response_state": {
                "state": "present",
                "engine": "InnoDB",
                "data_bytes_estimate": 16384,
                "index_bytes_estimate": 0
            },
            "response_policies": {
                "state": "present",
                "engine": "InnoDB",
                "data_bytes_estimate": 16384,
                "index_bytes_estimate": 98304
            },
            "response_history": {
                "state": "present",
                "engine": "InnoDB",
                "data_bytes_estimate": 16384,
                "index_bytes_estimate": 32768
            },
            "network_state": {
                "state": "present",
                "engine": "InnoDB",
                "data_bytes_estimate": 16384,
                "index_bytes_estimate": 0
            }
        }
    },
    "excluded": [
        "audit_records",
        "user_ids",
        "email_addresses",
        "destination_urls",
        "credentials",
        "filesystem_paths",
        "database_names",
        "raw_errors",
        "request_samples"
    ]
}