plugin-icon

Who Changed It? – Activity Log & Audit Trail

Activity log and audit trail: see who changed what, and when — logins, users, plugins, themes, posts, settings. Tamper-proof. Stays on your site.
Beoordelingen
5
Versie
0.7.0
Laatst bijgewerkt
Aug 5, 2026
Who Changed It? – Activity Log & Audit Trail

Who edited that page? Who deleted the post that was there yesterday? Who installed that plugin, switched open registration on, or created a new administrator account at three in the morning?

Who Changed It? answers those questions. It records what happens on your WordPress site and shows it as one searchable, filterable list: logins, failed logins and logouts, user and role changes, plugin and theme installs, updates, activations and deletions, core updates, theme and plugin file editor use, post, page and media edits — with the exact fields that changed — and changes to sensitive site settings.

Every event is classified

Most activity logs hand you a wall of identical rows and leave you to spot the one that matters. This one sorts every event into three levels:

  • Normal — routine operation.
  • Strange — unusual but not necessarily harmful (a failed login, a settings change, a login at 3 AM).
  • Dangerous — high-risk activity you should look at now (brute-force login bursts, new administrator accounts, theme/plugin file editor use, open registration being switched on).

Classification is a two-stage process: every event type has a base severity, and contextual heuristics can escalate it — logins at unusual hours, logins from IP addresses never seen for that user, bursts of failed logins from one IP, bursts of deletions by one user. Every escalation is stored with a human-readable reason shown in the log and in alert emails.

Tamper-evident by design

An activity log is only worth as much as its resistance to being edited. Every record here stores a hash of its own contents plus the hash of the record before it, so changing or removing an entry breaks every link that follows and is reported on the log screen.

Legitimate deletions are not silent either: retention purges, manual purges and GDPR erasures record the span they removed, so the chain still verifies across the gap. Anything else is flagged. Redaction rewrites what a record shows while leaving the hash that sealed it intact, so honouring a privacy request never costs you the audit trail.

For evidence that holds up against database-level access, move the chain key out of the database by adding define( 'WHOCHITA_CHAIN_KEY', 'a long random string' ); to wp-config.php. The settings screen tells you which mode you are in.

Features

  • Color-coded log screen with severity icons and per-severity count chips, free-text search, and filters for severity, event family, event type, user and date range
  • Field-level change diffs shown inline: see exactly what changed in a post, a profile, or a setting
  • Immediate email alerts for dangerous events, throttled so a brute-force attack sends one email, not hundreds
  • Append-only and hash-chained. Each record hashes the one before it. Deleted or altered rows are detected and flagged on the log screen.
  • Stays on your server. No telemetry, no third-party log store, no external calls at all.
  • Retention and redaction. Per-family retention windows; mask, hash, or drop IP addresses; redact personal data to satisfy GDPR requests without breaking the chain.
  • Scoped access. Reading the log is its own capability. Even administrators can be excluded from it.
  • Evidence you can hand over. Export a signed, time-bounded record set as CSV or JSON for auditors and incident reports.
  • Answers WordPress’s own Export/Erase Personal Data tools
  • Mute individual event types to keep the log signal-heavy (events about the plugin itself can never be muted)
  • WooCommerce support: prices, coupons, orders, refunds, store and payment gateway settings
  • Lockora integration: record completed security-audit scores, finding counts, and score deltas when Lockora is active
  • Extensible: log custom events, adjust severities, watch extra options, or forward events to external systems via hooks

What gets audited

Authentication (logins, failed logins, logouts, password resets), users and roles, plugin and theme installs/updates/activations/deletions, WordPress core updates, WordPress 7.0 AI connector and feature changes, theme/plugin file editor use, posts, pages and media (with field-level diffs of what changed), a watched list of sensitive site options, and data exports. On WooCommerce shops: product price changes, coupon amounts, order status changes, refunds, store settings, and payment gateway configuration.

What it does not do

It does not phone home, does not require an account, does not send your log to anyone else’s servers, and does not make a single outbound network request. A regression test over every shipped file enforces that.

Gratisvoor betaalde abonnementen
Door te installeren, ga je akkoord met de Servicevoorwaarden van WordPress.com en de voorwaarden voor plugins van derden.
Getest tot
WordPress 7.0.2
Deze plugin kan worden gedownload, zodat je hem op je kan gebruiken.