Project Roles
Project roles control what a person can see and change inside a project. A person can have a different role in each project to which they belong.
Software Factory includes three built-in project roles: Viewer, Editor, and Owner.
Built-in role comparison
Capability | Viewer | Editor | Owner |
|---|---|---|---|
Open the project | Yes | Yes | Yes |
View project content | Yes | Yes | Yes |
View the project member roster | Yes | Yes | Yes |
Read project settings | Yes | Yes | Yes |
Create and edit normal project content | No | Yes | Yes |
Copy the project | No | Yes | Yes |
Manage project members and role assignments | No | No | Yes |
Edit project settings | No | No | Yes |
Archive or delete the project | No | No | Yes |
Reindex the codebase | No | No | Yes |
Module-specific exceptions are documented in Permissions Reference.
Viewer
Viewer is intended for people who need to inspect and review project content.
A Viewer can generally:
- Open the project and accessible modules
- Read and search content
- Comment, suggest, resolve comments, or export where supported
- View the project member roster
- Read project settings
Viewer does not normally create, edit, delete, or organize project content. Some modules intentionally provide limited Viewer actions, including artifact upload and feedback submission.
Editor
Editor includes Viewer access and adds normal content-authoring permissions.
An Editor can generally:
- Create, update, and delete module content
- Organize content and manage module relationships
- Assign Work Orders
- Manage Blueprint code links
- Manage the codebase connection
- Copy the project
An Editor cannot manage project members, edit project settings, archive the project, or delete the project.
Owner
Owner includes Editor and Viewer access and adds project administration.
An Owner can:
- Manage project details
- Add and remove project members
- Change project role assignments
- Edit project settings
- Archive or delete the project
- Reindex the codebase
- Update or delete any automation in the project
- Delete any project API key
A Project Owner does not automatically become an Organization Administrator. Organization membership, billing, organization policies, and organization-wide custom-role definitions remain organization-level responsibilities.
Assigning a project role
Users with permission to manage project members can assign a built-in or custom role:
- Open the project.
- Open Settings.
- Under Project, open Roles.
- Add a project member or choose an existing member.
- Choose Owner, Editor, Viewer, or an available custom role.
- Save the assignment.
The assignment applies only to that project. Repeat the process for other projects as needed.
If the person uses a View seat, only built-in Viewer and Viewer-compatible custom roles are available. Editor, Owner, and custom roles containing Editor-level module access are disabled with an explanation in the role selector.
Assigning roles during an invitation
When inviting someone to the organization, an Administrator can include project assignments with the invitation. Each selected project can have its own role.
The invited person receives the selected access after accepting the invitation.
A pending invitation reserves capacity in the selected Full or View seat pool. A View invitation can include only Viewer-compatible project assignments.
Changing or removing access
Changing a member’s role updates their effective access to the project. Removing their project assignment removes the access supplied by that assignment.
Before changing an Owner’s access, ensure the project will still have an appropriate owner or administrator responsible for it.
API key behavior
Project roles also affect project API keys:
- Viewer, Editor, and Owner can list and create project API keys.
- A user can delete an API key they created.
- A Project Owner or Organization Administrator can delete any API key in the project.
Organization Administrators
Organization Administrators inherit Owner-equivalent access in projects belonging to their organization. This lets them administer projects even when they do not have a separate project-role assignment.
Organization Administrators can create and edit reusable role definitions from Settings → Organization → Manage Roles. Project Owners can assign those roles in projects they own, but cannot change the organization-wide definitions.