mmoollllee/filament-consent-control
Filament Consent Control adds configurable cookie and privacy consent management to Filament panels, with ready-made banners, preference controls, and admin tools to help Laravel apps meet GDPR requirements.
youtube-nocookie-normalised embed without filing a ticket or hand-editing HTML. That removes the single most common source of accidental GDPR violations on content sites.eloquent driver, non-developers can adjust consent copy/behaviour without a deploy — a genuine operational win, and a stepping stone toward a broader privacy-config surface.laravel-consent-control config still drives behaviour, and the Filament layer "does nothing until you opt in." That makes it a reversible decision — you can adopt the admin UI and drop it later without re-architecting consent..consent-message--wrapper / data-src), and consistent rendering.Adopt (pilot) when:
settingsPage() or by embedding ConsentSettingsForm in an existing resource.Look elsewhere / wait when:
data-src, not a blocked page. Fine for UX/compliance posture, not for "no request is ever possible."Practical criteria: run a one-week spike on two real content pages, verify in devtools that zero third-party requests fire before consent, verify the stored markup survives round-trips through the editor, and pin the version.
To executives (one paragraph): This is a small, optional add-on that closes a real compliance gap — the videos and maps our editors paste into pages currently contact third parties before anyone clicks "accept." It auto-converts embeds to privacy-friendly URLs and holds them behind consent, which is exactly the pattern regulators look for. Integration is roughly a day of engineering, it's additive and fully reversible, and it lets us postpone a five-figure CMP contract while our exposure is limited to content embeds. Recommendation: fund a scoped pilot, not a rollout.
To engineering: Thin Filament layer over the existing laravel-consent-control runtime — publish config and assets, register ConsentControlPlugin::make() in the panel, opt into settingsPage() only if you want the ready-made settings UI. No mandated migrations. Two caveats: it hard-requires Filament 5, and v0.1.0 is young — pin it, wrap adoption in a feature flag, and keep consent behaviour in the underlying config so the admin layer stays swappable. Worth a review of how the eloquent driver stores settings and whether anything is written per-visitor.
To legal/DPO: It reduces accidental tracking by normalising YouTube to youtube-nocookie and Vimeo to player embeds, and it blocks embeds until consent via data-src markup. It does not produce consent receipts, audit logs, or TCF signals — those remain a separate requirement. Ask for a short written position on whether client-side gating is acceptable for our risk tier before we rely on it.
The ask: one engineer, one week, two pages, a devtools check that no third-party requests fire pre-consent. Success criteria are measurable; the downside is bounded.
How can I help you explore Laravel packages today?