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

Symfony Cookie Consent Bundle Laravel Package

kpeu3u/symfony-cookie-consent-bundle

A Symfony bundle for cookie consent management: display a customizable banner, let visitors accept or reject cookie categories, and gate scripts until consent is recorded. Simple configuration for GDPR-style consent flows.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for a consent UI. This package covers the presentation layer of cookie consent — banner/dialog layouts, category and vendor disclosures, preference persistence, CSRF-protected form handling — for Symfony applications. A PM should treat it as buying the front end of compliance, not compliance itself.
  • Scope boundary that drives roadmap. The bundle explicitly does not block third-party scripts or delete cookies; applications must guard optional integrations with consent checks. Budget a corresponding engineering workstream (tag manager gating, script-loading wrapper, server-side consent checks) regardless of adoption — this is the single most underestimated line item.
  • Framework fit is a gating decision. Despite being requested as a Laravel/PHP package, this is a Symfony bundle (2.0.0 targets Symfony 7.4 and 8.x, PHP 8.3+, PHP 8.4+ for Symfony 8). For a Laravel-first estate, adoption implies a parallel Symfony footprint, a bridge component, or choosing a Laravel-native alternative. Decide this before any feature-level evaluation.
  • Localization / market expansion. Translatable category and vendor labels plus light/dark/auto themes and responsive banner layouts make this viable for multi-locale, multi-brand rollouts without per-market template forks — useful when launching into new EU jurisdictions.
  • UX experimentation surface. Configurable visibility of "Reject all", simplified controls for single-vendor categories, and top/bottom banner layouts are levers for consent-rate and drop-off testing. Note these are also regulatory levers, not just design levers (see risk below).
  • Upgrade cost as a planning input. 2.0.0 is a major release: minimum PHP 8.3 / Symfony 7.4, possible config and template-override rewrites, Doctrine mapping and schema work for database logging, and a mandatory asset reinstall. Treat this as a scheduled maintenance epic, not a patch.

Compliance risk to flag before shipping: the release preselects optional services for visitors without saved preferences (consent granted only on submission), and allows hiding "Reject all". Under GDPR/ePrivacy as interpreted by the CJEU (Planet49), pre-ticked optional consent and asymmetric accept/reject paths are commonly treated as invalid consent. Ship the defaults only after legal sign-off; the safe configuration is off/pre-selected-false with reject-all visible in EU markets.

When to Consider This Package

Consider it when:

  • The product runs on Symfony 7.4 or 8.x with PHP 8.3+ (8.4+ on Symfony 8). There is no Laravel path here without significant glue work.
  • You need a maintained, themeable consent UI with vendor/category disclosures and translated labels, and you would otherwise build that UI in-house.
  • Your team can own the enforcement layer — gating analytics, ads, and embeds behind consent checks — in application code.
  • You want persistence, CSRF protection, and optional database logging of consent records out of the box, and you can absorb the Doctrine mapping/schema work.
  • You are on 2.x already, or upgrading from 1.x with capacity for the documented breaking changes.

Look elsewhere or extend when:

  • The stack is Laravel. Evaluate Laravel-native consent packages or a dedicated consent-management platform; do not force a Symfony bundle into a Laravel app.
  • You need automatic script blocking or cookie cleanup. This bundle does not do it; a CMP with tag-blocking or a proxy-based approach is the correct buy.
  • You need audit-grade consent evidence (immutable receipts, per-user versioned consent strings, regulator-facing exports) — database logging here is a convenience, not a compliance record system.
  • You cannot take a major-version upgrade right now, or you depend on template overrides that 2.0.0 will break.
  • Legal requires conservative, non-preselected defaults and you need those enforced by the library rather than by configuration discipline.

How to Pitch It (Stakeholders)

For executives (one paragraph): We evaluated kpeu3u/symfony-cookie-consent-bundle 2.0.0, a maintained Symfony package that supplies the cookie-consent interface — banner layouts, category and vendor disclosures, translations, themes, and preference storage. It removes roughly the UI and preference-handling work from a compliance build, and 2.0.0 adds dark mode, responsive layouts, localization, and hardened CSRF and persistence handling. Two caveats drive the decision: it is Symfony-only, so it is not a drop-in for our Laravel services; and it collects consent but does not enforce it — blocking third-party scripts remains our engineering responsibility. We recommend adoption only where we run Symfony 7.4+/PHP 8.3+, paired with a funded enforcement workstream and a legal review of the default settings (2.0.0 preselects optional services and can hide "Reject all", which is aggressive for EU traffic).

For engineering: This is a major release. Bump PHP to 8.3 minimum (8.4 for Symfony 8), migrate to Symfony 7.4+, audit configuration and any template overrides against the upgrade guide, add the Doctrine mapping and schema for database logging if we use it, and reinstall bundle assets (assets:install, cache:clear). Build the consent-check integration layer explicitly — the bundle will not block scripts or clear cookies for us. Plan a staging pass focused on preference persistence across sessions and on the single-vendor category controls.

For legal/compliance: Confirm acceptable defaults for optional-service preselection and for "Reject all" visibility by market before launch; the library permits configurations that are difficult to defend as freely given consent in the EU. Confirm retention and evidentiary requirements for logged consent, since the built-in database logging is not designed as an audit record.

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.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package