Custom Roles
Custom roles let an organization define reusable combinations of project and module access. They are useful when the built-in Viewer, Editor, and Owner roles are broader than a team needs.
A custom role definition belongs to the organization. The role grants access only after it is assigned to a person in a specific project.
Custom-role structure
Every custom role contains:
- A name and optional description
- A Base Project Access level
- A module access level for each configurable module
Custom roles cannot grant project ownership, project-member management, or organization administration.
Base Project Access
No Access
No Access provides no project-wide module tier. Add the modules the role needs individually.
A person assigned a No Access-based custom role can still enter the project shell and view the project member roster. Modules without an explicit grant remain locked.
This is the best base for narrow roles such as Requirements Reviewer or Blueprint Editor.
Viewer
Viewer provides Viewer access across project modules by default. Individual modules can be raised to Editor.
Because permissions are additive, a module cannot be lowered below the Viewer base.
This is useful for people who should review the whole project but edit only selected modules.
Module access levels
Each configurable module supports up to three levels:
Level | Meaning |
|---|---|
No Access | The role receives no permission in that module. Available only when the base is No Access. |
Viewer | The role receives the module’s read and review actions. Some modules include a limited Viewer action such as upload or submit. |
Editor | The role receives all Viewer actions plus the module’s create, update, delete, and management actions. |
See Permissions Reference for the exact actions included by each module.
Viewer-compatible custom roles
A custom role is compatible with a View seat only when:
- Its Base Project Access is No Access or Viewer.
- Every configured module is No Access or Viewer.
- It contains no Editor-level module grants.
A View member cannot be assigned a custom role that exceeds this ceiling. If a custom role is already assigned to a View member or included in a pending View invitation, Software Factory also prevents the definition from being changed to include Editor-level access. Move those assignments first or keep the role Viewer-compatible.
Modules currently available in the selector
The custom-role selector provides exactly these access rows, in this order:
- Automations
- Artifacts
- Requirements
- Blueprints
- Skills
- Work Orders
- Feedback
- Codebase
Tests and project settings are not separate choices in the custom-role selector. A custom role cannot add a Tests or settings override from this screen.
Example role definitions
Requirements Reviewer
- Base Project Access: No Access
- Requirements: Viewer
- All other modules: No Access
This person can open the project and review Requirements but cannot access unrelated module content.
Blueprint Editor
- Base Project Access: No Access
- Blueprints: Editor
- Codebase: Viewer
- All other modules: No Access
This person can edit Blueprints, manage Blueprint code links, and search the connected codebase without receiving general project-wide edit access.
Project Reviewer
- Base Project Access: Viewer
- No module overrides required
The Viewer base already supplies Viewer access across project modules. Raise only the modules this role should edit; selecting Viewer again does not further restrict access.
Creating a custom role
Users with permission to manage organization role definitions can create a custom role:
- Open Settings.
- Under Organization, open Manage Roles.
- Select Create Custom Role.
- Enter a clear name and description.
- Choose No Access or Viewer as the base.
- Choose the access level for each available module.
- Create the role.
Creating a definition does not grant access by itself. Assign the role from Settings → Project → Roles in the relevant project.
Assigning a custom role
Custom roles are assigned per project. A person can use one custom role in one project and a different built-in or custom role in another.
Project Owners and Organization Administrators can assign available roles when adding or editing project members.
For a View member, the role selector offers only Viewer-compatible custom roles. Incompatible roles remain visible but disabled so the access limit is clear.
Editing a custom role
Editing a role definition changes the effective access of everyone assigned to it across all affected projects.
Before saving a change:
- Review how many members and projects use the role.
- Confirm that newly added permissions are intentional.
- Confirm that removed permissions will not interrupt required work.
Membership assignments stay in place; their effective access follows the updated definition.
Deleting a custom role
Deleting a role affects all of its assignments:
- A No Access-based role has no replacement project tier after deletion.
- A Viewer-based role falls back to Viewer access.
Review the affected member and project counts before confirming deletion. Deletion cannot be undone.