WordPress plugin intelligence profile

BrenWP Client Safe Mode

Per-user Safe Mode plus role-based client restrictions for safer troubleshooting and cleaner client handoff.

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 6.9
Current version1.7.2
WordPress coverageTested up to WordPress 6.9
Minimum stackWP 6.0 · PHP 7.4
Directory statusactive
Last directory update6 Jan 202610mo ago
Active installationsNewAdoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records BrenWP Client Safe Mode version 1.7.2 as active, updated 10mo ago and tested up to WordPress 6.9.

Overview

About this plugin

BrenWP Client Safe Mode helps you troubleshoot safely and reduce risk when handing a WordPress site to clients or non-technical users.

Safe Mode is per-user: it applies only to the currently logged-in user who enabled it. Visitors and other users are not affected.

Safe Mode (per-user) can optionally

  • Block access to risky wp-admin screens (plugin/theme management, core updates, Site Health, and update actions)
  • Disable file modifications (plugin/theme installs, updates, editors)
  • Optionally block update/install capabilities (prevents running updates/installs even via alternative flows)
  • Optionally block destructive capabilities (prevents deleting plugins/themes while Safe Mode is enabled)
  • Optionally disable the built-in plugin/theme editors (capability-based) while Safe Mode is enabled
  • Hide update notices
  • Trim selected admin bar nodes (Updates / Comments / New Content)
  • Auto-disable after a configurable number of minutes (optional)

Client restrictions (role-based + optional user targeting) can

  • Optionally target a specific user account (in addition to roles)
  • Hide risky menus
  • Block direct access to sensitive wp-admin screens
  • Disable file modifications
  • Hide update notices
  • Optionally limit the Media Library to a user’s own uploads (privacy on multi-author sites)
  • Optionally hide common Dashboard widgets for restricted roles (UI cleanup)
  • Optionally hide the Screen Options dropdown (independent toggle)
  • Optionally hide the Admin Bar on the front end for restricted roles
  • Optionally block Customizer access (customize.php)
  • Optionally block Users screens (Users list/Add/Edit) even if the broader screen blocklist is disabled
  • Optionally block Tools screens (Tools/Import/Export) even if the broader screen blocklist is disabled
  • Optionally lock profile email/password changes for restricted roles (prevents self-service account takeover)
  • Optionally show a dismissible 2FA security reminder notice (notice only)
  • Optionally hide the Admin Bar on the front end for restricted roles

General hardening (site-wide, optional)

  • Disable XML-RPC
  • Disable the built-in plugin/theme editors for all users (capability-based)
  • Optional settings export download (admin-only) via a nonce-protected endpoint (default OFF)

Administrators are never restricted by client restrictions. On multisite, super-admins are also excluded.

Privacy

This plugin does not send data to external services. It performs no tracking, telemetry, analytics, or “phone-home” requests.

Data stored on your site

The plugin stores the minimum required data to provide Safe Mode and optional auditing:

  • Options (Settings): stored in the brenwp_csm_options option (site option). This contains your configured settings.
  • Activity log (optional): stored in the brenwp_csm_activity_log option only if Activity logging is enabled. This log is bounded by Max entries and can optionally be pruned by age (Retention days).
  • Operational options: internal housekeeping options such as brenwp_csm_last_settings_change and a short-lived lock key used to avoid concurrent log writes.
  • User meta (Safe Mode):
  • brenwp_csm_safe_mode (on/off flag for a user)
  • brenwp_csm_safe_mode_until (optional expiry timestamp if auto-off is enabled)

Data minimization and retention

  • Activity logging is disabled by default.
  • The activity log does not store IP addresses and attempts to redact likely secrets from context values.
  • Retention controls:
  • Max entries caps log size.
  • Retention days can automatically prune older entries (0 = disabled).
  • The Clear log action removes all log entries immediately (admin-only, nonce protected).

Privacy tools

The plugin:

* Adds suggested text to the Privacy Policy Guide (Settings → Privacy)

* Registers a personal data exporter and eraser for the Safe Mode user meta

Data deletion

On uninstall (delete), the plugin removes its options, optional log option, Safe Mode user meta, and (best-effort) the optional bren_client role if it was created by the plugin.

Security

This plugin follows WordPress hardening best practices:

  • CSRF protection: all state-changing actions use POST and require a WordPress nonce.
  • Authorization: privileged admin actions are gated by capability checks ( manage_options by default, filterable).
  • XSS defense: user-controlled data is sanitized on input and escaped on output.
  • No remote requests: the plugin does not make outbound HTTP requests.
  • Data minimization: the activity log is bounded, does not store IP addresses, and redacts likely secrets in log context values.

Assumptions and scope:

  • The plugin enforces policies inside WordPress; it does not replace server/WAF hardening.
  • Safe Mode is per-user and does not modify the site’s active plugins/themes list.

Troubleshooting

I don’t see the Safe Mode toggle in the admin bar

  • Confirm the WordPress admin bar is enabled for your account.
  • Confirm Enforcement is enabled in the plugin settings.
  • Confirm your role is included in Who can toggle Safe Mode (or you are an administrator / multisite super-admin).

My profile email/password cannot be changed

If Restrictions → Lock profile email/password is enabled and your account is restricted, you will not be able to change your own email or password. Contact an administrator.

XML-RPC stopped working

If you rely on legacy services that require XML-RPC (some old mobile apps / integrations), disable General → Disable XML-RPC.

I get redirected with an “Access blocked” notice

A configured policy blocked a sensitive admin screen. Review:

* Restrictions → Block direct screen access (for restricted roles)

* Safe Mode → Block risky admin screens (for your account if Safe Mode is enabled)

Safe Mode is enabled but I want to turn it off

  • Use the Safe Mode tab to toggle it off.
  • If auto-off is enabled, it will disable automatically after the configured time window.
  • If Enforcement is OFF, the UI provides a Clear stored Safe Mode button to remove the stored flag.

Developer Hooks

Filters:

* brenwp_csm_required_cap — change the capability required to manage this plugin (default: manage_options ).

* brenwp_csm_presets — customize Dashboard presets (label/description/patch arrays).

* brenwp_csm_create_client_role — return false to prevent creating the bren_client role on activation.

* brenwp_csm_client_role_caps — customize capabilities assigned to the bren_client role on activation.

* brenwp_csm_remove_client_role_on_uninstall — return false to keep the bren_client role during uninstall cleanup.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • client
  • hardening
  • restrictions
  • security
  • troubleshooting
Compatibility & maintenance

Compatibility & maintenance

Tested up to WordPress 6.9

Not yet marked as tested with WordPress 7.1. WordPress.org currently lists Tested up to 6.9.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to6.9
Minimum requirementsWordPress 6.0 · PHP 7.4
Update activity6 Jan 202610mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.