Skip to main content
Access control in Essal is unified across all six apps through a single role and permission system managed by Essal Access. Every API call is authenticated as a user or service account and evaluated against that principal’s assigned roles.

Users

A User represents a human identity within a workspace. Users are created in Access and can be granted roles in any combination of apps. A user’s profile includes:

Roles

Roles follow a app:level naming convention. Each role grants a predefined set of permissions within that app.

Service Accounts

Server-to-server integrations should use Service Accounts rather than user credentials. A service account is a non-human identity with an API key and an explicit scope list.

Role Assignment via API

Role changes take effect immediately for new API requests. Existing active sessions are re-evaluated on their next token refresh (within 5 minutes for OAuth tokens).

Permission Evaluation

Guard evaluates permissions in order: explicit deny → role-based allow → default deny. This means a Guard policy can override a role’s default permissions for specific resources or actions.