Roles & permissions.
Access control combines a role (a sensible default set of permissions) with optional per-member overrides. People get exactly what they need — owners always keep full access.
The six roles
| Role | Intended for | Access |
|---|---|---|
| Owner | Workspace creator | Every permission. Protected — cannot be removed or downgraded. |
| Admin | Operations leads | Almost everything, minus the most destructive billing and team actions. |
| Manager | Triage leads | Full feedback workflow, comments, tags, SLA escalation, plus read access to team, settings, and audit. |
| Agent | Support & triage | Work the queue — read, create, update, set status/priority, assign, comment. |
| Viewer | Stakeholders | Read-only across feedback, comments, SLA, and team. |
| Billing admin | Finance | Manage billing and read tokens & team — no feedback editing. |
Permission catalog
Permissions are grouped by area. A role grants a default set; overrides add or remove individual permissions on top.
| Group | Permissions |
|---|---|
| Feedback | read·create·update·update_status·update_priority·assign·delete·export |
| Comments | read·create·manage |
| Tags | manage |
| SLA | read·manage·override·escalate |
| Team | read·invite·update_role·remove |
| Settings | read·manage |
| Tokens | read·create·revoke |
| Billing | read·manage |
| Integrations | read·manage |
| Other | notifications.read·audit.read |
How effective access is computed
For any member, effective permissions are:
effective = defaults[role] ∪ customPermissions − deniedPermissionsIn words: start from the role's defaults, add anything explicitly granted, then remove anything explicitly denied. The Roles page shows each permission's state — Default, Granted, Denied, and the resulting Effective value — so there's no guesswork.
Inviting members
From Team → Invite member, enter an email and pick a role. The invitee receives a link to accept; invitations expire after seven days. Once accepted, you can change a member's role inline or open Manage access to fine-tune their overrides on the Roles page.
Seat limits
The number of team members is governed by your plan: 1 on Free, 10 on Pro, and unlimited on Enterprise. Exceeding the cap returns an upgrade prompt rather than silently failing the invite.