Skip to content

Permissions & RBAC

Bizon Platform uses role-based access control (RBAC) with support for domain-level permission overrides.

Four organization-level roles from highest to lowest privilege:

RoleDescription
OwnerFull access, can transfer ownership, cannot be removed
AdminFull access except ownership transfer
MemberCreate/edit pipelines and connectors
ViewerRead-only access to all resources
PermissionOwnerAdminMemberViewer
View pipelinesYesYesYesYes
Create pipelinesYesYesYesNo
Edit pipelinesYesYesYesNo
Delete pipelinesYesYesNoNo
Run pipelinesYesYesYesNo
Manage connectorsYesYesYesNo
Create domainsYesYesNoNo
Invite usersYesYesNoNo
Manage rolesYesYesNoNo
Manage API keysYesYesNoNo
Delete organizationYesNoNoNo

Set role during invitation:

{
"email": "user@example.com",
"role": "member"
}

Update an existing member’s role:

Settings > Members > Click member > Change role

Rules:

  • Cannot assign owner role (use ownership transfer)
  • Admins cannot change other admins’ roles
  • Cannot demote the owner

Grant elevated permissions within specific domains without changing org-level role.

A viewer who needs member access to the Marketing domain:

Org Role: viewer (read-only everywhere)
Domain Override: member in Marketing (can create/edit there)

Settings > Members > Select user > Domain Permissions > Add Override

  1. Elevation only - Can only elevate, never demote
  2. Limited roles - Only admin or member (never owner)
  3. Admin restriction - Admins cannot grant admin overrides (only owner can)
  4. One per domain - One override per user per domain

The effective permission is the maximum of:

  • Organization role
  • Domain role override (if exists)
org_role=viewer + domain_override=member → effective=member (in that domain)
org_role=admin + domain_override=member → effective=admin (override ignored)
  • All data is scoped to organizations
  • Users cannot see other organizations’ data
  • Cross-organization access is not possible

Users can belong to multiple organizations:

  1. Accept invitation to another org
  2. Switch organizations in the UI
  3. Tokens are scoped to one org at a time

API keys inherit the creator’s permissions:

Creator RoleAPI Key Access
OwnerFull access
AdminFull access (except ownership)
MemberCreate/edit resources
ViewerRead-only

Endpoints use permission guards:

@router.post("/pipelines")
async def create_pipeline(
org_ctx: OrgContext = Depends(require_permission(Permission.PIPELINES_WRITE))
):
# Only executes if user has PIPELINES_WRITE permission
...
  1. Check role - Verify your org-level role
  2. Check domain - For domain resources, check override
  3. Check resource - Ensure resource belongs to your org
  • You cannot change your own role
  • Admins cannot modify other admins
  • Owner role requires ownership transfer

Contact your organization owner or admin to:

  • Upgrade your role
  • Add domain-specific overrides