Proxy RBAC & Cloud Auth
The proxy enforces role-based access control using policies embedded in JWT tokens from the Quint auth service. Evaluation is deny-first — every action must pass all checks to be allowed.Token Types
Quint uses 6 token types, each identified by a prefix:
All tokens are ES256 (ECDSA P-256) JWTs. The proxy validates signatures against the auth service’s public key, which is fetched and cached with a configurable TTL (default: 5 minutes).
Deny-First Evaluation
Every action goes through 6 sequential checks. The first failure stops evaluation.1
Step 1: Denied Actions
If the action matches any pattern in
denied_actions → DENY.2
Step 2: Allowed Actions
If
allowed_actions is non-empty and the action matches none → DENY.3
Step 3: Denied Resources
If the resource matches any pattern in
denied_resources → DENY.4
Step 4: Allowed Resources
If
allowed_resources is non-empty and the resource matches none → DENY.5
Step 5: Sensitivity Level
If the resource’s sensitivity level exceeds the policy’s limit → DENY.
6
Step 6: Allowed
All checks passed → ALLOW.
Glob Pattern Matching
Actions and resources are matched using glob patterns with colon-aware wildcards:*matches within a single colon-separated segment**matches across segments (recursive)
RBAC Policy Structure
Each agent/subagent token carries an RBAC policy in its JWT claims:Subagent Policy Narrowing
When a parent agent spawns a child, the child’s RBAC policy is automatically narrowed — it can never exceed the parent’s permissions:Local Scope Hierarchy
For agents without cloud tokens, the proxy uses a local scope system:
Tool names are mapped to required scopes:
Cloud Key Validation
The proxy fetches the auth service’s public key to validate JWT signatures:QUINT_TOKEN can provide a cloud JWT token for stdio relay mode.