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

Cookie Consent Laravel Package

mrshanebarron/cookie-consent

Laravel package for GDPR-friendly cookie consent. Adds a configurable consent banner, cookie categories, and middleware to block scripts until visitors opt in. Publishable config and views make it easy to match your app's design and store consent records.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Feature/roadmap item: unblocking EU analytics and marketing tracking. The banner is the gate between "we can't ship tags in the EU" and "we can launch." This package makes that a small, scheduled task rather than a legal-and-engineering program, so it directly affects launch sequencing for any EU/UK-facing release.
  • Build vs. buy vs. borrow. The banner is a commodity: configurable copy, buttons, styling, cookie lifetime, view exposure, and a helper to gate scripts. Buy/borrow that. The compliance program — consent records with timestamps and versions, purpose-level granularity, revocation, audit exports — is where your differentiation and your legal exposure live. Expect to build or buy that separately; do not assume this package covers it.
  • Use cases where this is the right-sized call: internal tools and admin apps with minimal cookie surface; marketing/landing sites with a single analytics vendor; MVPs shipping to the EU where a 1–3 day integration is the difference between a sprint and a quarter; multi-language sites that need translatable banner copy without a SaaS contract.
  • Use cases where it is the wrong call: anything needing IAB TCF, Google Consent Mode v2, tag-manager-driven per-purpose consent, cross-brand/domain consent state, or a demonstrable consent audit trail. Those are CMP (consent management platform) requirements, and a Blade banner plus a cookie is not that.
  • Scope boundary to record explicitly in the PRD: the package displays a notice, remembers a choice in a cookie, and conditionally renders script tags in your views. It does not stop server-side collection, does not log consent for evidentiary purposes, and its client-side cookie state is not tamper-proof. Any team that reads "GDPR-compliant" as an assurance will be wrong, and that's a PM-level expectation to set before, not after, launch.
  • Vendor/exit decision: exit cost is near zero — Blade views, a cookie, and a helper. That lowers the stakes of trying it and makes it a reversible, low-regret decision, which is exactly the profile you want for a compliance-adjacent component you may later replace.

When to Consider This Package

Adopt when:

  • The app is standard Laravel, the team owns the front end, and the cookie inventory is short and stable (analytics plus at most a pixel or two).
  • You want no external JavaScript dependency and no additional third-party script sitting on your pages — a banner that introduces its own vendor tracker defeats the purpose.
  • You need control over copy, button wording, styling, and translations, and you need it quickly.
  • You accept that legal review of the banner text and cookie policy is your workstream, not the package's.

Look elsewhere when:

  • You need auditable consent records, per-purpose categories, revocation flows, TCF, or Consent Mode integration — go to a CMP or build a consent service.
  • You operate in a regulated or enterprise procurement context that requires a vendor questionnaire, DPA, security policy, support SLA, or evidence of active maintenance.
  • You need to gate trackers that fire server-side or are injected by a third-party tag manager; this package gates markup you control.

Adoption risks to verify before committing (these are the PM's due-diligence checklist):

  • Bus factor. Single maintainer, zero stars, no visible adoption. Treat it as "vendor this code into our repo" rather than "depend on an upstream." Fork-and-own is a legitimate outcome and should be the default assumption.
  • No visible test suite or CI, and a package score in the low range. Plan for your own smoke tests around the gating helper and the consent state.
  • Compatibility matrix unstated. Confirm supported PHP/Laravel versions against your target before it enters a sprint.
  • v1.0.2 renamed PHP classes to PascalCase. Low technical risk but a real integration hazard: stale Composer classmaps, Laravel config/route/view caches, hardcoded references, and case-sensitive Linux filesystems. Pin the version, regenerate autoload, clear caches, and grep for old class names during rollout. Confirm whether aliases exist for prior names — if not, treat it as breaking.
  • Compliance substance. Confirm the banner does not pre-tick or imply consent, that rejecting is as easy as accepting, and that a revocation path exists. If the package doesn't support those, that's scope you must add — and it must be in the estimate, not discovered in legal review.

How to Pitch It (Stakeholders)

To executives: This is a small, low-cost component that removes a blocker between us and EU-facing launch and analytics. It is a commodity banner, not a compliance program — legal still owns the policy text and the consent standard, and we should not present it as certification. The technology risk is low; the real risk is that a zero-star, single-maintainer package has no support path, so we should vendor or fork it and own the code. Exit cost is negligible, and it does not lock us into a SaaS contract, which keeps the door open to a full CMP later if our footprint grows.

To engineering: Standard Laravel/Composer integration — service provider, publishable config, and either a Blade component or middleware injection. Small surface area, no heavy front-end dependency. Expect roughly days, not weeks, but budget explicitly for: pinning the version, regenerating autoload and clearing caches (the v1.0.2 PascalCase class rename is the main hazard on case-sensitive filesystems), adding tests around the script-gating helper, and writing down which scripts are gated so the inventory doesn't drift. Keep the banner views in our repo so a fork is trivial.

To legal/privacy: Here is the mechanism, here is what it does and does not do. It shows a notice, stores a choice in a cookie, and withholds configured scripts until acceptance. It does not produce an audit trail of consent, does not enforce purpose-level granularity, and its cookie state is client-side and not tamper-evident. We need your sign-off on the banner copy, the reject-as-easily-as-accept behavior, and whether our record-keeping obligations require more than this — if they do, tell us now, because that changes the build.

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.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log