Skip to content

Commit 54dc28d

Browse files
authored
RBAC and GAC (#429)
* RBAC and GAC * fixed dead links * formatting fixes * plan fix * review fixes * formatting fixes * content fixes * updated permissions * coderabbit fixes * formatting fixes * fixed permissions * minor fixes * coderabbit and formatting fixes * minor content fixes
1 parent e3c9b2d commit 54dc28d

13 files changed

Lines changed: 1539 additions & 2111 deletions

File tree

docs/.vitepress/config.ts

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -294,6 +294,10 @@ export default defineConfig({
294294
text: "Manage workspace",
295295
link: "/core-concepts/workspaces/overview",
296296
},
297+
{
298+
text: "Manage members",
299+
link: "/core-concepts/workspaces/members",
300+
},
297301
{
298302
text: "Search workspace",
299303
link: "/workspaces-and-users/search-workspace",
@@ -307,17 +311,25 @@ export default defineConfig({
307311
],
308312
},
309313
{
310-
text: "Members",
314+
text: "Roles and permissions",
311315
collapsed: true,
316+
link: "/roles-and-permissions/overview",
312317
items: [
313318
{
314-
text: "Manage members",
315-
link: "/core-concepts/workspaces/members",
319+
text: "Member roles",
320+
link: "/roles-and-permissions/member-roles",
321+
},
322+
{
323+
text: "Permission schemes",
324+
link: "/roles-and-permissions/permission-schemes",
325+
},
326+
{
327+
text: "Custom roles",
328+
link: "/roles-and-permissions/custom-roles",
316329
},
317-
{ text: "Member roles", link: "/workspaces-and-users/roles" },
318330
{
319331
text: "Permissions matrix",
320-
link: "/workspaces-and-users/permissions",
332+
link: "/roles-and-permissions/permissions-matrix",
321333
},
322334
],
323335
},

docs/core-concepts/projects/manage-project-members.md

Lines changed: 56 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
---
22
title: Manage project members
3-
description: Add members to projects, assign roles, and configure access
3+
description: Add members to projects, assign roles, configure default assignee and project lead, manage subscribers, and understand how teamspace memberships interact with direct project access.
44
---
55

6-
# Manage members
6+
# Manage project members
77

88
Manage who has access to your project and what they can do by adding members and assigning roles.
99

10+
For background on the available roles, see [Member roles](/roles-and-permissions/member-roles).
11+
1012
**Prerequisites:**
1113

12-
- You must be a Project Admin or Workspace Admin to manage project members
13-
- Users must be workspace members before they can be added to projects
14+
- You must be a Project Admin or Workspace Admin to manage project members.
15+
- Users must be workspace members before they can be added to projects.
1416

1517
## Add members to a project
1618

@@ -29,27 +31,37 @@ Users must be workspace members before you can add them to a project.
2931
2. Scroll to the **Members** section.
3032
3. Click **Add member**.
3133
4. Search for and select the workspace member.
32-
5. Assign their role: **Admin**, **Member**, or **Guest**.
34+
5. Assign their role: **Admin**, **Contributor**, **Commenter**, or **Guest**.
3335
6. Click **Add**.
3436

3537
The member now has access to the project with the permissions defined by their role.
3638

37-
**Project roles:**
39+
### Project roles
40+
41+
- **Admin** — Full project access including settings, member management, and all features.
42+
- **Contributor** — Can create and manage work items, epics, cycles, modules, pages, and views. Can delete content they created themselves.
43+
- **Commenter** — Can view all work items in the project and add comments and reactions. Can also create intake submissions.
44+
- **Guest** — Limited access. Can submit intake forms and view, edit, and delete intake issues they created.
45+
46+
::: info Renamed roles
47+
The role previously called **Member** is now called **Contributor**. Permissions are unchanged.
48+
The previous **Guest view access** toggle has been replaced by the **Commenter** role. To grant view access plus commenting, assign the Commenter role.
49+
:::
50+
51+
See [Permissions matrix](/roles-and-permissions/permissions-matrix) for the complete breakdown.
3852

39-
- **Admin** - Full project access including settings, member management, and all features.
40-
- **Member** - Can create and manage work items, cycles, and modules (cannot change project settings).
41-
- **Guest** - Limited view access (cannot create or edit).
53+
### Workspace Guest restriction
4254

43-
See [Member roles](/workspaces-and-users/roles) for complete role permissions.
55+
If you're adding a workspace Guest to your project, you can only assign them the **Guest** or **Commenter** role. Attempting to assign Admin or Contributor returns an error. This guardrail prevents external collaborators from being accidentally over-privileged.
4456

4557
## Change a project member's role
4658

4759
Update project member roles as responsibilities change.
4860

49-
1. Navigate to **Project Settings > Members & Teamspaces**
50-
2. Find the member in the **Members** list
51-
3. Click the **Role** dropdown next to their name
52-
4. Select the new role (Admin, Member, or Guest)
61+
1. Navigate to **Project Settings > Members & Teamspaces**.
62+
2. Find the member in the **Members** list.
63+
3. Click the **Role** dropdown next to their name.
64+
4. Select the new role.
5365

5466
The role change takes effect immediately.
5567

@@ -66,19 +78,23 @@ The member loses access to the project immediately but remains in the workspace.
6678

6779
**What happens when you remove a member:**
6880

69-
- They can no longer access the project or its work items
70-
- Work items they created remain in the project
71-
- Their comments and activity history are preserved
72-
- They remain a workspace member (unless removed separately)
81+
- They can no longer access the project or its work items.
82+
- Work items they created remain in the project.
83+
- Their comments and activity history are preserved.
84+
- They remain a workspace member (unless removed separately).
85+
86+
::: info Removing workspace Owners and Admins
87+
Removing a workspace Owner or Admin from a project removes the project membership record but does not restrict their access — they retain access to all project content via their workspace role.
88+
:::
7389

7490
## Default assignee
7591

7692
Configure a default assignee to ensure all work items get assigned when created without an explicit assignee.
7793

78-
1. Navigate to **Project Settings > Members & Teamspaces**
79-
2. Find the **Default Assignee** setting
80-
3. Click the dropdown and select a project member
81-
4. The setting saves automatically
94+
1. Navigate to **Project Settings > Members & Teamspaces**.
95+
2. Find the **Default Assignee** setting.
96+
3. Click the dropdown and select a project member.
97+
4. The setting saves automatically.
8298

8399
**How default assignee works:**
84100

@@ -107,7 +123,7 @@ The project lead is the go-to person for questions about the project's execution
107123
- Project Admin is a role with specific permissions.
108124
- They can be the same person but don't have to be.
109125

110-
## Project subscribers
126+
## Project subscribers <Badge type="tip" text="Business" />
111127

112128
Project subscribers receive notifications for all work items in the project — status changes, comments, and updates. This is useful for project leads, managers, or stakeholders who need visibility across the entire project without being subscribed to individual work items.
113129

@@ -123,18 +139,6 @@ To configure project subscribers:
123139

124140
Only project admins can manage project subscribers.
125141

126-
## Grant view access to Guests
127-
128-
By default, Guests can only see work items they've created through the Intake section. You can expand their visibility to all project work items.
129-
130-
1. Navigate to **Project Settings > Members & Teamspaces**.
131-
2. Find the **Guest access** setting.
132-
3. Toggle on **Grant guest users view access to all the project work items**.
133-
134-
![Grant guest users view access](https://media.docs.plane.so/workspaces/grant-guests-view-access.webp#hero-tr)
135-
136-
This setting is project-specific. Enabling it in one project doesn't affect Guest permissions in other projects. Even with view access, Guests remain isolated to invited projects only.
137-
138142
## View project member activity <Badge type="warning" text="Enterprise Grid" />
139143

140144
::: info
@@ -150,34 +154,39 @@ Track member actions like additions, role changes, and removals to maintain visi
150154

151155
The activity panel shows recent project member events:
152156

153-
- **Member additions** - Who added which members to the project and when.
154-
- **Role changes** - Role updates with who made the change and when.
155-
- **Member removals** - Who removed members from the project.
156-
157-
Each activity entry shows:
157+
- **Member additions** — who added which members to the project and when.
158+
- **Role changes** — role updates with who made the change and when.
159+
- **Member removals** — who removed members from the project.
158160

159-
- The action taken
160-
- Who performed the action
161-
- When it happened (relative time like "6 days ago" or "3 days ago")
161+
Each activity entry shows the action taken, who performed the action, and when it happened (relative time like "6 days ago" or "3 days ago").
162162

163163
This audit trail helps project admins monitor membership changes and verify that access permissions are correct. Activity is retained for project history.
164164

165165
## Leave a project
166166

167-
If you no longer need access to a project, you can leave it yourself. Click the … menu next to your own name in Project Settings > Members & Teamspaces and select Leave.
167+
If you no longer need access to a project, you can leave it yourself. Click the … menu next to your own name in **Project Settings > Members & Teamspaces** and select **Leave**.
168168

169169
You'll lose access to the project immediately but remain in the workspace. If you need to rejoin later, a Project Admin or Workspace Admin will need to add you again.
170170

171+
::: warning Last admin protection
172+
If you're the only Project Admin, you cannot leave the project. Promote another member to Admin first.
173+
:::
174+
171175
## How users join projects
172176

173177
Users can become project members in two different ways, and understanding both helps you manage your project team effectively.
174178

175-
**Direct project membership** is where you specifically invite users to your project and assign them roles. These members have access only to the projects you've added them to, and you have full control over their permissions.
179+
**Direct project membership** is when you specifically invite users to your project and assign them roles. These members have access only to the projects you've added them to, and you have full control over their permissions.
180+
181+
**Teamspace-based membership** happens automatically when your project is linked to a [Teamspace](/core-concepts/workspaces/teamspaces). All members of that teamspace automatically receive the role assigned on the teamspace-to-project link, making it ideal for teams that collaborate across multiple projects.
176182

177-
**Teamspace-based membership** happens automatically when your project is linked to a [Teamspace](/core-concepts/workspaces/teamspaces). All members of that teamspace automatically receive `Member` access to your project, making it perfect for teams that collaborate across multiple projects.
183+
Users can have both types of access simultaneously. When this happens, Plane evaluates both grants — direct membership is checked first, and either source can grant the access.
178184

179-
Users can have both types of access simultaneously. When this happens, Plane automatically applies whichever role gives them higher permissions. For example, if someone is a `Guest` on your project but joins a linked teamspace, they're automatically upgraded to `Member` access. If they're already an `Admin`, they keep their `Admin` role.
185+
For example, if someone is a `Guest` on your project but joins a linked teamspace whose link grants `Contributor` access, they get Contributor access to the project through the teamspace. If they're already an `Admin`, they keep their `Admin` role through their direct membership.
180186

181187
## See also
182188

183189
- [Manage workspace members](/core-concepts/workspaces/members)
190+
- [Member roles](/roles-and-permissions/member-roles)
191+
- [Permissions matrix](/roles-and-permissions/permissions-matrix)
192+
- [Teamspaces](/core-concepts/workspaces/teamspaces)

docs/core-concepts/workspaces/members.md

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ title: Manage workspace members
33
description: Add, update, and remove workspace members
44
---
55

6-
# Manage members
6+
# Manage workspace members
77

8-
Keeping your workspace organized and secure is essential for smooth project management. Plane makes it easy to control who can access your workspace, what they can do, and how they collaborate with others.
8+
Manage who can access your workspace and what they can do.
99

10-
This guide shows you how to add members to your workspace, change their roles, and remove them when needed.
10+
This guide covers inviting members, importing them in bulk, changing roles, removing members, and viewing audit history.
11+
12+
For background on the available roles, see [Member roles](/roles-and-permissions/member-roles).
1113

1214
## Invite members to your workspace
1315

@@ -19,7 +21,7 @@ You can add members individually or in bulk using CSV import.
1921
2. Click **Add member**.
2022
3. In the modal:
2123
- Enter the email address of the person you're inviting.
22-
- Select their role: **Admin**, **Member**, or **Guest**.
24+
- Select their role.
2325
- To invite multiple people at once, click **Add another** and repeat.
2426
4. Click **Invite**.
2527

@@ -57,16 +59,21 @@ Email, Display Name, First Name, Last Name, Role
5759

5860
```
5961
Email,Display Name,First Name,Last Name,Role
60-
alex@company.com,Alex Chen,Alex,Chen,15
61-
sarah@company.com,Sarah Kim,Sarah,Kim,20
62-
mike@company.com,Mike Rodriguez,Mike,Rodriguez,5
62+
alex@company.com,Alex Chen,Alex,Chen,member
63+
sarah@company.com,Sarah Kim,Sarah,Kim,admin
64+
mike@company.com,Mike Rodriguez,Mike,Rodriguez,guest
6365
```
6466

65-
**Role values:**
67+
**Valid roles:**
68+
69+
- `owner` — Workspace Owner
70+
- `admin` — Workspace Admin
71+
- `member` — Workspace Member
72+
- `guest` — Workspace Guest
6673

67-
- `5` – Guest
68-
- `15` Member
69-
- `20` – Admin
74+
::: info Backward compatibility
75+
For backward compatibility, numeric role values still work: `5` for Guest, `15` for Member, `20` for Admin. We recommend using slugs.
76+
:::
7077

7178
**Important notes**
7279

@@ -130,9 +137,16 @@ Removing members doesn't change your seat count or billing. You must [remove sea
130137

131138
## Leave a workspace
132139

133-
If you no longer need access to a workspace, you can leave it yourself. Click the … menu next to your own name in Workspace Settings > Members and select **Leave**.
134-
You'll lose access to the workspace and all its projects immediately. If you need to rejoin later, a Workspace Admin will need to invite you again.
140+
If you no longer need access to a workspace, you can leave it yourself. Click the … menu next to your own name in **Workspace Settings > Members** and select **Leave**.
141+
142+
You'll lose access to the workspace and all its projects immediately. If you need to rejoin later, a Workspace Admin or Owner will need to invite you again.
143+
144+
::: warning Last admin protection
145+
If you're the only Owner or Admin in the workspace, you cannot leave. Promote another user to Owner or Admin first.
146+
:::
135147

136148
## See also
137149

150+
- [Member roles](/roles-and-permissions/member-roles)
138151
- [Manage project members](/core-concepts/projects/manage-project-members)
152+
- [Permissions matrix](/roles-and-permissions/permissions-matrix)

docs/core-concepts/workspaces/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Every workspace in Plane has two main components:
1616
- **Projects**
1717
Projects serve as the cornerstone for all activities within the product. You can create work items, assign tasks to members, and track progress for whatever you’re working on. If you envision your organization as NASA, each mission can be likened to a project. [Learn more here](/core-concepts/projects/overview).
1818
- **Members**
19-
Invite your teammates, collaborators, or managers to join your workspace. Each user gets a role, like Admin, Member, or Guest, to control what they can do. [Explore roles here](/workspaces-and-users/roles).
19+
Invite your teammates, collaborators, or managers to join your workspace. Each user gets a role, like Admin, Member, or Guest, to control what they can do. [Explore roles here](/roles-and-permissions/member-roles).
2020

2121
## Create workspace
2222

docs/introduction/tutorials/invite-members.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ For each person you're inviting, select their role from the dropdown.
6969
- Best for external contractors, clients, temporary collaborators.
7070

7171
::: tip
72-
💡 Want a deeper breakdown? Check out the [full guide](/workspaces-and-users/permissions) on roles and permissions.
72+
💡 Want a deeper breakdown? Check out the [full guide](/roles-and-permissions/permissions-matrix) on roles and permissions.
7373
:::
7474

7575
## Send invitations

0 commit comments

Comments
 (0)