Skip to main content
PlaneConnection uses role-based access control (RBAC) to govern what users can see and do within the platform. Roles determine access to modules, features, and actions. The platform supports 24 distinct roles organized into five categories. The canonical role list is defined in the UserRole type and enforced by the ROLE_PERMISSIONS matrix. User roles are distinct from crew roles. A user role governs platform access; a crew role defines an individual’s function on a specific flight.
Users can hold multiple roles simultaneously within a workspace. A user’s effective permissions are the union of all their assigned roles. For example, a chief pilot who also serves as safety manager would hold both chief_pilot and safety_manager roles, receiving the combined permissions of both.

Role Categories

CategoryRolesPurpose
Core Workspace3Canonical roles for organization-level operations.
SMS / Safety8Safety management system personnel per 14 CFR Part 5.
Operations8Flight operations, dispatch, maintenance, and crew management.
Portal3Customer-facing portal access scoped to the user’s own data.
System2Platform-level administration across workspaces.

Core Workspace Roles

These three roles are always available regardless of which modules are enabled.
RoleAPI ValueDescriptionKey CapabilitiesRegulatory Basis
Account Owneraccount_ownerOrganization owner with full control. Every workspace has exactly one Owner.Full access to all modules, all resources, all actions. Can delete the organization. Manages members, invitations, subscription, and billing.
AdminadminOrganization administrator with near-full control.Full access to all modules and resources. Can manage users, assign roles, configure workspace settings, manage integrations and API keys, view audit logs, and manage billing. Cannot delete the organization.
StaffstaffBasic workspace member with limited access.Submit safety reports (own), view own investigations, read risk assessments and analytics, manage own crew profile, view own flights and accounting, read aircraft and crew records.

SMS/Safety Roles

These roles support the safety management system required by FAA 14 CFR Part 5. Several are regulatory designations defined in 14 CFR.
RoleAPI ValueDescriptionKey CapabilitiesRegulatory Basis
PilotpilotPilot or flight crew member.Submit safety reports, view own investigations and CPAs, read risk assessments and analytics, manage own crew profile (logbook, schedule, currency), view own flights and maintenance items.
Safety Managersafety_managerDesignated SMS manager responsible for day-to-day safety management.Full SMS access: manage all reports, investigations, CPAs, risk assessments, and compliance. Configure analytics and AI insights. Access confidential reporter identity. Read-only access to ops data (flights, aircraft, crew, dispatch, maintenance).14 CFR 5.25
Accountable Executiveaccountable_executiveSenior executive with ultimate SMS accountability.Read and approve investigations, risk assessments, CPAs, compliance items, and documents. Read-only access to all safety and ops data. Export compliance and accounting data.14 CFR 5.23
InvestigatorinvestigatorPersonnel conducting safety investigations.Create and manage investigations, risk assessments, CPAs, and reports. Read compliance, analytics, AI insights, documents, and training records. No ops module access.
MechanicmechanicMaintenance personnel (mechanics, technicians).Submit safety reports (own), read aircraft records, create and manage maintenance ops items (due items, discrepancies, MELs), manage own crew profile and training records.
External Reporterexternal_reporterExternal party submitting safety reports anonymously or confidentially.Submit safety reports only. No access to any other module or resource.
InspectorinspectorFAA inspector with read-only audit access.Read and export all SMS data: reports, investigations, risk assessments, CPAs, compliance, analytics, and documents. Read-only access to ops, FBO, and maintenance data for comprehensive surveillance. No write access.
AuditorauditorInternal or external auditor for safety assurance.Read and export all SMS and ops data: reports, investigations, risk assessments, CPAs, compliance, analytics, documents, flights, aircraft, crew, dispatch, maintenance, accounting, reservations, training. Read users and workspace settings.14 CFR 5.71

Operations Roles

These roles manage flight operations, crew, fleet, dispatch, and financial functions. Several are management positions defined in 14 CFR 119.69.
RoleAPI ValueDescriptionKey CapabilitiesRegulatory Basis
Director of Operationsdirector_of_operationsHead of flight operations with full ops authority.Full access to flights, aircraft, crew, dispatch, maintenance ops, owner portal, reservations, and training. Read and export SMS data. Create and manage accounting and passengers. Configure workspace settings.14 CFR 119.69
Chief Pilotchief_pilotChief pilot overseeing flight crew operations.Full crew and training management. Create and manage flights, passengers, accounting, and reservations. Read aircraft, dispatch, and maintenance data. Read and export SMS data. Configure analytics.14 CFR 119.69
Director of Maintenancedirector_of_maintenanceHead of maintenance operations.Full aircraft and maintenance ops management. Create accounting entries and exports. Read flights, crew, dispatch, training, compliance, and analytics. Submit own safety reports.14 CFR 119.69
DispatcherdispatcherFlight dispatcher or scheduling coordinator.Full dispatch access. Create and manage flights, passengers, reservations, and documents. Read aircraft, crew, and maintenance data. Submit own safety reports. Create accounting entries. FBO access for ground handling coordination.
OwnerownerAircraft owner with portal access scoped to owned aircraft.Full owner portal access. Read own flights, aircraft, maintenance, and accounting — scoped to owned aircraft IDs only.
Second in CommandsicSecond in command (co-pilot).Same base permissions as Pilot: submit safety reports (own), view own flights and investigations, read aircraft and crew, manage own crew profile and training records.14 CFR 61.55
Cabin Crewcabin_crewFlight attendant or cabin crew member.Submit safety reports (own), view own flights, read aircraft and passenger records, read documents, manage own crew profile and training records.
Sole Proprietorsole_proprietorIndividual operator wearing all hats.Near-full access to SMS and ops: manage reports, investigations, risk assessments, CPAs, compliance, flights, aircraft, crew, dispatch, maintenance, accounting, reservations, training. Manage users (no delete). Configure workspace settings.14 CFR 5.9(e)

Portal Roles

Portal roles are scoped to customer-facing portals. They cannot access operator-side modules (safety, ops, FBO staff, dispatch, crew, or settings). Portal users access the platform at /{workspace}/portal.
RoleAPI ValueDescriptionKey CapabilitiesRegulatory Basis
FBO Customerfbo_customerFBO customer with portal access.Manage own reservations, invoices, profile, vehicle rentals, household members, and payment methods through the FBO Customer Portal.
PassengerpassengerPassenger with portal access.View own trips, manage profile, upload documents, and communicate with the operations team through the Passenger Portal.
Charter Clientcharter_clientCharter client with portal access.Submit trip requests, review and accept quotes, manage passengers, view invoices, and message the operations team through the Charter Client Portal.
Portal-only roles that attempt to access operator-side routes receive a redirect to the sign-in page rather than a 403 error.

System Roles

System roles operate above the workspace level and are managed by PlaneConnection staff. They cannot be assigned by workspace administrators.
RoleAPI ValueDescriptionKey CapabilitiesRegulatory Basis
System Administratorsystem_administratorSystem-wide administrator for a PlaneConnection deployment.Full access to all resources within a workspace. Manage platform-level workspaces. Read and export platform audit logs and analytics.
Platform Adminplatform_adminPlaneConnection super-admin with cross-workspace access.Unrestricted access across all workspaces. Full access to all resources, platform workspaces, audit, and analytics. Can impersonate users for troubleshooting.

Role Hierarchy

Roles do not follow a strict linear hierarchy. Different roles have domain-specific depth that does not fully overlap. The following shows general access breadth:
Platform Admin / System Administrator
  |-- Account Owner = Admin
        |-- Sole Proprietor (SMS + Ops combined)
        |-- Safety Manager (full SMS)
        |     |-- Investigator (subset of SMS)
        |-- Director of Operations (full Ops)
        |     |-- Chief Pilot (crew + training focus)
        |     |-- Director of Maintenance (aircraft + maintenance focus)
        |     |-- Dispatcher (scheduling + dispatch focus)
        |-- Accountable Executive (read + approve across SMS and Ops)
        |-- Auditor (read + export across SMS and Ops)
              |-- Inspector (read + export SMS only)

Pilot = SIC = Staff (own-record access)
Mechanic (own records + maintenance ops)
Cabin Crew (own records + passenger read)
External Reporter (submit reports only)

Portal: FBO Customer | Passenger | Charter Client (own portal data only)
RelationshipDescription
Account Owner = AdminBoth have full access. Account Owner can additionally delete the organization.
Safety Manager vs Director of OperationsSafety Manager has full SMS + read Ops. DO has full Ops + read SMS. Neither is a superset of the other.
Sole ProprietorCombines most Safety Manager and DO permissions for single-person operations.
InvestigatorPermissions are a subset of Safety Manager (no compliance management, no confidential identity access).
Pilot = SIC = StaffSame base permissions: own-record access across modules.
Auditor vs InspectorAuditor has read/export across SMS and Ops. Inspector is limited to SMS read/export.

API Role Hierarchy

The REST API uses a numeric role hierarchy for coarse-grained access checks (higher number = more privileges). This is separate from the fine-grained permission matrix used in the main app:
LevelRoles
8Platform Admin
7System Administrator
6Admin, Director of Operations, Accountable Executive
5Safety Manager, Chief Pilot, Director of Maintenance, Sole Proprietor
4Investigator, Dispatcher, Staff
3Pilot, Mechanic, Cabin Crew
2Owner, Auditor, Inspector
1FBO Customer, External Reporter
The API uses this numeric hierarchy for access control checks. The main application uses a full permission matrix for resource-level access control, which is more granular than numeric levels.

Multi-Role Support

Users can hold multiple roles simultaneously within a workspace. This is common in smaller operations where personnel serve multiple functions:
  • A chief pilot who is also the safety manager holds both chief_pilot and safety_manager roles.
  • A director of operations who handles dispatch holds both director_of_operations and dispatcher roles.
  • A sole proprietor may additionally hold safety_manager to gain confidential identity access.
The effective permissions are the union of all assigned roles. If any role grants an action on a resource, the user has that permission. Multi-role assignments are managed on the Members page under Settings.
Beyond multi-role assignment, PlaneConnection also supports permission sets — composable permission bundles that layer additional capabilities on top of a user’s base role without assigning an entirely new role.

Module-Based Role Availability

Not all roles are available in every workspace. Roles are tied to modules, and only roles whose module is enabled appear in the role assignment dropdown:
Module RequirementRoles
Always availableAccount Owner, Admin, Staff, Pilot, Accountable Executive, Mechanic, Auditor, Sole Proprietor
Safety module enabledSafety Manager, Investigator, External Reporter, Inspector
Ops module enabledDirector of Operations, Chief Pilot, Director of Maintenance, Dispatcher, Owner, SIC, Cabin Crew
Portal module enabledFBO Customer, Passenger, Charter Client
System (internal only)System Administrator, Platform Admin
Module availability determines which roles appear in the role assignment dropdown. Roles marked “always available” appear regardless of which modules are enabled. The getAvailableRoles() function filters the dropdown based on a workspace’s enabled modules.Cross-module access: Roles are not restricted to a single module. A role can access any module where it has permissions in the permission matrix. For example, a dispatcher (ops role) can access the FBO module because the permission matrix grants fbo: ["create", "read", "update"]. Module access is determined by permissions, not by role category. See ADR-012 for the design rationale.

Role Assignment Rules

RuleDescription
Multi-role supportEach user can hold one or more roles within a workspace.
Multi-workspace supportA user may belong to multiple workspaces with different roles in each.
Assignment authorityOnly Account Owner and Admin users can assign or change roles within their workspace.
Last admin protectionThe last Account Owner/Admin in a workspace cannot be downgraded or removed.
System rolesplatform_admin and system_administrator cannot be assigned by workspace administrators.
Module gatingOnly roles whose module is enabled in the workspace can be assigned.

Permissions Matrix

Full feature-by-role permissions matrix and permission sets.

Manage Users

Invite users, assign roles, and manage access.

Crew Roles

Operational crew role definitions (distinct from user roles).

Multi-Tenancy

How workspaces and data isolation work.
Last modified on April 3, 2026