Identity & RBAC

How modules receive caller identity and enforce permissions.

ModuleActor

ModuleContext.actor includes identityPlane, optional userId / role, and permissionKeys.

  • Lifecycle hooksservice actor (no end-user)
  • Artifact API — tenant session actor from withTenantAuth
  • Admin UI slotsModuleRuntimeProvider exposes role/permissions to client slot hosts

Tenant roles

OWNER, ADMIN, MANAGER, STAFF, VIEWER — declare granular permissions[] in the manifest and enforce on every mutating API route.