minn adminSecurity
Built to be audited.
An admin surface deserves real scrutiny. Minn earns its place on a production site through narrow permissions, isolated integrations, verifiable releases and native WordPress data.
Your permissions, enforced twice
Opening /minn-admin/ requires a logged-in account WordPress already trusts to edit content. Every action is checked again on the server through WordPress core's REST permissions, so each role sees and does only what wp-admin would allow.
Plugins cannot take over the interface
Plugins describe their Minn screens as plain data. Their HTML and scripts never reach the app, and hard budgets limit each integration. A broken plugin cannot bring the interface down. Nags and upsells do not get a rendering path.
Updates you can verify
Releases ship from GitHub through the normal WordPress updates screen. Before installation, every package is checked against the sha256 published in the release manifest. A tampered or incomplete download refuses to install.
Every external byte is accounted for
The app itself loads nothing from outside your site. There are no CDNs, font servers or telemetry. The few optional external resources are named and expected, such as Gravatar avatars, wordpress.org extension icons and your own theme styles in editor previews.
Leave at any time
Minn writes native WordPress data: real block markup, core options and core users. Deactivate it and your site remains exactly as it was, with wp-admin intact. There is no proprietary content format to migrate away from.
Reports go straight to a human
Security reports get priority. Email security@minnadmin.com for private disclosure. The published policy explains scope, response expectations and design notes for reviewers.
Tell us privately.
Reports receive an acknowledgment within 48 hours, and responsible reporters receive credit when the issue is resolved.