Permissions
The three layers that decide what someone can do, the four per-tool access levels, and a matrix of the built-in templates
Struxen decides what you can do in three layers, checked in order. Getting a person's access right is almost always a question of which layer you are on.
- Your organization role decides whether the other two layers are consulted at all.
- Your project access level decides whether you are on a given project.
- Your per-tool level decides what you can do inside each module of that project.
Layer 1: organization role
OWNER and ADMIN short-circuit everything below. An Owner or Admin has
full access to every project in the organization, whether or not they were added
to it. There is no way to give someone organization Admin and hold them out of a
project.
A MEMBER gets nothing by default and is resolved through layers two and three.
A member of your organization who has not been added to a project resolves to
denied, with every tool at None.
See Organizations for how roles are assigned.
Layer 2: project access level
The Team page for a project (Settings, then Team, at
/settings/project-team) assigns one of three levels:
| Level | Backed by |
|---|---|
| Manager | The Project Manager template. Full control of every tool. |
| Editor | The Sub / Collaborator template. Raise and answer records, read-only on shared material. |
| Viewer | The Owner Read-Only template. Sees the record tools, writes nothing. |
The last Manager on a project cannot be removed or demoted. The action is refused rather than leaving the project with no one who can administer it. Promote someone else first.
A member added to a project with no template assigned falls back to Sub / Collaborator, which is the most restrictive template that still lets someone work.
There is a fourth built-in template, Superintendent, that is not one of the three levels. It is assigned directly through the project permissions API rather than from the level picker.
Layer 3: per-tool access level
Each project tool carries its own level. Four levels, in order:
| Level | What it means |
|---|---|
| None | The tool is invisible. Reads return not-found or forbidden; writes are refused. |
| Read only | See the records you are entitled to see. No writes at all. |
| Standard | Create records, and act on the ones you participate in: respond, comment, attach. Not a moderator of other people's records. |
| Admin | Full control of the tool inside this project, including other people's records and the tool's project-level configuration. |
A tool that a stored template does not mention resolves to None. Permissions fail closed.
The built-in templates, tool by tool
This is the complete matrix for the four templates Struxen ships. An organization can clone any of them from Settings, then Roles & permissions.
| Tool | Project Manager | Superintendent | Sub / Collaborator | Owner Read-Only |
|---|---|---|---|---|
| RFIs | Admin | Standard | Standard | Read only |
| Submittals | Admin | Read only | Standard | Read only |
| Daily Logs | Admin | Admin | None | Read only |
| Punch List | Admin | Admin | Standard | Read only |
| Drawings | Admin | Read only | Read only | Read only |
| Photos | Admin | Admin | Standard | Read only |
| Meetings | Admin | Standard | Read only | Read only |
| Observations | Admin | Standard | Standard | Read only |
| Schedule | Admin | Read only | Read only | Read only |
| Inspections | Admin | Standard | Read only | Read only |
| Documents | Admin | Standard | Read only | Read only |
| Directory | Admin | Read only | Read only | Read only |
| Project Settings | Admin | None | None | None |
| Contracts | Admin | None | None | None |
| Commitments | Admin | Read only | None | None |
| Direct Costs | Admin | Standard | None | None |
| Changes | Admin | Read only | None | None |
| Budget | Admin | None | None | None |
| Invoicing | Admin | None | None | None |
The financial tools are closed by default on every template except Project Manager, including Owner Read-Only. The budget register puts revised budget beside committed cost line by line, and the commitments register carries every subcontractor's pricing. Read access to either reconstructs the general contractor's margin. An organization that wants a different answer clones the seed and says so, rather than the platform deciding for it.
The cost tools are covered in LEDGER.
Named grants that are not a level
Some capabilities are held independently of how much of a tool you can see. Admin on the owning tool grants them automatically; otherwise they are granted one at a time.
| Grant | Owning tool |
|---|---|
| Act as RFI Manager | RFIs |
| Mark official RFI response | RFIs |
| Manage submittal workflows | Submittals |
| Act as Punch Item Manager | Punch List |
| Final-approve punch items | Punch List |
| Administer daily logs, including reopening a completed day | Daily Logs |
| Create reinspections | Inspections |
| Manage the project Locations tree | Project Settings |
| Manage the vendor compliance register | Directory |
| Manage prime contracts | Contracts |
| Record owner decisions on change orders | Changes |
| Record owner signature on a contingency use | Changes |
| Lock and unlock the budget baseline | Budget |
| Enter and submit subcontractor invoices | Invoicing |
| Administer owner pay applications | Invoicing |
| Close tasks assigned to others | None, granted explicitly only |
Modules that borrow another tool's level
Not every module has a level of its own. These read from a neighbour, which means changing the neighbour changes them:
| Module | Level it reads |
|---|---|
| Safety, incidents and toolbox talks | Observations |
| Action plans | Observations |
| Transmittals | Documents |
| Tasks | Project membership, plus Project Settings at Admin for project-admin actions |
If a superintendent cannot log a safety incident, the level to change is Observations, not anything named Safety.
Custom roles
Owners and Admins can build named permission sets from Settings, then
Roles & permissions (/settings/roles).
Two permissions can never appear in a custom role, whatever you select:
- Delete project
- Manage team
Those stay with the built-in roles. A custom role that tries to carry them is rejected.
Two rules that override everything
- Demo projects are read-only. Every write is clamped regardless of level.
- Cross-organization access fails closed. A user resolves against their own organization only. There is no path by which a level in one organization grants anything in another.
Where each surface is gated
| Surface | Who can open it |
|---|---|
| Settings, then Users & teams | Owner, Admin. Members see a Restricted panel. |
| Settings, then Roles & permissions | Owner, Admin |
| Settings, then Audit log | Owner, Admin |
| Settings, then Billing & subscription | Any member. See Billing. |
| Settings, then Credits & usage | Any project member; buying credits needs Owner or Admin |
| Settings, then Integrations | Any member can connect their own Autodesk account. See Integrations. |
| Settings, then Forma sync | Owner, Admin |
| Settings, then VANTAGE add-on | Owner, Admin |
| Settings, then Danger zone | The project's creator, a project Manager, or an org Owner or Admin |