Skip to main content

Roles and Permissions

Prangana uses a two-tier RBAC model: account roles and organization roles. Account roles control platform-level access; organization roles control workspace-level access.

Managing roles

To invite users and assign roles, see Manage team access. To automate role assignment via directory groups, see Directory connections.

Account roles

RoleDescription
SuperAdminFull control over the account, users, billing, and organizations
MemberRead-only access to account-level information

Account role permissions

PermissionSuperAdminMember
account.users.inviteYesNo
account.users.manageYesNo
account.roles.manageYesNo
account.billing.manageYesNo
account.organizations.createYesNo
account.audit.viewYesNo
account.viewYesYes
warning

SuperAdmin grants full control over the account including the ability to delete organizations and remove users. Assign this role only to trusted administrators.

Organization roles

RoleDescription
OwnerFull control over the organization, members, projects, and services
AdminCan manage settings, projects, and services; can view members
MemberCan create and view projects and services

Organization role permissions

PermissionOwnerAdminMember
org.members.manageYesNoNo
org.members.viewYesYesNo
org.settings.manageYesYesNo
org.projects.manageYesYesNo
org.projects.viewYesYesYes
org.projects.createYesYesYes
org.services.deployYesYesYes
org.services.viewYesYesYes
org.audit.viewYesYesNo

Authorization context

When Nexus loads, it fetches the authorization context for the current user. This context contains:

  • The user's identity (ID, email, display name)
  • All accounts the user belongs to and their account role
  • All organizations the user belongs to and their organization role
  • A flat list of all effective permissions

The authorization context is used throughout Nexus to show or hide UI elements based on what the current user is allowed to do.

Example authorization context

{
"user": {
"id": "user-uuid",
"email": "dev@example.com",
"displayName": "Dev User"
},
"accounts": [
{
"accountId": "account-uuid",
"accountName": "Acme Corp",
"role": "SuperAdmin",
"permissions": [
"account.users.invite",
"account.users.manage",
"account.roles.manage",
"account.billing.manage",
"account.organizations.create",
"account.audit.view",
"account.view"
]
}
],
"organizations": [
{
"organizationId": "org-uuid",
"accountId": "account-uuid",
"organizationName": "Platform Team",
"role": "Owner",
"permissions": [
"org.members.manage",
"org.members.view",
"org.settings.manage",
"org.projects.manage",
"org.projects.view",
"org.projects.create",
"org.services.deploy",
"org.services.view",
"org.audit.view"
]
}
],
"permissions": ["account.view", "org.projects.view"]
}

Permission checks in Nexus

Nexus checks permissions before enabling actions:

ActionRequired permission
Invite a useraccount.users.invite
Remove a useraccount.users.manage
Change account roleaccount.roles.manage
View audit eventsaccount.audit.view
Create a projectorg.projects.manage
Delete a projectorg.projects.manage
Provision a serviceorg.services.deploy
Delete a serviceorg.services.deploy
Manage org membersorg.members.manage
View org membersorg.members.view
Manage org settingsorg.settings.manage

Plan-gated features

Some features are gated by your subscription plan in addition to role permissions:

FeatureFlagDescription
User invitationsinviteUsersFeatureEnabledRequired to invite users to the account
Directory integrationdirectoryIntegrationEnabledRequired to configure directory connections
Custom rolescustomRolesEnabledRequired to define custom role templates
info

If a feature flag is false, the corresponding UI is disabled with an upgrade prompt even if the user has the required role. Contact hello@prangana.io to upgrade your plan.

Troubleshooting access issues

If you are seeing "Access denied" or disabled buttons, see Common issues — Access and permissions.