You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Restore compact, tenant-scoped administration without broadening instance or identity authority.
Outcomes
Replace the repeated role-checkbox lists in Organizations → Members & access with compact member rows and one reusable role-assignment dialog; reuse it from tenant-scoped Team and eligible linked-customer access.
Make Roles & Permissions quieter: a neutral, small, non-interactive, content-width protected-built-in status chip; clearer row hierarchy and bounded summaries while retaining custom-role and assignment workflows.
Let Tenant Administrators use canonical Team (/admin/users), Customers (/admin/customers), and Tenant SLA Settings (/admin/tenant-sla-settings) for only the organizations for which they hold the relevant permission. Instance Administrators retain the global workflows.
Authorization and data boundaries
Tenant.Users.Manage governs tenant membership management; existing roles-only access remains constrained to Tenant.Roles.Assign; local invitations require both permissions in the same organization.
Add Tenant.Customers.Manage for tenant customer/contact management and Tenant.Sla.Manage for all four tenant SLA panels. Reconcile persisted built-in Tenant Administrator definitions idempotently; do not expand custom roles or the delegation ceiling.
The API is authoritative. Query scope must be enforced before serialization/paging; writes authorize persisted resource ownership and reject forged tenant/owner/reference IDs.
Do not expose global account lifecycle, credentials, provider administration, external synchronization, account deletion/disablement, relinking, or other-tenant membership operations through tenant workflows. Preserve provider grants, protected assignments, audits and invalidation behavior.
Implementation checklist
Reusable MudBlazor role editor with independent draft state, filtering, loading/error states, target/tenant capture and safe save/cancel behavior.
Compact searchable member panel and consistent fixed/authorized organization context.
Restrained role table status/spacing/search/accessibility changes using component-scoped styling.
Scoped Team, Customer and four-panel SLA API/UI flows, including direct URLs and navigation without duplicate trees.
Summary
Restore compact, tenant-scoped administration without broadening instance or identity authority.
Outcomes
/admin/users), Customers (/admin/customers), and Tenant SLA Settings (/admin/tenant-sla-settings) for only the organizations for which they hold the relevant permission. Instance Administrators retain the global workflows.Authorization and data boundaries
Tenant.Users.Managegoverns tenant membership management; existing roles-only access remains constrained toTenant.Roles.Assign; local invitations require both permissions in the same organization.Tenant.Customers.Managefor tenant customer/contact management andTenant.Sla.Managefor all four tenant SLA panels. Reconcile persisted built-in Tenant Administrator definitions idempotently; do not expand custom roles or the delegation ceiling.Implementation checklist
Acceptance matrix
Related: #52, #53 (prior administration work); #54, #55 (theme-first-paint regression boundary).