Skip to content

Roles

Overview

Oblax uses a three-tier role system that spans platform, organization, and project levels. Each tier has its own set of roles with specific capabilities. Platform roles control access to the Oblax platform itself. Organization roles control access to organizations and their projects. Project roles control access to individual project settings and resources.

Roles are independent across tiers. A PLATFORM_ADMIN does not automatically become an organization owner or project admin. Each role must be explicitly assigned.


Platform Roles

Platform roles define a user’s access level within the Oblax platform. These roles are assigned by PLATFORM_SUPER_ADMIN users only.

RoleCapabilities
PLATFORM_SUPER_ADMINUnrestricted access to all platform features, users, organizations, billing, and security
PLATFORM_ADMINOperational access to manage and inspect organizations, projects, and users for support
PLATFORM_USERDefault role for all users. Access limited to explicitly assigned organizations and projects

New users are automatically assigned PLATFORM_USER on account creation. Platform roles do not inherit or imply organization or project roles.


Organization Roles

Organization roles define a user’s access level within an organization. These roles are assigned by ORG_OWNER or ORG_ADMIN users.

RoleCapabilities
ORG_OWNERFull access to all projects and organization settings. Can manage billing and ownership
ORG_ADMINAccess to all projects within the organization. Cannot change ownership or view billing
ORG_MEMBERNo default access. Must be assigned to a project by an owner or admin

Project Roles

Project roles define a user’s access level within a single project. These roles are assigned by PROJ_ADMIN users or by organization owners and admins.

RoleCapabilities
PROJ_ADMINFull access to project settings. Can manage project members
PROJ_MEMBERCan view project settings. Cannot manage members

Role Assignment

Platform Roles

Only PLATFORM_SUPER_ADMIN can assign platform roles. Users cannot assign roles to themselves.

Organization and Project Roles

Organization and project roles are assigned by organization owners, organization admins, or project admins. The assignment is done through the CLI or web interface.

obx project invite user@example.com --role PROJ_MEMBER

Role Inheritance

The role system follows strict inheritance rules:

RuleDescription
Project creationOnly ORG_OWNER or ORG_ADMIN can create projects
Project creatorAutomatically assigned PROJ_ADMIN
Project adminCan invite and assign roles to other users
Platform independencePlatform roles do not imply org or project roles

Typical Use Cases

New User

  1. User creates an Oblax account
  2. System assigns PLATFORM_USER
  3. System creates a default organization
  4. System assigns ORG_OWNER for the new organization

New Project

  1. ORG_OWNER or ORG_ADMIN creates a project
  2. Creator is automatically assigned PROJ_ADMIN

Inviting a User (as ORG_OWNER or ORG_ADMIN)

  1. PROJ_ADMIN with org-level role invites a user
  2. Invited user is added to the organization as ORG_MEMBER
  3. Invited user is added to the project as PROJ_MEMBER

Inviting a User (as ORG_MEMBER)

  1. PROJ_ADMIN with ORG_MEMBER role invites a user
  2. Invitation is sent to ORG_OWNER or ORG_ADMIN for approval
  3. Once approved, user is added as ORG_MEMBER and PROJ_MEMBER

Role Assignment Matrix

Platform Roles

RoleCan assign PLATFORM_SUPER_ADMINCan assign PLATFORM_ADMINCan assign PLATFORM_USER
PLATFORM_SUPER_ADMINYesYesYes
PLATFORM_ADMINNoNoNo
PLATFORM_USERNoNoNo

Organization and Project Roles

RoleORG_OWNERORG_ADMINORG_MEMBERPROJ_ADMINPROJ_MEMBER
ORG_OWNERYesYesYesYesYes
ORG_ADMINNoYesYesYesYes
ORG_MEMBERNoNoNoNoNo
PROJ_ADMINNoNoNoYesYes
PROJ_MEMBERNoNoNoNoNo

Where to next

SectionDescription
ACL and PermissionsUse roles in ACL rules to control endpoint access
RealmsCombine roles with realms for fine-grained scoping
Authentication and AuthorizationUnderstand how roles appear in JWT claims