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

Consent Bundle Laravel Package

setono/consent-bundle

Setono Consent Bundle is a Symfony bundle for managing user consent, including cookie and GDPR compliance. It provides consent storage, checks, and integrations to help your application respect visitor privacy choices.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Consent gating as a first-class product capability. This bundle provides a contract-based abstraction for asking "does this user/session have consent for purpose X?" inside a Symfony application. That directly supports the product decision of where to enforce consent: in application code at the point of data capture (analytics events, marketing pixels, personalization, CRM sync) rather than relying solely on a front-end cookie banner that JavaScript can bypass.
  • Build vs. buy for the consent layer. The decision this most informs is whether to adopt a commercial CMP (OneTrust, Usercentrics, Cookiebot, Osano) or assemble a thin in-house layer. This package is the "thin layer" option — it standardizes the question ("is consent granted for purpose X?") without shipping a UI, a consent record store, geo-detection, or IAB TCF support.
  • Vendor-neutrality / exit-cost planning. Because the integration is expressed as contracts rather than a hard dependency on one vendor's SDK, it supports a roadmap where the CMP can be swapped later without rewriting every call site. That is a real strategic lever for a compliance-sensitive product.
  • Roadmap sequencing for regulated-market launches. If EU/UK rollout (or a CCPA/CPRA-adjacent commitment) is on the roadmap, this informs the sequencing question: consent enforcement must land before the analytics/marketing instrumentation that depends on it, not after.
  • Enterprise sales enablement. Security questionnaires and DPAs routinely ask "how do you obtain and enforce consent?" A documented, code-level consent check is a concrete answer that unblocks deals — but only if paired with a record of consent, which this package does not provide.
  • Explicit non-decision: this is not a compliance deliverable. It is plumbing. Do not let it appear on a roadmap slide as "GDPR compliance shipped."

Stack caveat to flag up front: the package is a Symfony bundle, not Laravel. If this assessment was commissioned for a Laravel codebase, the correct decision it supports is architectural, not adoption — treat it as a reference design for a ConsentGate/ConsentChecker interface, not a dependency. Adopting a Symfony bundle into Laravel is not viable.

When to Consider This Package

Consider it when all of the following hold:

  • The application is Symfony (5.x/6.x/7.x) and already uses the framework's DI container and bundle system.
  • You already have, or are separately buying, the parts this package deliberately omits: a consent banner/UI, a consent record store with audit history, jurisdiction detection, and a policy/versioning workflow.
  • Your compliance posture is engineering-led — you are comfortable owning enforcement logic and its tests in-house, with legal reviewing policy text rather than tooling.
  • Your consent purposes are a small, stable set (e.g., analytics, marketing, functional) and you do not need IAB TCF v2.2 strings, Google Consent Mode signals, or a certified CMP for publisher/ad-tech interoperability.
  • You can accept the dependency risk and have a plan for it: pin the version, vendor/fork it, and own the small surface area yourselves.

Look elsewhere when any of the following apply:

  • You need a finished product. There is no admin UI, no consent log export for a DPO, no geo-IP detection, no cookie scanner, no TCF. Buying a CMP is cheaper than building these.
  • You are on Laravel, WordPress, Rails, or a JS/SPA-fronted stack. No integration path.
  • Adoption signals matter to you. 4 stars, 0 dependents, and a 0.02 relevance score mean effectively no community, no third-party battle-testing, and no realistic expectation of upstream CVE response. For a compliance-critical code path, that is a governance question, not just a technical one.
  • You operate at multi-brand or multi-tenant enterprise scale, where per-property consent configuration and centralized reporting are table stakes.
  • Your legal team expects a vendor to point at in a breach or audit scenario. "We forked a 4-star MIT bundle" is a defensible but uncomfortable answer.

Recommendation: for a Symfony team, a reasonable path is to adopt it (or its underlying contracts) as the internal interface, keep the actual CMP vendor behind that interface, and budget a half-day per quarter to review the fork. Do not adopt it as the compliance answer.

How to Pitch It (Stakeholders)

To executives (2 sentences): This is a small, free, MIT-licensed piece of plumbing that lets our application ask "has this user consented to this specific use of their data?" in one consistent way, so we can change consent vendors later without rewriting features. It costs us almost nothing and reduces lock-in, but it is infrastructure — not a substitute for the consent tool, audit records, and legal review we still need to procure.

To engineering: A Symfony bundle wrapping a consent-contract abstraction — a narrow interface plus DI wiring for checking consent per purpose. Real value is the discipline it enforces: one code path for consent checks, testable, swappable backend. Expect to write your own storage adapter, banner integration, and purpose taxonomy. Pin the version or vendor it; treat the public API as frozen.

To legal/DPO: Provides enforcement (code refuses to process data without a recorded consent), not evidence (no consent log, timestamp, or version trail). Pair it with a CMP or your own audit store before representing the product as compliant.

Risk framing: Low cost, low switching cost, low blast radius — but also low community support. Approved as an internal abstraction, not as a supplier commitment.

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.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib