Roles (RBAC)
Permissions as resource and action, grouped into roles, assigned per workspace. Wildcards when you need them.
tickets:reply → role supportAUTHORIZATION
Roles, permissions and tenants for your B2B app through one API. Every check comes back with the reason, so support and auditors get an answer instead of a guess.
Permissions as resource and action, grouped into roles, assigned per workspace. Wildcards when you need them.
tickets:reply → role supportConditions with and, or and not: IP ranges, dates, any attribute you pass with the check.
ip in 10.0.0.0/8 and weekdayOwner of, member of, shared with. Tuples for the cases roles can't express.
maria owner doc:q3-planEach customer is a scope; their teams and workspaces sit under it. Roles inherit down the tree, and an explicit deny at any level wins. Unlimited tenants on every plan.
The decision names the roles that granted access, the policies that denied it and the scopes it walked. Simulate a change before you make it, and issue a signed receipt when you need proof later.
{
"allowed": false,
"matchedBy": ["role:admin"],
"deniedBy": ["policy:deny billing:export"],
"scopeChain": ["acme", "us-sales"]
}Add Agent Security and every MCP tool call follows the rules you set here.