- What is Filament Guardian used for in Laravel?
- Filament Guardian is a Laravel and Filament plugin that provides an admin UI for managing roles and permissions. It lets teams assign roles, define permissions, and protect Filament resources, following Spatie laravel-permission conventions. It includes a Role resource with a Users relation manager for attaching and detaching roles.
- How do I install Filament Guardian?
- Install it with Composer using composer require waguilar33/filament-guardian, then follow the package setup for Filament panel registration and any required publishing. The v1.14.0 patch is a patch-level Composer bump with no migrations or schema changes implied by the release notes. If you have published package views, do not assume a composer update applied the UI guard; inspect the rendered output.
- Does Filament Guardian work with Spatie laravel-permission?
- Yes. The package follows Spatie laravel-permission conventions such as roles, permissions, Attach:Role and Detach:Role abilities, and a super-admin role that participates in a Gate::before bypass. It layers a Filament-style admin UI on top of that authorization model.
- Which Laravel and Filament versions does Filament Guardian support?
- The provided context does not list exact Laravel or Filament version constraints. Check the package composer.json and README on GitHub for the supported version matrix before installing. Treat the v1.14.0 release as a patch-level update in the existing supported line.
- How do I protect Filament resources with permissions?
- Filament Guardian provides role and permission management in the admin panel, and the overview describes protecting resources as part of its purpose. In practice, you combine the package policies and abilities with Filament resource authorization so access follows assigned roles. Test both the visible UI and any non-UI entry points, because UI guards are not a substitute for enforcement in controllers or APIs.
- What is the super-admin role in Filament Guardian?
- The super-admin role is a protected system role that participates in a Gate::before bypass, granting unrestricted authorization. In v1.14.0, the Role resource suppresses attach, detach, and bulk detach actions on the super-admin role for non-super-admins, overriding RolePolicy. This makes the role a package-owned object with special semantics rather than an ordinary editable role.
- What was the privilege escalation vulnerability fixed in Filament Guardian v1.14.0?
- Before v1.14.0, any principal holding Attach:Role could attach itself to super-admin and obtain a full Gate bypass, and any principal holding Detach:Role could strip every super admin and cause an administrative lockout. Both paths were reachable from the shipped UI. The patch suppresses those attach and detach actions on the super-admin role for non-super-admins.
- Is Filament Guardian v1.14.0 a complete fix for privilege escalation?
- It is a high-priority UI-boundary fix, not enforcement in the authorization core. The underlying attach and detach operations remain callable through custom controllers, API endpoints, queued jobs, artisan or tinker, seeders, imports, or a second admin panel. If you expose role management outside the package resource, you still own that risk and should add server-side authorization checks.
- Do I need to republish or update views after upgrading Filament Guardian?
- Potentially yes, if you previously published and customized the package views or the Role resource relation manager. In that case the new guard may not appear in rendered output and you could believe you are patched when you are not. Verify the guard by inspection in the UI rather than relying only on composer.lock.
- Does Filament Guardian support renamed super-admin roles or multi-tenancy?
- The release notes do not state whether the guard matches a configurable role name or a literal super-admin string, so renamed, localized, or per-tenant super-admin roles may not be protected as expected. Verify this in the source before relying on the patch. Multi-tenant variants and additional protected roles are local customizations that may diverge from upstream behavior.