Governance · Roles & Permissions
Thirty-three permissions, not three seat types.
Admin, Member, and Viewer can't express “this head approves leave for their department only”.
Projects
project.createproject.edittask.createtask.edittask.deletedeliverable.createmilestone.approveTime
timesheet.createtimesheet.submittimesheet.approveattendance.clockattendance.manageFinance
invoice.requestinvoice.issueinvoice.viewbusiness.viewPeople
hr.viewemployee.exportleave.requestleave.approveleave.manageperformance.reviewperformance.manageRecruitment
recruitment.viewrecruitment.managerecruitment.convertOversight
report.viewreport.exportaudit.viewapproval.overrideadmin.configurehelpdesk.createhelpdesk.manageThe full catalogue, as it ships — and every key is enforced on the server.
Building a role.
- 01Start from what the job actually does, not from a tier you're trying to fit someone into.
- 02Grant the permissions that job needs — a finance reviewer who can approve but not issue is a normal thing to want.
- 03Scope it by department, so the same role means “their team” for each head who holds it.
- 04Change it later without migrating anyone between plans or seat types.
The UI is not the boundary
Hiding a button is a courtesy, not a control. Every permission here is checked again on the server, which is why the client can afford to be generous about showing people where things are.
Next
Where this connects.
See Roles & Permissions on your own work.
We'll run a live project of yours through it rather than showing a demo tenant.
Request a demo