Amends 0098: the actor gains the acting-as marker.
Context
Staff and customers belong to tenants, and a support engineer sometimes needs to act inside a customer’s tenant. The owner’s answers (mem L596–602, T4 L634, C-03, 2026-10-20) split membership from grants, and split support access across four services so no one service can do it alone.Decision
- Membership. Tenancy owns membership: invitations, switching and the membership states. IAM owns the grants. Removing a membership emits an event, and IAM removes that member’s grants.
- Support access, split (L597–602).
- IAM issues a time-boxed, revocable support grant.
- Identity exchanges tokens (ZITADEL token exchange) with an “acting as” marker, and only while the grant exists.
- A rotating support PIN verifies the support engineer.
- The support service orchestrates the flow.
- The audit and security-centre services record and alert.
- Limits. The support mechanism keeps the limits of the earlier design: 30 minutes, read-only, audited, and the user is notified. This replaces the Better Auth admin plugin of PP14 (contradiction C-03).
- Actor. The actor gains the acting-as marker, so every audit record says who acted for whom.
Consequences
- No single service can grant itself access to a customer.
- A customer sees every support session, because the user is always notified.
Enforcement
planned — the grant expiry is enforced by IAM; the acting-as marker is checked by the audit tests.Supersedes and sources
Supersedes: none. Amends: 0098 (actor). Sources: owner answers (stackra-decisions-2026-10-19.md L596–602, L634, 2026-10-20); contradiction C-03.