Authorization without if-else chains
Before rendering a delete button, check if the user has the delete permission on that resource. The check returns true or false without evaluating role membership, inheritance, or resource grants in your code.
Define roles, assign them to users, and check permissions with one API call. Inheritance and resource-level grants resolve automatically.
Authorization
Create roles that bundle permissions. Assign roles to users or organization memberships. Check permissions with a single API call without building authorization logic from scratch.

Capabilities
Create roles with named permission sets. Define viewer, editor, and admin roles or create custom roles for your application.
Roles can inherit permissions from other roles. An admin role automatically includes all editor and viewer permissions.
Grant permissions on specific resources. A user can edit one project but only view another without separate role assignments.
Check if a user has a permission with one API call. Permission checks resolve role inheritance and resource-level grants.
Assign roles to users globally or within organization context. Track who assigned roles and when.
Define policies that combine permissions with conditions. Time-based access, IP restrictions, or custom logic evaluated at check time.
Define policies that combine permissions with conditions. Time-based access, IP restrictions, or custom logic evaluated at check time.
Authorization evaluation time
Changes take effect immediately
Every check logged for compliance
Why it matters
Before rendering a delete button, check if the user has the delete permission on that resource. The check returns true or false without evaluating role membership, inheritance, or resource grants in your code.
Launch with admin, editor, and viewer roles. When customers need per-project permissions, add resource-level grants without changing how permission checks work. The same check API handles both.
Define a viewer role with read permission, an editor role that inherits viewer and adds write, and an admin role that inherits editor and adds delete. Admins automatically have read, write, and delete.
Built for Your Workflow
Define permissions centrally and check with a single API call. Conjoin resolves role membership, inheritance chains, and resource-level grants, returning a clear allow or deny decision.
Consolidate authorization logic into consistent permission checks that evaluate in milliseconds.
Define roles through the API or Conjoin Console with named permission sets. Roles can inherit from other roles, and permission changes take effect immediately without code deployments.
Update authorization rules at runtime without releasing new application versions.
Start building with Conjoin today. Free tier includes everything you need to prototype and launch. Scale when you're ready.