liberusoftware / roles-permissions
Contextual roles, permissions, policies, and authorization safeguards.
Package info
github.com/liberusoftware/module-roles-permissions
Type:liberu-module
pkg:composer/liberusoftware/roles-permissions
Requires
- php: ^8.5
- liberusoftware/module-manager: ^1.0
- liberusoftware/organizations-teams: ^1.0
- spatie/laravel-permission: ^7.0
Requires (Dev)
- orchestra/testbench: ^11.1
- pestphp/pest: ^5.0
README
Contextual role assignments, module-owned permissions, policies, and cache invalidation.
Software · Hosting · Services · Liberu Group
Feature scope
Contextual role assignments, module-owned permissions, policies, and cache invalidation. This repository owns this capability as an independently versioned Composer package; hosts integrate it through its declared public boundaries rather than application-specific classes.
Capabilities
foundation.authorization
Declared features
- Contextual role assignments
- Module-owned permissions
- Policies
- Cache invalidation
Requirements and installation
| Dependency | Supported version |
|---|---|
php |
^8.5 |
spatie/laravel-permission |
^7.0 |
liberusoftware/module-manager |
^1.0 |
liberusoftware/organizations-teams |
^1.0 |
Install the released package from the project root:
composer require liberusoftware/roles-permissions
The trusted liberusoftware/composer-installer places it in /modules/roles-permissions. The installed directory remains tracked by the host repository, while Composer and its lock file remain the source of version truth. Installation does not imply runtime enablement or commercial entitlement.
Architecture and integration
- Composer package:
liberusoftware/roles-permissions - Package type:
liberu-module - Installer name:
roles-permissions - Category:
foundation - Service provider:
Liberu\Foundation\Authorization\AuthorizationServiceProvider - Enabled by default:
no
Public contracts
src/Contracts/PrivilegedActor.php
Commands
- No console command is provided.
Events
- No package-owned event class is currently published.
Persistence and permissions
database/migrations/2026_06_29_124225_create_permission_tables.phpdatabase/migrations/2026_08_01_062000_create_break_glass_grants_table.php
Authorization remains the host application's responsibility unless a public authorizer contract is listed above. Consumers should grant only the permissions needed for the exported capabilities and must not couple to internal tables or classes.
Testing
The package includes 2 test file(s). From a compatible host checkout, run:
vendor/bin/pest modules/roles-permissions/tests
Changes must preserve the manifest, service-provider integration, package boundaries, and PHP/Laravel compatibility declared above.
Security
Do not report security vulnerabilities through public GitHub issues. Email security@liberusoftware.com with reproduction details and the affected version so the report can be handled privately.
License
This module is open-source software available under the MIT License. The linked licence text is authoritative.
Feedback and contributing
Focused issues and tested pull requests are welcome in the GitHub repository. Keep changes within this module's capability boundary, update tests and documentation, and record user-visible changes in CHANGELOG.md.
Contributors
Thank you to everyone who helps improve Liberu. View the contributors graph.