Skip to content

Roles & Permissions Matrix

This document is a consolidated reference of all roles and their associated permissions in the system. It covers both global roles (system-wide) and the default location-scoped roles, and is intended to help stakeholders quickly understand what each role can and cannot do. All roles and permissions described here are currently active in production.

2. Who does this apply to? (Scope & Audience)

Section titled “2. Who does this apply to? (Scope & Audience)”

This reference applies to all staff users of the system. It covers two distinct scopes:

  • Global roles — Apply across all locations. Users with a global role access the system through the Admin View.
  • Location roles — Apply only within the specific location where they are assigned. A user may hold a different role at each location they belong to.

The Parent role is excluded from this reference, as it belongs to the parent portal and operates under a separate authentication guard.

  • Superadmin bypasses all permission checks. Any permission gate in the system is automatically satisfied for a Superadmin user. This role is the only immutable system role.
  • Admin holds all permissions except manage_roles. This prevents Admins from modifying role structures or escalating permissions.
  • Role assignment is hierarchical. A user can only assign roles that carry fewer permissions than their own. Superadmins are exempt.
  • A role cannot be deleted while assigned to any employee, including inactive ones.
  • Location roles only expose location-scoped permissions. System-wide permissions cannot be added to a location role.
  • All roles, except Superadmin, can be edited or deleted when unassigned.
PermissionSuperadminAdmin
Role & User Management
manage_roles — Create, edit, delete roles✅❌
assign_roles — Assign roles to users✅✅
view_employees — View employee list✅✅
manage_employees — Manage employee records✅✅
create_employees — Add new employees✅✅
update_employees — Edit employee details✅✅
delete_employees — Remove employees✅✅
impersonate_users — Impersonate any user✅❌
Location Management
manage_locations — Manage all locations✅✅
create_locations — Add new locations✅✅
update_locations — Edit location details✅✅
delete_locations — Remove locations✅✅
access_all_locations — Access any location✅✅
manage_locations_access — Manage location membership✅✅
Insurance & Billing
manage_insurances — Manage insurance companies✅✅
create_insurances — Add insurance records✅✅
update_insurances — Edit insurance records✅✅
manage_claims — Manage insurance claims✅✅
view_invoices — View invoices✅✅
update_invoices — Edit invoices✅✅
delete_invoices — Delete invoices✅✅
Workspaces
view_workspaces — View workspace list✅✅
show_workspace — View workspace details✅✅
delete_workspaces — Delete workspaces✅✅
export_workspaces — Export workspaces to PDF✅✅
Tickets
manage_tickets — Manage all tickets✅✅
create_tickets — Submit tickets✅✅
Administration
use_admin_tools — Access Administration section✅✅
audit_system — View system logs & login sessions✅✅
access_admin_view — Access Admin View✅✅

The table below reflects the default permission set for each location role. Since all location roles can be customized per location, actual permissions may vary.

PermissionOwnerManagerBCBARBT
Role & User Management
manage_roles✅❌❌❌
assign_roles✅❌❌❌
view_employees✅✅❌❌
manage_employees✅✅❌❌
create_employees✅✅❌❌
update_employees✅✅❌❌
delete_employees✅✅❌❌
manage_locations_access✅✅❌❌
Client Management
view_all_clients✅✅❌❌
create_clients✅✅❌❌
update_clients✅✅❌❌
BIP
view_bips✅✅✅✅
manage_bips✅✅✅❌
export_bip✅✅❌❌
Notes
view_notes✅✅✅✅
view_all_notes✅✅❌❌
create_note_bcba✅✅✅❌
create_notes_rbt✅✅✅✅
manage_notes✅✅❌❌
export_notes✅✅❌❌
Reports
view_projection_report❌✅✅❌
Billing
manage_claims✅❌❌❌
view_invoices✅✅❌❌
update_invoices✅✅❌❌
delete_invoices✅✅❌❌
Parents
view_parents✅✅❌❌
create_parents✅✅❌❌
update_parents✅✅❌❌
Tickets
manage_tickets✅✅❌❌
create_tickets✅✅✅✅

Scenario 1 — A BCBA who needs to review session notes from other providers. By default, a BCBA can only view notes (view_notes) but not see notes across all employees (view_all_notes). If this is required, the Owner or Manager can edit the BCBA role at their location to add view_all_notes, or create a dedicated role (e.g., Senior BCBA) with that permission.

Scenario 2 — A clinic that needs a billing-only staff member. Since no default role is limited strictly to billing, an Owner can create a custom location role (e.g., Billing Coordinator) with only manage_claims, view_invoices, update_invoices, and delete_invoices. This role would have no clinical permissions, keeping access tightly scoped.

Scenario 3 — A Superadmin entering a specific location. When a Superadmin selects a specific location from the location selection screen, they operate with the role assigned to them at that location — not as Superadmin. Their system-wide privileges are only active in Admin View. If they have not been assigned a role at a particular location, they will not have location-level access there.

  • Q: Can a location role ever include global permissions like manage_locations?

    • A: No. The system restricts location roles to location-scoped permissions only. Global permissions are exclusively available to global roles (Superadmin and Admin).
  • Q: If the Owner role at a location is edited to remove manage_roles, can that Owner still manage roles?

    • A: No. Permission checks are always evaluated against the current role definition. Removing manage_roles from the Owner role at a location immediately revokes that capability for all users holding that role there.
  • Q: Who can see the full permissions of a role?

    • A: Any user with manage_roles can open a role in the Roles list and see its full permission set. Hovering over a permission in the list also shows a description tooltip for context.