Access Control

SteelEngine's policy-based roles, permissions, assignments, and effective-access model.

SteelEngine uses one policy-based access-control system across the dashboard, APIs, realtime collaboration, and platform MCP server. Access is expressed as roles made from catalog permissions and assignments that apply those roles to people or groups at a defined scope.

The access decision

For each protected operation, SteelEngine evaluates:

person or key owner
  + direct and group role assignments
  + role inheritance
  + organization or workspace scope
  + catalog permission for the requested action and target
  + explicit deny rules
  + plan entitlements
  + API-key scope cap, when a key is used
  = allow or deny

The visible role name is never the authorization decision. A custom role works exactly like a seeded role because both resolve to catalog permissions.

Start here

Core terms

TermMeaning
PermissionA catalog action on a resource family, such as workflow:execute
RoleA named set of permissions and inherited roles
AssignmentA role bound to a person or group at organization or workspace scope
Effective accessThe result after all applicable assignments and policy constraints are evaluated
ProvenanceWhy access exists: direct, via a group, inherited, or organization-wide
Key scopeAn additional boundary placed on an API key; it never grants more than the owner has

Permission groups and roles solve different problems. A group collects people and can receive role assignments. A role collects permissions and can be assigned to a person or group.

On this page