iracode-com/filament-organizational-shield
Filament Organizational Shield brings hierarchical, organization-based access control to Filament panels, letting you scope resources, queries, and actions to a user's department or branch so admins only see and manage records within their own part of the company tree.
composer require iracode-com/filament-organizational-shield, publish config (and migrations/stubs if tagged) via vendor:publish, then run migrations. The migrations should add organization/department/team tables, pivots, and an organization_id-style FK on users and other tenant-owned tables. Confirm the service provider is auto-discovered; otherwise register it in bootstrap/providers.php.->plugin(...)) and confirm the panel's tenant/context resolver is configured, since the shield needs to know the current organization before it can scope anything.vendor/iracode-com/filament-organizational-shield before wiring anything up.password from the User resource create page — that only works cleanly if the create form and edit form are defined independently.users row satisfies your constraints. On edit, keep password nullable with a hashed cast (blank = keep existing).composer update will not modify your already-published UserResource. You must remove the password field from the create form yourself or regenerate — don't assume the update fixed your UI.password from create while leaving password_confirmation breaks confirmed validation. Remove both, or keep both and hash correctly./resource/{id}/edit. Test cross-org URL access explicitly; this is where most leaks appear.php artisan optimize:clear. Stale cached config is the usual explanation for "scoping still isn't applied."php artisan route:list for the endpoint, toSql() on the resource's index query to confirm the scope is present, dump the resolved tenant inside the policy, and verify policy discovery (class name and location).How can I help you explore Laravel packages today?