Who Changed It/Docs/Reference

Settings reference

Every setting on the plugin's settings screen, what it defaults to, and what it actually controls.

All settings live under Activity Log → Settings (admin.php?page=whochita-settings). Changes to them are themselves recorded as settings_changed events, which cannot be muted.

Who can change these settings

Default: all administrators. The alternative, only me, pins settings management to your own user account, so other administrators can read the log but cannot reconfigure the plugin, mute events or change retention.

There is a deliberate safety valve: if the pinned owner account is deleted or loses the manage_options capability, management falls back to all administrators rather than locking everyone out permanently.

Who can see the log

Reading the log is its own capability, whochita_view_log. Two modes:

You can also grant the capability per role, and list individual usernames or role slugs to widen access — typically to give an editor or a client contact read access without handing over admin rights.

Export restriction

Default: off. When switched on, only users who can change the plugin settings may export. Useful when several people need to read the log but you would rather a full evidence file were not trivially downloadable by all of them.

Alert sender

Default: who-changed-it@yourdomain.com, derived from your site's domain. Switch to custom to set your own From name and From address. Change this if your host, SPF/DKIM policy or SMTP plugin rejects mail from addresses that do not exist as real mailboxes — a wrong From address is the most common reason alerts silently vanish.

Recipients, the severity threshold, the quiet period and the Slack, Discord and Telegram channels are configured just below this on the same screen; each is covered in notifications and alerts.

Retention

Default: delete events older than 3 months. The alternative is keep everything, which never prunes. You can express the window in days or months.

Per-family overrides: each of the nine families can keep the default window, set its own, or keep everything — so a shop can hold order history for years while failed logins are pruned after a fortnight. See retention, IPs and privacy.

The screen shows when the next scheduled purge will run, and a Purge Old Data button runs it immediately. Purges record an authorised gap, so the hash chain still verifies across what they removed.

IP address privacy

Default: store addresses in full. Four modes:

There is also a button to apply masking to everything already recorded. Note that hashing or dropping addresses disables the new-IP and brute-force heuristics, which need the real value to compare against history.

GDPR tools

Default: on. The plugin answers WordPress's own Export Personal Data and Erase Personal Data tools. Erasure redacts records rather than deleting them: the row stays, the personal fields are replaced with a placeholder, a redacted_at marker is set, and a log_redacted event names who did it. That way evidence about other people's actions survives an erasure request from one person, and the chain still verifies — the payload hash keeps committing to what the record originally said.

Timestamp display

Default: UTC. The alternative displays times in the timezone configured for your WordPress site. This affects display only — timestamps are always stored in UTC, which is what makes exported logs comparable across sites and safe to hand to an auditor.

Event muting

Default: nothing muted. Each event type has a checkbox; unchecking one stops it being recorded at all. This is the right tool when one noisy event type is drowning the log — a site with heavy automated publishing might mute post_updated, for instance.

Muting means not recorded, not hidden: muted events are absent from the database, so they cannot be recovered later. Three event types can never be muted (settings_changed, settings_reset, log_purged) because they audit the plugin itself.

Danger zone

Two destructive buttons live at the bottom of the settings screen:

Uninstalling

Deactivating the plugin stops recording but leaves your data in place, so you can reactivate without losing history. Deleting the plugin through wp-admin runs its uninstall routine, which removes the log table and the plugin's settings. Export anything you want to keep first — see exporting the log.