Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Permission Manager Laravel Package

ahinest/laravel-permission-manager

A Laravel package for managing roles and permissions through an intuitive interface. Create, assign, and revoke permissions, organize access by role, and protect routes and UI elements with built-in middleware and Blade helpers.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for the RBAC admin surface. This package is a thin, opinionated layer over Spatie Laravel Permission (^6.25) that supplies the parts teams usually hand-roll: delegation rules, hierarchy/authority checks, escalation guards, and audit trails. It shifts the decision from "build a permission admin system" to "integrate a library and own only our domain policy."
  • Whether to ship self-service or delegated role administration. The explicit P/Q/D delegation model plus delegation policies with controlled assignment/revocation is the key commercial unlock: it lets tenant admins or team leads grant scoped access without giving them root, which is the gating capability for multi-tenant SaaS, partner/marketplace portals, and enterprise "org admin" tiers.
  • Enterprise and compliance roadmap sequencing. Transactional authority auditing with effective differences and correlation IDs, plus last-eligible-administrator protection and privilege-escalation prevention, are directly reusable as evidence for SOC 2 / ISO 27001 access-control and change-management controls. This can pull audit readiness earlier in the roadmap at low incremental cost.
  • Exposure strategy for an admin API. The optional authenticated HTTP administration API is a build-vs-expose decision: we can validate an admin surface quickly for internal tooling or a customer-facing console instead of designing endpoints from scratch, then wrap our own authorization and tenancy on top.
  • Data-integrity and incident-risk posture. Transactional RBAC writes with concurrency protection and cache invalidation on commit/rollback reduce a well-known class of production incidents (stale permission caches, partial role writes). This is a reliability argument, not just a feature argument, and supports deferring a bespoke locking design.
  • Localization and market entry. English and Spanish documentation signal a LatAm/Spanish-speaking customer focus — relevant if that is a target segment for support and onboarding.
  • Standardization decision. If we are already on Spatie, adopting this as the sanctioned RBAC admin layer reduces per-team variance in how permissions are granted, audited, and revoked across products.

When to Consider This Package

Consider it when most of the following hold:

  • We are on Laravel 12 and Spatie Laravel Permission ^6.25 (or are willing to be). The version pins are narrow; this is a hard gate, not a preference.
  • We need delegated administration — non-root users granting scoped permissions — and want enforced delegation policies rather than a convention documented in a wiki.
  • We need role hierarchy and administrative authority semantics, and specifically want protection against privilege escalation and against removing the last eligible administrator.
  • We need an auditable record of authority changes with effective diffs and correlation to a request or actor, without building an audit subsystem.
  • We want an optional authenticated admin API we can put behind our own gateway, rather than a UI.
  • Our database is MariaDB/InnoDB (or we accept validating the "ownership-aware migrations" against our engine) and we are comfortable owning any port to Postgres or other engines.
  • We want PHP 8.2–8.4 support with CI verification, matching an existing or planned runtime matrix.

Look elsewhere, or plan significant wrapping work, when:

  • We are not on Laravel 12 (Laravel 11 or 13), or use a different permission library, or have a heavily customized Spatie fork.
  • Our authorization needs are attribute- or relationship-driven (ABAC/policy-heavy) rather than role/permission-centric; P/Q/D is explicit and will feel rigid for nuanced contextual rules.
  • We need SSO/SCIM provisioning, directory sync, or approval workflows — none of that is in scope here; it is a role/permission manager, not an IAM platform.
  • We need a shipped UI. This is API and contracts only; the admin console is ours to build.
  • We depend on Postgres, MySQL variants without InnoDB, or multi-engine support; migrations are described as MariaDB/InnoDB-specific and will need review.
  • Vendor concentration is a blocker. This is a new 1.0.0 from a single-author package (ahinest/...) with no public adoption history in the notes. For a crown-jewel subsystem (authz), that demands an explicit exit plan: thin integration seams, no leaking of package internals into domain code, and a documented fallback to raw Spatie.
  • We expect stable public APIs immediately. 1.0.0 is the first stable release; treat the surface as stabilizing, not frozen, and pin versions with a tested upgrade cadence.
  • We need performance evidence at our scale. Nothing in the notes quantifies audit-table growth, write throughput under contention, or cache invalidation cost on large permission sets. Benchmarks are a prerequisite for high-traffic tenants.

Prerequisite diligence before adoption: confirm what "P/Q/D" expands to and whether it matches our mental model; read the documented security boundaries (the notes reference them explicitly); verify the audit retention/rotation story, since transactional auditing implies unbounded growth; and confirm the host contracts for account lifecycle and reserved administrative identities map cleanly onto our user model. Note the spatie/laravel-permission ^6.25 floor and that 6.25 is a specific minor — validate there is no hidden dependency on unreleased Spatie behavior.

How to Pitch It (Stakeholders)

For executives (one paragraph): We are evaluating a small, focused Laravel package that adds the governance layer on top of the permission library we already use — delegated administration, guardrails against privilege escalation and lockout, and an auditable record of every authority change. The business case is time-to-market and risk, not novelty: it lets us offer customer-facing and delegated admin capabilities months earlier, and it produces the access-control audit evidence our enterprise and compliance conversations require, without a bespoke build. The main caveat is vendor concentration — it is an early 1.0 release from a single maintainer — so we would integrate it behind a thin internal interface with a tested fallback, and cap our exposure accordingly. Recommendation: time-boxed evaluation with a spike, not an immediate dependency in the critical path.

For engineering: It is a wrapper, not a replacement — Spatie v6.25 stays the storage and API substrate, so our existing role/permission data model and most call sites survive. What we get: an explicit delegation model (P/Q/D), configurable hierarchy and administrative authority, transactional writes with concurrency protection, cache invalidation correctly ordered around commit/rollback (this fixes a real class of bugs for us), privileged-operation protections, host contracts for account lifecycle and reserved admin identities, an optional authenticated admin API, and audit records with effective diffs and correlation IDs. Constraints to design around: Laravel 12 and PHP ^8.2 only, MariaDB/InnoDB-oriented migrations, no UI, and security boundaries we must read before we rely on them. Integration rules: keep it behind our own authorization facade, do not let package models leak into domain code, pin the version, and add audit-table growth and write-contention benchmarks to the spike's exit criteria. Treat the 1.0.0 API as stabilizing and budget for churn.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib