Permissions
Assign features to roles, assign roles to users, control who sees what in the admin.
The permission system lets you control what each user can see and do in the admin UI. You assign features to roles, then assign roles to users. Each user sees only the menu items their roles include.
Features
Each top-level menu and sub-menu corresponds to one feature ID. Examples:
| Feature ID | Covers |
|---|---|
pages | Pages top-level menu |
pages.create | Creating new pages |
pages.edit | Editing existing pages |
orders | Orders top-level menu |
orders.refund | Issuing refunds |
settings | Global settings access |
settings.coupon | Coupon management |
settings.notifications | Notification channel config |
permissions | Roles and Permissions tab |
The feature catalog is defined in source code and is not editable from the admin UI.
Built-in roles
Two roles are created on first run and cannot be modified or deleted:
| Role | Features | Editable |
|---|---|---|
admin | All features except permissions | No |
viewer | orders.view, stats, pages (read-only) | No |
The built-in roles are a baseline. If you need something different, create a custom role.
Creating a custom role
- Go to Settings → Roles and Permissions.
- Click New role.
- Enter a name. Names are unique per installation.
- Check the features to include. The matrix groups features by section (Pages, Funnels, Orders, Settings, etc.).
- Save. The role is immediately available to assign to users.
Inviting users
Go to Settings → Users and send an invitation to an email address (open self-registration is disabled). The invite link opens the registration page, which behaves differently depending on whether the email already has an account:
- New email — the invitee chooses a username and password; the account is created and joins with the invited roles.
- Email with an existing account — the invitee must enter that account’s current password. The invitation then adds the existing account to this workspace with the invited roles; an invitation never changes the account’s password. A wrong password fails without consuming the invitation, so it can be retried.
On Autonnel Cloud this is how one person joins multiple organizations with a single account: accept each organization’s invitation with the same email and password, then sign in on each organization’s <org>-console domain.
Assigning roles to users
Go to Settings → Users, find the user, and use the role selector. The change takes effect immediately for new requests.
A user with multiple roles has the union of all their roles’ features.
Sidebar filtering
The admin sidebar reads the current user’s effective features on each page load and hides any top-level or sub-level menu items the user lacks access to. If a user navigates directly to a URL they don’t have access to, the server returns a 403.
Controlling access to the Roles and Permissions tab
The Roles and Permissions tab is visible only to users whose ID is listed in the PERMISSIONS_ADMIN_USER_IDS runtime configuration value. This prevents a regular admin from granting themselves additional privileges.
PERMISSIONS_ADMIN_USER_IDS is a comma-separated list of user IDs. Configure it in Settings → Roles and Permissions or in your deployment’s runtime configuration. If it is empty, no one sees the Roles and Permissions tab.
Caveats
- Built-in roles cannot be modified or deleted.
adminandviewerare locked. Create a custom role if you need a variation. - Deleting a role with active users is blocked. Reassign all users first, then delete.
- Multiple roles. A user with multiple roles has the union of all assigned roles’ features. There is no way to subtract a feature from a specific role without removing that role.
Related
- API Keys — API keys inherit the permissions of the user who created them.
- Users — invite and manage user accounts under Settings → Users in the admin.