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

Simple Permissions Laravel Package

guava/simple-permissions

A lightweight permissions package for Laravel that lets you assign roles and permissions to users through a simple, readable API, with middleware and Blade directives for guarding routes and views without the overhead of larger ACL libraries.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Authorization model selection (build vs. buy): GuavaCZ/simple-permissions is a lightweight role/permission layer for Laravel. This supports the recurring PM decision of whether to hand-roll RBAC (roles, permissions, pivot tables, casting) or adopt a small package. The 1.1.1 patch—fixing a roles cast—confirms the package leans on Eloquent casts to expose roles on models, which is a common integration point for product surfaces like "who can see/do X."
  • Feature gating and entitlement tiers: Simple role/permission packages underpin plan-based feature access (e.g., free/pro/enterprise gates), admin-only tooling, and support/impersonation controls. Relevant to roadmap items around monetization, admin consoles, or multi-tenant access.
  • Scope and risk decisions for a v1.x dependency: The release cadence (1.1.0 → 1.1.1 within a short window, bug fix + docs) signals an actively maintained but early-stage package. This informs a PM's dependency risk posture: acceptable for internal tools, prototypes, or non-critical authz; higher scrutiny for regulated or high-blast-radius authorization.
  • Migration and upgrade planning: A cast bug fix is low-risk, but casts change how attributes are serialized/accessed—PMs should ensure QA covers role serialization in API responses and admin UIs before/after upgrade.

When to Consider This Package

Consider it when:

  • You need simple, model-level RBAC in a Laravel app: assign roles to users (and likely other models), check permissions, and gate features—without the heavier weight of a full ACL/ABAC framework.
  • You want Eloquent-native ergonomics (casts, relationships) rather than a separate authorization service; the 1.1.1 "roles cast" fix indicates the package is designed to expose roles as a castable attribute.
  • You're shipping an MVP, internal admin tool, or early-stage SaaS where speed and low ceremony matter more than fine-grained policy engines.
  • You need a small dependency surface you can read, audit, and extend, rather than adopting Spatie's larger permissions ecosystem.
  • You want an actively maintained option—patch releases within days of prior versions are a positive maintenance signal.

Look elsewhere when:

  • You require enterprise-grade authorization: complex policy composition, team/tenant-scoped permissions at scale, audit trails, or ABAC—evaluate Spatie/laravel-permission, OPA/Cedar, or a dedicated IAM.
  • You need long-term stability guarantees (LTS, security SLAs, commercial support); a v1.x community package with patch-level bug fixes may not fit.
  • Your authorization is security-critical (financial, healthcare, regulated data) where a cast-related bug could leak role data—prefer battle-tested, widely audited libraries.
  • You need multi-guard / complex tenancy semantics out of the box; verify coverage before committing.

How to Pitch It (Stakeholders)

For executives: We're evaluating a small, actively maintained Laravel package (GuavaCZ/simple-permissions) to handle roles and permissions—the mechanism that controls who can see and do what in the product. The latest 1.1.1 release is a maintenance patch (a bug fix for how roles are exposed on models, plus documentation). No new features or breaking changes. It signals the project is being looked after, which reduces dependency risk.

For engineering: v1.1.1 fixes the roles cast, so role attributes serialize/behave correctly on Eloquent models—relevant anywhere roles are read via casts (API resources, admin UIs). Documentation was refreshed. Impact is low; treat as a routine patch upgrade. Recommended action: bump the dependency, run the existing authorization test suite, and spot-check role serialization in API responses and admin screens. If we adopt this package, pin to ^1.1 and monitor release cadence; if our authorization needs grow beyond simple RBAC (tenancy, ABAC, audit), revisit vs. Spatie or a dedicated IAM.

Bottom line: Low-risk patch; the package remains a viable buy for simple Laravel RBAC. No change to roadmap or architecture—just a routine upgrade with a quick verification of role casting behavior.

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.
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
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle