The depth numbers in decision 5 are superseded by ADR 0240 and ADR 0242 (Starter 2, Pro 4,
Business 8, Enterprise unlimited; no Free plan). The body is unchanged.
Context
IAM decides who may do what in which scope. The owner’s IAM answers (mem L594–595, L618–628, L878, 2026-10-20) define the scope tree, roles, conditions, delegation, and access reviews. The scope-tree tier was first written as Pro and later changed to free code with plan-gated depth (L878, the later line wins).Decision
- Scope tree (A1). A generic scope tree of platform, product, tenant, then levels declared by a product, on ltree. Grants inherit downward. The tree’s shape is declared in code. The tree is free code everywhere. Its depth is gated by the OS plan entitlement (ADR 0240).
- Roles (A2). System roles are shipped by modules. Tenants add custom roles. A grant is a role, a principal, a scope and an optional expiry.
- Conditions and deny (A3). Structured conditions and explicit deny, with deny overriding allow, in the first release. No expressions.
- Delegation (A4). A principal can delegate only at or below its own scope, and only roles it holds. Separation-of-duties role pairs are supported.
- Free and Pro lines (A7, as corrected). Free: role-based access, custom roles, one level below the tenant, conditions and delegation. Paid entitlements: relationship-based access, separation-of-duties rules, unlimited depth, the edge decision point, and the OpenFGA and OPA adapters, which come later (Deferred in 0011, and 0227).
- Permission names (A10). Are those of ADR 0132.
- Access reviews (A11). Review campaigns run on a schedule.
Consequences
- A tenant on the lowest plan still gets a usable hierarchy of one level, and it can grow by plan.
- A deny always wins, so a broad allow cannot override a specific restriction.
Enforcement
planned — the IAM test suite checks deny-overrides-allow and the delegation bound; the depth limit is checked against the plan entitlement.Supersedes and sources
Supersedes: decisions 4, 6 and 7 of 0087 (with 0206). Sources: owner IAM answers A1–A11 (stackra-decisions-2026-10-19.md L594–595, L618–628, 2026-10-20); the scope-tree answer (L878, 2026-10-20 night). Contradiction C-04b.