Overview
Alex uses a flexible Policy-Based Access Control system that allows fine-grained control over what users can do within the platform. Each user is assigned a role that contains a set of policies. These policies define which resources a user can access and what actions they can perform.Core Concepts
Actions
Actions define what operations a user can perform on a resource:Available Resources
Resources represent the entities and features that can be controlled through policies.Jobs: Additional Permissions
When configuring Jobs permissions, you can also control access to:System Roles
Alex includes built-in system roles that provide common permission configurations.Admin
Full administrative access to the company account, including all resources and Global Settings.Recruiter
Full access to day-to-day operations, without Global Settings:- Dashboard: Full access
- Jobs: Full access (including settings, kit, and analytics)
- Sessions: Full access
- Candidates: Full access
- Workflows: Read
- Templates: Full access
- Labels: Full access
Hiring Manager
Limited access for evaluators who review shared candidates:- Jobs: Read only for jobs with sessions shared to them
- Sessions: Read only for sessions shared to them
- Shortlisted
- Rejected
- No decision
Custom Roles
In addition to system roles, you can create custom roles with specific permissions tailored to your organization’s needs. Custom roles give you full control over which resources and actions are available to users.Conditional Policies
For Jobs, you can add conditions to restrict which specific jobs a user can access.
Conditions can be combined. For example, a user might only be able to edit their own jobs that also have specific labels.
How Permissions are Evaluated
- Admin Check: Users with full “manage all” access receive admin privileges.
-
Policy Evaluation: For other users, each policy is evaluated:
- Allow policies grant access
- Deny policies explicitly block access (useful for exceptions)
- Default Deny: If no policy explicitly allows an action, it is denied by default.
Managing Roles
Roles can be managed through the Alex dashboard under Settings > Team > Roles. Each role contains:- Name: A descriptive name for the role
- Policies: The set of policies that define what users with this role can do
Best Practices
Principle of Least Privilege
Grant users only the permissions they need to perform their job functions.
Use Deny Sparingly
Prefer granting specific permissions rather than allowing everything and denying exceptions.
Review Before Assigning
Verify a role has the intended access before assigning it to team members.
Audit Regularly
Review role assignments periodically to ensure they align with current responsibilities.