Enterprise-ready playbook
Ship RBAC and custom roles
Updated 2026-07-19
Why enterprises demand it
- Access must be least-privilege and mapped to the customer's own structure
- Larger customers demand custom roles, not just admin/member
- Auditors expect role definitions and periodic access reviews
How to implement
- 1Scope roles and permissions to the Organization
- 2Ship sensible default roles, then allow custom roles
- 3Externalize authorization decisions from scattered app code
- 4Plan a path to fine-grained / relationship-based authorization for resource-level access
Standards
- RBAC
- ABAC / ReBAC for fine-grained needs
- OAuth 2.1 scopes
Pitfalls
Global roles ignoring tenancy
Roles must be per-organization or you cannot isolate customers.
Authorization scattered in code
It becomes untestable and unauditable; centralize it.
Fixed roles only
Enterprises need custom roles; a rigid set blocks deals.
Build checklist
- Org-scoped roles and permissions
- Default roles plus custom roles
- Centralized authorization decisions
- A planned path to fine-grained authorization
What to require of a platform
- Org-scoped RBAC with custom roles
- Fine-grained / relationship-based authorization option
- Centralized policy
Build it: blueprints
FAQ
- When do I need fine-grained authorization instead of RBAC?
- When access depends on relationships to specific resources (this user can edit these documents) rather than broad roles. Start with clean org-scoped RBAC and move to relationship-based (ReBAC) authorization as resource-level needs grow.
- Do enterprises expect custom roles?
- Larger customers usually do. A fixed admin/member set blocks deals; enterprises want to define roles that map to their own structure, scoped to their organization.