TenantAtlas/app/Services
ahmido 38d9826f5e feat: workspace context enforcement + ownership safeguards (#86)
Implements workspace-first enforcement and UX:
- Workspace selected before tenant flows; /admin routes into choose-workspace/choose-tenant
- Tenant lists and default tenant selection are scoped to current workspace
- Workspaces UI is tenantless at /admin/workspaces

Security hardening:
- Workspaces can never have 0 owners (blocks last-owner removal/demotion)
- Blocked attempts are audited with action_id=workspace_membership.last_owner_blocked + required metadata
- Optional break-glass recovery page to re-assign workspace owner (audited)

Tests:
- Added/updated Pest feature tests covering redirects, scoping, tenantless workspaces, last-owner guards, and break-glass recovery.

Notes:
- Filament v5 strict Page property signatures respected in RepairWorkspaceOwners.

Co-authored-by: Ahmed Darrazi <ahmeddarrazi@MacBookPro.fritz.box>
Reviewed-on: #86
2026-02-02 23:00:56 +00:00
..
Audit feat: workspace context enforcement + ownership safeguards (#86) 2026-02-02 23:00:56 +00:00
Auth feat: workspace context enforcement + ownership safeguards (#86) 2026-02-02 23:00:56 +00:00
BackupScheduling feat/032-backup-scheduling-mvp (#36) 2026-01-07 01:12:12 +00:00
Directory 051-entra-group-directory-cache (#57) 2026-01-11 23:24:12 +00:00
Drift feat/044-drift-mvp (#58) 2026-01-14 23:16:10 +00:00
Graph 056-remove-legacy-bulkops (#65) 2026-01-19 23:27:52 +00:00
Intune 065-tenant-rbac-v1 (#79) 2026-01-28 21:09:47 +00:00
Inventory feat/047-inventory-foundations-nodes (#51) 2026-01-10 20:47:29 +00:00
Operations 056-remove-legacy-bulkops (#65) 2026-01-19 23:27:52 +00:00
Providers feat: unify provider connection actions and notifications (#73) 2026-01-25 01:01:37 +00:00
AdapterRunReconciler.php 056-remove-legacy-bulkops (#65) 2026-01-19 23:27:52 +00:00
AssignmentBackupService.php feat/009-app-protection-policy (#11) 2025-12-29 16:11:50 +00:00
AssignmentRestoreService.php feat/009-app-protection-policy (#11) 2025-12-29 16:11:50 +00:00
OperationRunService.php fix: Harden SyncPoliciesJob supported types handling (#75) 2026-01-26 19:23:40 +00:00