Access Roles
Last updated on August 14, 2026
Every member of a TofuPilot organization holds exactly one role, and that role applies across the whole organization. Roles set what a member can do; access groups layer on top to scope which stations they see.
Changing a member's role requires the Admin or Owner role.
The five roles
| Role | Read | Write data | Manage members | Manage org | Dashboard access |
|---|---|---|---|---|---|
| Owner | All | Yes | Yes | Yes (billing, SSO, delete) | Yes |
| Admin | All | Yes | Yes | No | Yes |
| Developer | All | Yes | No | No | Yes |
| Viewer | All (stations can be group-scoped) | No | No | No | Yes (read-only) |
| Operator | Own groups' stations only | Through station API | No | No | No (kiosk only) |
Owner
Each organization has exactly one Owner. Owners can do everything an Admin can, plus billing, SSO and SCIM configuration, ownership transfer, and organization deletion.
Admin
Admins invite and remove members, change roles, create and delete access groups, and manage test data such as procedures, stations, deployments, and runs.
Admins cannot update organization settings, manage billing, or configure SSO and SCIM. Those actions are reserved for the Owner.
Developer
Developers create and update procedures, stations, deployments, parts, units, batches, and other test data. They see every access group's stations, so they can work across production lines without restriction.
Developers cannot manage members, access groups, billing, or SSO.
Viewer
Viewers browse runs, units, parts, and analytics read-only, without being able to create or modify anything.
What a Viewer sees depends on their access group assignment:
- A Viewer with no access group assignments sees every station.
- A Viewer with access group assignments sees their access groups' stations, plus stations with no access group.
Access groups only scope stations; runs, units, parts, and analytics stay organization-wide for Viewers. See access groups.
Operator
Operators land on /operator on sign-in and never see the dashboard. They see their own profile, the stations they belong to (always group-scoped), and basic organization context. They do not see a member list, peer profiles, runs, procedures, API activity, or billing.
Test data is produced through the station API key, not the operator's account. When an operator presses Run in the Operator UI, the run is attributed as operated_by: the dashboard forwards the operator's email to the CLI, and the CLI stamps it on runs.create. CLI-only runs and kiosk-mode mounts with no signed-in user stay unattributed.
Roles vs access groups
Access groups sit on an orthogonal layer to roles, so the two combine when you decide which stations someone sees.
- Owners, Admins, and Developers see every station.
- Viewers see all stations without access group assignments, and become group-scoped once you assign them.
- Operators are always group-scoped, and see no stations until they are assigned to an access group.
Changing a role
Admins and Owners can change a role at any time, and the change applies immediately. For the full walkthrough, see Managing members.
How is this guide?
Access
Learn how to manage who can sign in to your TofuPilot organization, what they can do, and how they authenticate across users, access groups, and stations.
Access Groups
Learn how to group TofuPilot stations and members into access groups so you can scope station visibility for suppliers, departments, or production lines.