← Back to APSOLU Pro
Trust & Security

Permissions & Access Control

Last updated: May 19, 2026 — Ref: TRUST-004 — Audit Q16 & Q17

APSOLU Pro implements a two-layer Role-Based Access Control (RBAC) model. The first layer operates at the organization level via Clerk authentication. The second layer provides granular, per-project membership control stored in the application database. No authenticated user can access data belonging to another organization — all queries are org-scoped at the database level.

Layer 1 — Organization Roles (Clerk)

Every APSOLU Pro user authenticates via Clerk and belongs to an organization. Clerk assigns one of two organization-level roles:

org:adminOrganization Admin
  • Invite and remove organization members
  • Assign and change Clerk organization roles
  • Access all projects in the organization (Clerk fallback)
  • Manage billing and subscription
  • Configure organization-wide settings
  • Manage catalog (phases, lots, roles, statuses)
  • Create and delete projects
org:memberOrganization Member
  • Access only projects where explicitly invited
  • View shared catalog (read-only)
  • No billing or organization settings access
  • No ability to create projects
Clerk fallback rule: An org:admin is automatically granted access to all projects in the organization, even without an explicit project membership row. This prevents administrative lockout when the project membership table is sparse. All other users require an explicit project invitation.

Layer 2 — Project Roles (Database)

Within each project, users are assigned one of five granular roles stored in the project_members table. These roles control read/write access to specific project features.

RoleProfileTypical user
OWNERFull control — delete, transfer, manage all membersFounding project manager, org admin designated as project lead
ADMINFull write access + member management, cannot delete projectDeputy PM, senior project coordinator
MANAGEROperational access including financial data, no team managementQuantity Surveyor, lead architect, external PM consultant
EDITORContribute actions and documents, no financial or team accessSite supervisor, subcontractor lead, technician
VIEWERRead-only across project content, no financial dataClient representative, investor, external observer
Role promotion rule:A user’s role can only be upgraded, never silently downgraded. Re-inviting an OWNER with a lower role has no effect — the higher role is always preserved.

Feature Matrix — Project Roles

The table below details which actions are available per project role. Org admins (org:admin) always have full access equivalent to OWNER via the Clerk fallback.

FeatureOWNERADMINMANAGEREDITORVIEWER
Project administration
Delete projectYesNoNoNoNo
Transfer ownershipYesNoNoNoNo
Project settingsYesYesNoNoNo
Manage project members (invite / remove)YesYesNoNoNo
Dashboard & visibility
Today cockpit / daily dashboardYesYesYesYesRead
Project dashboardYesYesYesYesRead
Actions
View actionsYesYesYesYesRead
Create / edit actionsYesYesYesYesNo
Delete actionsYesYesYesNoNo
Documents (Inbox)
View documentsYesYesYesYesRead
Upload documentsYesYesYesYesNo
Delete documentsYesYesYesNoNo
Journal (CRR / Meeting Minutes)
View CRRsYesYesYesYesRead
Create / edit CRRsYesYesYesYesNo
Publish CRRYesYesYesNoNo
Programme (Planning)
View programme (Gantt, calendar)YesYesYesYesRead
Edit tasks, milestones, sequencesYesYesYesNoNo
Import programme via AIYesYesYesNoNo
Financial data (Q16)
View budgetYesYesReadNoNo
Edit budgetYesYesNoNoNo
View cashflowYesYesReadNoNo
Edit cashflowYesYesNoNoNo
Contacts & Companies
View contacts / companiesYesYesYesReadNo
Create / edit contactsYesYesYesNoNo
Pro-Snags (Site Inspection)
View inspectionsYesYesYesYesRead
Create / edit snags, upload photosYesYesYesYesNo
AI features
AI document analysis / extractionYesYesYesYesNo
Email → Actions (AI)YesYesYesYesNo
Knowledge base searchYesYesYesYesRead

Yes= full read/write  | Read= view only  | No = access denied

Scenario — Quantity Surveyor (QS) vs Project Manager (PM)

This scenario directly addresses audit questions Q16 (financial data visibility control) and Q17 (external consultant access scoping).

Project Manager (PM)

Internal — full project authority

OWNER or ADMINorg:admin or org:member
  • All project features without restriction
  • Budget, cashflow, and financial projections
  • Manage project team (invite, remove, change roles)
  • Create and validate CRRs (Meeting Minutes)
  • Delete project or transfer ownership
  • Edit programme and milestones

Quantity Surveyor (QS)

External consultant — scoped access

MANAGERorg:member
  • View and edit budget / cashflow data (Q16 answer)
  • View and edit programme (Gantt, tasks, sequences)
  • View all documents and actions
  • Cannot manage project team membership
  • Cannot delete the project or change project settings
  • Cannot access other projects in the organization (Q17 answer)

External Contractor / Subcontractor

Limited read + operational input

EDITORorg:member
  • Create and update actions assigned to them
  • Upload documents (photos, reports, delivery slips)
  • View programme and dashboard
  • No access to budget or cashflow
  • No access to other projects
  • Read-only on contacts and company data

Client / Observer

Stakeholder read-only visibility

VIEWERorg:member
  • View dashboard, today cockpit, and programme
  • View actions (read-only)
  • View published CRRs and documents
  • No create, edit, or delete on any resource
  • No financial data access
  • No access to contacts or project settings

Managing Users — Platform Interface

Organization administrators manage team members directly from within APSOLU Pro. No external dashboard or support ticket is required.

1
Organization members (Clerk level)

Go to Organization in the left sidebar (/organization). Use the Clerk widget to invite users by email, assign them the org:admin or org:member Clerk role, and remove members at any time. Changes take effect immediately.

2
Project invitations (project level)

Inside any project, go to Setup → Intervenants (/projects/[id]/setup/intervenants). Invite a user to the project and assign their project role (OWNER / ADMIN / MANAGER / EDITOR / VIEWER). Invitations are token-based with configurable expiry.

3
Revoking access

Removing a user from the project_members table immediately revokes their project access. Removing them from the Clerk organization revokes all access to APSOLU Pro across all projects for that organization.

Audit trail: All membership changes (invite, role change, revoke) are recorded with a timestamp and the acting user ID. Contact security@apsolu.app to request an access log export for your organization.

Technical Implementation

For security professionals and technical auditors:

Questions about access control? security@apsolu.app

Privacy Policy | Terms of Service | APSOLU Pro