Your plugins can do anything. Bouncer makes sure they don't.
You probably don't think twice when you install a WordPress plugin, and you shouldn't have to. Here's what actually happens when you click Activate:
- That plugin gets access to everything: your customer list, passwords, files, and the whole site.
- It can send data to any server, change how people log in, or rewrite other plugins.
A simple contact form plugin has the same level of access as WordPress itself. That's not a worst-case scenario; it's how WordPress is designed, for every plugin, every time. Until now, nothing was watching what they do with that access.
- Requirements and installation
- How Bouncer fits in
- What it monitors
- Optional AI analysis
- Monitor vs enforce
- Privacy and third parties
- Development
- License and credits
| Requirement | Version |
|---|---|
| WordPress | 7.0+ (uses the Connectors API for optional AI keys) |
| PHP | 8.1+ |
Install
- Copy the plugin folder to
wp-content/plugins/bouncer/(or upload the release zip so the folder name isbouncer). - Activate Bouncer under Plugins.
- Open Tools → Bouncer. On first run, Bouncer installs a small must-use loader under
wp-content/mu-plugins/and, when possible, awp-content/db.phpdrop-in for query attribution. If another plugin already ownsdb.php, Bouncer leaves it in place and database query attribution stays off until that conflict is resolved (see the FAQ in readme.txt).
Configure
- Dashboard — status, recent events, manifests.
- Settings — monitoring channels, sampling, notifications, optional Deep Dive (Anthropic) analysis, Monitor vs Enforce.
Site administrators get the manage_bouncer capability (mapped from manage_options so existing admins keep access).
For REST endpoints, WP-CLI, local development, and contributor workflows, see docs/DEVELOPMENT.md.
Wordfence, Sucuri, Patchstack, and similar tools are good at what they do: they match plugins and files against known threats (disclosed vulnerabilities, known malware, and the like).
The gap: what about problems nobody has named yet?
- In 2025, researchers found 11,000+ new plugin security issues (30+ per day).
- Nearly half could be exploited without a password.
The hardest cases are poisoned updates: a trusted developer account is compromised, an update looks normal, and your stack still sees a "safe" plugin. There's no signature for that yet, only the window before the world catches up. That's often when damage happens.
Bouncer doesn't start from a list of known badness. It watches behavior in real time and asks:
Is this plugin doing something it's not supposed to do?
When you install a plugin, Bouncer builds a profile of normal behavior: what it reads and writes, which outside servers it talks to, and how it hooks into WordPress. On each request, it checks that reality still matches that profile.
Examples of what gets caught
- Access to your user list when it doesn't fit the profile
- Traffic to a server the plugin never used before
- File changes when there wasn't an update, with optional automatic shutdown of the plugin
You don't need to read stack traces. The dashboard is simple: green means normal, yellow means something unusual, red means look now.
Optional: Bouncer can use AI when you install or update a plugin. Core protection does not depend on it.
It does not ship your source code off-site. It sends a structural summary (like a table of contents, not the book) and returns a report covering:
- What the plugin actually does (from code, not marketing copy)
- Whether that's normal for that kind of plugin
- What changed since the last version
- A risk level (low / medium / high)
- Plain-English notes on anything concerning
Think of it as a home inspection report: you don't need to be a plumber to understand what matters.
Keys are configured through Settings → Connectors (WordPress 7.0), or the same ANTHROPIC_API_KEY environment variable / PHP constant pattern WordPress uses elsewhere. See Privacy and third-party services below.
In April 2026, Cloudflare launched EmDash, a new platform framed as the answer to WordPress plugin security: if WordPress can't be fixed, start over.
Plugin security is in bad shape. Abandoning ~43% of the web isn't the only answer.
Bouncer stays on the WordPress you already run: same site, same plugins, same content. EmDash asks for a greenfield with no plugin or theme ecosystem. You shouldn't have to start over to be safer.
Bouncer is not a drop-in replacement for Wordfence or Patchstack. It's another layer.
| Layer | What it's for |
|---|---|
| Known malware (e.g. Wordfence) | Bad files and signatures you already know about |
| Known vulns (e.g. Patchstack) | CVEs and disclosed issues for your versions |
| Unknown behavior (Bouncer) | Trusted plugins doing new, suspicious things |
On the same site you get three complementary angles, not one tool trying to do everything.
Monitor Mode (default): watch and log, block nothing. Run it for a week and see what your plugins actually do.
Enforce Mode: block suspicious activity and shut down compromised plugins automatically when you're ready and on your thresholds.
Optional AI (Anthropic Claude) — Only when you enable AI scanning and provide a key. Bouncer sends structural fingerprints to Anthropic’s API, not raw plugin source. Enabling that feature means you direct Bouncer to contact Anthropic on your behalf.
Core behavioral monitoring does not require a Bouncer-hosted cloud or a paid subscription to us.
- docs/DEVELOPMENT.md — local environment (
wp-env), PHP/JS linting, CI, architecture sketch, REST and WP-CLI reference, useful filters. - RELEASING.txt — version bumps, distributable zip, WordPress.org checklist.
Pull requests welcome; CI runs Composer lint (syntax, PHPCS, PHP compatibility) and ESLint on admin JavaScript.
Built by Regionally Famous, a WordPress studio that ships and maintains real client sites. We needed behavioral visibility that didn't exist, so we built Bouncer.
Core protection needs no AI, no Bouncer-hosted cloud, and no monthly fee to us. AI is optional and bring-your-own-key; we don't monetize your analysis. The plugin is free and open source (GPL-2.0-or-later).
| Old model | New model |
|---|---|
| Trust reputation, scan for known threats, patch after incidents | Watch every plugin continuously, catch problems before they have a name |
Bouncer is the new model for the WordPress site you already have, without burning it down.