Permission Hierarchy Test

Permission Selection
Requires: view_jobs
Requires: view_applications, view_jobs
Requires: view_interviews, view_applications, view_jobs
Requires: view_team
Requires: view_jobs, view_applications
Requires: view_analytics
Selected Permissions (0)

No permissions selected

Effective Permissions (0)

No effective permissions

How It Works

✅ Smart Dependencies

When you select "manage_jobs", it automatically selects "view_jobs" because you can't manage what you can't see.

🔗 Hierarchy Chain

"manage_interviews" automatically grants "view_interviews", "view_applications", and "view_jobs".

🚫 Smart Blocking

You can't select "manage_applications" without first having "view_applications" and "view_jobs".

👑 Admin Override

Selecting "admin" automatically grants all permissions in the system.

Security Features

🏢 Company Owners

Company/Agency owners automatically have ALL permissions. They don't need team member assignments.

🚫 Self-Management Prevention

Team members with "manage_team" permission cannot modify their own permissions or remove themselves.

🔒 Database Enforcement

Permission checks happen at the database level with SQL functions, preventing bypassing through API calls.

⚡ Performance Caching

Permission results are cached for 5 minutes to reduce database load while maintaining security.