Roles & Permissions
deploydiff uses a two-tier role system: organization roles and project roles.
Organization roles
Every user who belongs to an organization holds exactly one org role.
| Role | Description |
|---|
| Owner | Full control — billing, member management, organization deletion |
| Admin | Create and manage projects; invite and manage org members; implicit full access to every project |
| Member | Base membership — project access must be granted explicitly per project |
Project roles
Org Owners and Admins have implicit full access to every project — no explicit project membership is needed. Org Members must be added to a project individually and receive one of two project-scoped roles.
| Role | Description |
|---|
| Member | View and edit project content, enable pages per environment, trigger capture and diff batches |
| Participant | Read-only access to all project content, except they can manage notification status |
An org Member who is promoted to Admin or Owner keeps their project roles, but those roles are inactive: the org role gives them full access to every project anyway. The project members list shows both, the effective role that governs what they can do and the project role marked inactive while org Admin. If they are later demoted back to org Member, those project roles apply again.
Permissions reference
The table below lists every action available in the dashboard. Columns represent the effective role of the acting user.
Org Member refers to an org Member with no project membership. Prj Member and Prj Participant are org Members who have been explicitly added to the project.
Deleting is restricted to Owners and Admins, everywhere in the table below — including for things a Prj Member can create. A Prj Member can add a page, archive it, disable a page in an environment, and trigger batches, because each of those can be undone. Deletion cannot: it is permanent, and it removes data other people may be relying on. See Deletion. The organization itself is the one exception: only an Owner can delete it.
Organization
| Action | Org Owner | Org Admin | Org Member | Prj Member | Prj Participant |
|---|
| View organization | ✓ | ✓ | ✓ | ✓ | ✓ |
| Rename organization | ✓ | - | - | - | - |
| Delete organization | ✓ | - | - | - | - |
| View billing & usage | ✓ | ✓ | - | - | - |
Organization members
| Action | Org Owner | Org Admin | Org Member | Prj Member | Prj Participant |
|---|
| View member list | ✓ | ✓ | ✓ | ✓ | ✓ |
| View pending invitations | ✓ | ✓ | ✓ | ✓ | ✓ |
| Invite member | ✓ | ✓ | - | - | - |
| Cancel pending invitation | ✓ | ✓ | - | - | - |
| Remove member | ✓ | ✓ | - | - | - |
| Change member org role | ✓ | ✓ | - | - | - |
Projects
| Action | Org Owner | Org Admin | Org Member | Prj Member | Prj Participant |
|---|
| View project | ✓ | ✓ | - | ✓ | ✓ |
| Create project | ✓ | ✓ | - | - | - |
| Rename project | ✓ | ✓ | - | - | - |
| Pin / unpin project | ✓ | ✓ | - | - | - |
| View project members | ✓ | ✓ | - | ✓ | ✓ |
| Add project member | ✓ | ✓ | - | - | - |
| Change project member role | ✓ | ✓ | - | - | - |
| Remove project member | ✓ | ✓ | - | - | - |
| Delete project | ✓ | ✓ | - | - | - |
Environments
| Action | Org Owner | Org Admin | Org Member | Prj Member | Prj Participant |
|---|
| View environments | ✓ | ✓ | - | ✓ | ✓ |
| Create environment | ✓ | ✓ | - | - | - |
| Edit environment name & base URL | ✓ | ✓ | - | - | - |
| Pin / unpin environment | ✓ | ✓ | - | - | - |
| Edit verdict config | ✓ | ✓ | - | - | - |
| View HTTP headers | ✓ | ✓ | - | - | - |
| Edit HTTP headers | ✓ | ✓ | - | - | - |
| Enable / disable page in environment | ✓ | ✓ | - | ✓ | - |
| Configure automation | ✓ | ✓ | - | - | - |
| Delete environment | ✓ | ✓ | - | - | - |
Pages
| Action | Org Owner | Org Admin | Org Member | Prj Member | Prj Participant |
|---|
| View pages | ✓ | ✓ | - | ✓ | ✓ |
| Add page | ✓ | ✓ | - | ✓ | - |
| Edit page settings | ✓ | ✓ | - | ✓ | - |
| Archive / un-archive page | ✓ | ✓ | - | ✓ | - |
| Delete page | ✓ | ✓ | - | - | - |
Capture batches
| Action | Org Owner | Org Admin | Org Member | Prj Member | Prj Participant |
|---|
| View capture batches & results | ✓ | ✓ | - | ✓ | ✓ |
| Trigger capture batch | ✓ | ✓ | - | ✓ | - |
| Delete capture batch | ✓ | ✓ | - | - | - |
Diff batches
| Action | Org Owner | Org Admin | Org Member | Prj Member | Prj Participant |
|---|
| View diff batches & results | ✓ | ✓ | - | ✓ | ✓ |
| Trigger diff batch | ✓ | ✓ | - | ✓ | - |
| Delete diff batch | ✓ | ✓ | - | - | - |
Domain validations
| Action | Org Owner | Org Admin | Org Member | Prj Member | Prj Participant |
|---|
| View domain validations | ✓ | ✓ | ✓ | ✓ | ✓ |
| Check a domain now | ✓ | ✓ | - | ✓ | - |
Notifications
| Action | Org Owner | Org Admin | Org Member | Prj Member | Prj Participant |
|---|
| View notifications | ✓ | ✓ | - | ✓ | ✓ |
| Escalate / de-escalate | ✓ | ✓ | - | ✓ | ✓ |
| Archive / reopen | ✓ | ✓ | - | ✓ | ✓ |
| Handle / take over / let go | ✓ | ✓ | - | ✓ | ✓ |
| Configure environment notif. settings | ✓ | ✓ | - | - | - |