robertvanlienden/useragreementsbundle
A Symfony bundle for managing user agreements and terms acceptance. Define agreement versions, record which users accepted each version, and require re-acceptance when terms change, with Doctrine entities and integration points for your app.
users is a half-day of work; a versioned, auditable consent ledger is not. This package sits in that gap — cheap enough to avoid a custom build, opinionated enough to keep you out of the classic pitfalls (overwriting history, no version linkage).Adopt when:
id. Functionally trivial, but anything that targets the rendered form — CSS selectors, JS, end-to-end tests, analytics event tagging on the checkbox — needs a pass. Budget a short QA cycle, not a migration project. Treat it as a signal that the package is pre-1.x-stability in spirit: expect more markup-level breaks, so pin versions and read changelogs before composer update.Look elsewhere when:
For executives: This is inexpensive insurance against a specific, plausible failure: being unable to demonstrate that a user accepted the terms that applied to them. It converts a compliance question from "we'd have to reconstruct it from logs, maybe" into a query. Cost is a dependency, a migration, and a form change; the alternative is either bespoke code we maintain forever or a commercial consent platform at orders of magnitude more spend. It does not replace legal review of the agreement text itself — it records acceptance of it.
For engineering: A small, focused Laravel package that handles agreement storage, versioning, and user acceptance records, so we don't reinvent a history table badly. The v2.0.0 release is a breaking change in name only: checkbox fields gained an id. Practical impact is limited to front-end selectors, E2E tests, and any analytics hooks bound to those inputs — roughly a half-day of verification, no data migration. Recommendation: pin the version, schedule the bump alongside an existing front-end change, and keep a thin adapter around it so a future swap stays contained.
How can I help you explore Laravel packages today?