Product Decisions This Supports
- Multi-context user modeling. The bundle's core idea — layering a "multi user" context over the framework's base user so one identity can act across several accounts/profiles — directly informs decisions about delegated access, account switching, and profile management.
- Build vs. buy for account switching. This is a small, single-purpose surface area. Use it as evidence that in-house implementation is likely cheaper than integrating an unmaintained dependency; it is a pattern reference, not a platform bet.
- Roadmap shaping. Relevant to features like tenant/workspace switching, agency-managed client sub-accounts, guardian-managed child profiles, buyer/seller mode toggles, and support "act-as" impersonation.
- Use-case validation. Useful pressure test for requirements in agencies (client sub-accounts), edtech (parent/student/teacher roles), marketplaces (dual-mode identities), and healthcare (proxy access).
- Risk register input. Archived since 2018, 1 star, 0 dependents, tied to a vendor-internal "mini-framework" and written as a Symfony bundle — not installable in a Laravel codebase. Its value is design literacy, not runtime capability.
- Make-vs-fork call. Any temptation to fork it should be treated as a liability decision (ownership, security review, PHP version support), not a shortcut.
When to Consider This Package
Consider it only in these narrow situations:
- You are designing a multi-account / user-switching model and want a small, readable reference implementation to compare data models against.
- You are maintaining or migrating away from SumoCoders' framework and need to understand legacy behavior.
- You need to brief a team on the "context user over base user" pattern before writing your own implementation.
Look elsewhere — or build in-house — when:
- Your stack is Laravel. This is a Symfony bundle; it is not a drop-in dependency.
- You require maintained code, PHP 8+ compatibility, or recent security review. There is no active maintenance.
- The requirement is security-sensitive: impersonation, audit trails, permission boundaries, or privileged access. None of that is addressed for production use here.
- You actually need multi-tenancy with data isolation, RBAC/ABAC, or SSO — this bundle solves user-context switching, not tenant isolation or authorization policy.
- You need a supported vendor relationship or SLAs.
How to Pitch It (Stakeholders)
Executive summary. Do not adopt this as a dependency. It is a 2018-archived Symfony bundle with 1 star, 0 dependents, and no maintenance; the license is MIT and the cost is nominal, but the real cost is fork liability, security exposure on identity-adjacent code, and stack mismatch (we are Laravel). The value is as a design reference for account switching. Expected in-house cost to reproduce the useful behavior is roughly one to two weeks including tests and audit logging — far less than the lifetime cost of owning an abandoned fork.
Engineering summary. It is a small bundle that layers a multi-user context over a framework user, built for SumoCoders' internal mini-framework. Read it to sanity-check our domain model: base identity, active context, session state, and the authorization boundary between them. Do not vendor it. Instead, implement a thin internal equivalent with explicit "act-as" permissions, immutable audit logging, and tests, and treat the repo as documentation.
Decision requested. Approve a one-week discovery spike using this repository as reference only; no dependency added. Kill criteria: any need for privileged impersonation or auditability beyond a simple model, in-house estimate exceeding two weeks, or discovery of a maintained alternative — in any of those cases, escalate to a full build-or-buy review rather than proceeding with this package.