Permissions and presets
Every connection gets only the permissions you choose. Nine permissions, four presets, and what the Secrets permission adds.
Each connection has its own set of permissions, so an AI app can do only what you allowed it to do. Reading is always allowed. Everything else you grant one permission at a time, or with a preset.
The nine permissions#
| Permission | ID in messages | What it allows | Risk |
|---|---|---|---|
| Read & diagnostics | read | Site and server info, logs, health checks, files (secrets redacted), SELECT queries, content, options and WooCommerce data. Always granted. | Low (changes nothing; can read private data) |
| Content & store data | content | Create, edit and delete posts, pages, products, orders, terms and media, WordPress REST writes and Elementor's page abilities. | Medium |
| Settings & maintenance | settings | Change options, flush caches, manage cron, maintenance mode, debug mode, WooCommerce tools and other WordPress abilities that make changes. | Medium |
| Files | files | Write, edit, move, delete, upload and extract files. This allows code changes, so treat it like developer access. | High |
| Database writes | database | Run write SQL (with automatic row and table snapshots), search-replace and database clean-ups. | High |
| Plugins & themes | extensions | Install, activate, deactivate, update and delete plugins and themes. | High |
| Users | users | Create, edit and delete users and change roles. | High |
| Backups & restore | backups | Create and download full backups and restore them. | High |
| Secrets | sensitive | Reveal secrets (wp-config credentials, API keys, password hashes) and edit wp-config.php and .htaccess. | Critical |
Reading is safe for your site, not private: what your app reads reaches your AI provider. See Data and privacy.
Undoing a change needs the same permission that made it. See Change log and undo.
The four presets#
A preset is a ready-made set of permissions. You choose one when you create a connection, and you can change it later.
| Preset | Permissions included | Meant for |
|---|---|---|
| Read-only diagnostics | Read & diagnostics | Investigating problems without changing anything. |
| Content manager | Read & diagnostics, Content & store data | Editing content and store data. |
| Developer | Read & diagnostics, Content & store data, Settings & maintenance, Files, Database writes, Plugins & themes, Backups & restore | Technical work, without secrets or user accounts. |
| Full access | All nine | Everything, including secrets and user accounts. |
Choose Custom to tick individual permissions instead.
Try this with each preset#
| Preset | A request to try |
|---|---|
| Read-only diagnostics | "Why is my checkout slow? Only report." |
| Content manager | "Write a description for the cast-iron skillet and show it to me before you save it." |
| Developer | "Update the plugins one at a time and check the shop after each." |
| Full access | Everything above, plus user accounts and secrets. Give it for one task only. |
What "Secrets" means#
Secrets are values that would let someone into your site or your accounts: the database password in wp-config.php, API keys, password hashes and license keys. A connection without the Secrets permission never sees them:
- Passwords and keys in wp-config.php and .env files are masked. This is the setting Hide passwords and keys in files under Settings › Safety & rollback.
- Option values and database values that look secret are always masked for it, and
db_queryalso masks license-key and serial columns. - It cannot edit wp-config.php or .htaccess.
Give Secrets only for a task that needs it, and take it away afterwards.
What happens when a permission is missing#
If a tool needs a permission the connection does not have, the tool refuses and names the missing permission in a field called required_scope. The message the AI app receives reads like this:
Permission denied: this token lacks the "files" scope. A site administrator can grant it in wp-admin > PowerWP AI > Connections.The app can then tell you what it needs. You decide: open PowerWP AI › Connections, edit the connection and add the permission, or leave it as it is. An AI app cannot give itself more access, because no tool manages connections or settings.
Which preset for whom#
| You are | Start with | Notes |
|---|---|---|
| The owner, new to this | Read-only diagnostics | Ask for a report first, then add Content manager when you want edits. |
| A writer or editor | Content manager | It can change content and store data, but not settings, files or plugins. |
| A developer | Developer | Add Secrets or Users only for one task. Use an expiry and an IP allow-list. |
| An agency | One connection per person and per client site | Developer or Content manager, a short expiry, and revoke the connection when the job ends. |
Read-only mode and the Free plan#
The Free plan is read-only: every connection can read but not change anything. See Plans and limits.
Settings › General › Read-only mode does the same for any plan: it limits every connection to reading, whatever its permissions.
Start with Read-only diagnostics. You can add permissions later, one at a time.