Settings
Members & roles
Workspace member list: invite, change role, remove, transfer ownership. Lives at Settings → Members & Roles.
The Members & Roles section (Settings → Members & Roles) is the workspace's access control. Every person who can sign in is listed here with their role and 2FA status.
What you'll see
- Member list: name, email, role badge, and 2FA status (owners and admins see it and can reset a member's authenticator)
- Roster badge: each row shows "In roster" or "Add to roster" indicating whether the member has a corresponding Team entry. Click "Add to roster" to create one without leaving Settings.
- Pending invites: emails that haven't accepted yet (resend, revoke), with the team member each one will be linked to
- Invite member form: email, role and an optional Link to team member, then Send invite (admin+). If the email can't be delivered, the invite link is shown so you can share it yourself
Inviting
Pick a role at invite time. ProductOS sends a magic-link sign-up email. The link expires in 14 days; resend or revoke from the pending-invite row.
On accept, ProductOS also wires up the invitee's team roster entry. If you picked a team member in Link to team member, that row is linked to the new account as-is, keeping its role, team, capacity and ownership. The picker lists only roster rows with no linked account and no other pending invite. Otherwise, if a team_members row with the same email already exists (and isn't linked elsewhere), it gets attached to the new profile and any role/team/skills the admin pre-set are preserved. Otherwise a fresh roster row is created. Either way the new member is immediately assignable as a feature Lead or an initiative owner.
Role semantics
ProductOS has five roles in a strict total order: viewer < commenter < member < admin < owner.
| Role | Reads | Writes | Manages members | Manages integrations |
|---|---|---|---|---|
| Owner | All | All | Yes | Yes |
| Admin | All | All | Yes | Yes |
| Member | All (no audit log) | All entities; no permanent delete | No | No |
| Commenter | All (no audit log) | None of the structured entities | No | No |
| Viewer | All workspace entities; no audit log | None | No | No |
Owner is unique per workspace, transfer first if you need to leave or delete the account. See Workspaces and roles for the full capability matrix.
Changing a role
Dropdown on each member row. Owners also see Owner in the list: picking it transfers ownership to that member and demotes you to admin, after a confirmation. Demotion takes effect immediately, existing sessions don't need to re-auth, and any API tokens the user holds at a role above their new one are auto-revoked by a database trigger. Past edits stay attributed to the user.
Removing a member
Use the remove icon on the row (non-owners can also leave the workspace this way; the owner has to transfer ownership first). Their account survives; they just lose workspace access and any tokens they issued in this workspace are revoked. Their team roster row is unlinked and flagged offboarded: past feature/initiative ownership stays attributed, but the row stops appearing in owner pickers and "My Work" filters. Re-add with the same email any time.