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
User Consent

User Consent Laravel Package

visualbuilder/user-consent

A Filament package for managing user consent: create and edit consent options, apply them to user models, collect consent at registration, email copies, request re-consent when options change, and give users and admins pages to review given consents.

View on GitHub
Deep Wiki
Context7

Manages user consent for filament panels

Frequently asked questions about User Consent
Do I need Filament to use visualbuilder/user-consent?
Yes. This is a Filament package that ships Filament resources and pages for consent option CRUD, a registration consent form, a My Consents page, and an admin listing of consents. If you use Nova, Backpack, Inertia/React, or bespoke Blade instead, you only inherit the Eloquent models and migrations and would rebuild every UI surface yourself. In that case treat it as a reference implementation rather than a drop-in.
Which Laravel, Filament, and PHP versions does user-consent support?
Package 5.x targets Filament 5.x with Laravel 11.x or 12.x, while package 4.x targets Filament 4.x with Laravel 10.x or 11.x. Both branches require PHP 8.2 or higher. Install the matching major, for example composer require visualbuilder/user-consent:^5.0 for Filament 5.
How do I install and configure user-consent in a Laravel app?
Run composer require with the tag matching your Filament major, publish the migrations with the user-consent-migrations tag, and run php artisan migrate. Publish the config with the user-consent-config tag and optionally the views with the user-consent-views tag. Then define your consent options and add the consent form to your registration flow.
Can end users view their consents without a Filament panel?
No. The registration consent form and the My Consents page are Filament panel pages, not generic Laravel routes. Your end users must be reachable through a Filament panel with authentication and registration enabled, which is a problem if you treat Filament as staff-only back office. Validate this against your actual panel topology early in evaluation.
Are consent options stored in the config file or in the database?
The published config file is an empty array in the README, so consent text and options are almost certainly data managed through the Filament admin UI and persisted to the database. That is convenient for legal and marketing self-service, but it puts consent wording outside version control. For an auditable trail, plan to seed consent options through your own migrations or add an approval workflow.
How does re-consent work when a consent option is updated?
Users who already accepted an option can be asked to accept the updated consent, which is how the package handles versioning of policy text. Whether the consent record is append-only or overwritten by the re-consent is not documented in the README, so verify it from source. Your evidentiary story depends on that answer, so check the migration schema before committing.
Does the package support consent withdrawal or revocation for GDPR?
The README evidences capture, re-consent on update, review via My Consents, and email copies, but it does not evidence withdrawal or revocation. Granular per-purpose consent and data-subject export are also not documented. GDPR requires withdrawal to be as easy as granting, so assume you will build that yourself on top of the package.
Does user-consent email a copy of the consents to users?
Yes, the package emails users a copy of the consents they accepted as a record. Be aware this makes SMTP and queue health part of your legal evidence trail. Monitor mail delivery and keep logs so a failed job does not silently break your consent record.
Is there a documented API such as hasConsents() or configurable options I can rely on?
No. The public API surface is undocumented and the published config is empty, apart from a page component override hook added in 5.0.4. Prior write-ups mention a hasConsents() method and configurable options, but neither is evidenced in the README. Treat any method name, config key, or event as unverified until you read it from source, and budget time to trace the model relationships yourself.
What is the long-term maintenance risk of depending on user-consent?
The package has a single maintainer, no commercial backing, four stars, and zero dependents, which is the dominant risk rather than a footnote. It majors in lockstep with Filament, so Filament 6 will likely strand you until a 6.x branch ships. Customization also routes through published views and model extension rather than configuration, so expect fork territory for anything beyond the built-in surfaces.
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.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings