Guides

Role-Based Access Control

Overview

ASD uses role-based access control (RBAC) to manage what users can do within an organisation. Every organisation member has exactly one role, and that role determines their permissions across the platform.

Roles

ASD defines four organisation-level roles:

RolePurpose
OwnerFull control over the organisation. Can delete the org, manage billing, and transfer ownership.
AdminDay-to-day management. Can invite members, create teams, and manage tunnel configurations.
FinanceBilling and subscription management. Can view invoices, manage payment methods, and change plans.
MemberStandard access. Can use tunnels, view team resources, and manage their own settings.

Each organisation has exactly one owner. The owner role cannot be removed β€”only transferred to another member.

Permission Matrix

ActionOwnerAdminFinanceMember
View organisation dashboardYesYesYesYes
Use tunnelsYesYesNoYes
View team membersYesYesYesYes
Create teamsYesYesNoNo
Delete teamsYesYesNoNo
Invite membersYesYesNoNo
Remove membersYesYesNoNo
Change member rolesYesYesNoNo
Create API keysYesYesYesYes
Manage tunnel configsYesYesNoNo
View billingYesYesYesNo
Manage subscriptionsYesYesYesNo
Change org settingsYesYesNoNo
Delete organisationYesNoNoNo
Transfer ownershipYesNoNoNo

How Roles Are Assigned

  • During onboarding β€” you automatically become the owner of any organisation you create
  • Via invitation β€” when you invite a new member, you select their role (see Invitations)
  • Role changes β€” owners and admins can change a member’s role from the organisation settings

Enforcement

RBAC is enforced at multiple levels:

Database Level

Row Level Security (RLS) policies on every table ensure you can only access data within organisations you belong to. Your role determines which rows you can read and modify.

Application Level

Every dashboard action and API request validates your session and checks your organisation role before proceeding. If you do not have the required role, the request is rejected.

API Key Level

API keys are scoped to the organisation that created them. When you create an API key, it inherits the permissions of your current role.

Related Guides

  • Organisations β€” organisation model and hierarchy
  • Invitations β€” how roles are assigned during invitation
  • Security β€” authentication and tunnel security