core23/gdpr-bundle
Deprecated Symfony bundle providing GDPR cookie consent/info banner with optional domain-cookie blocking and allowlist configuration. No longer maintained; consider klaro.js or other alternatives.
SonataBlockBundle, WebpackEncore), making it non-compatible with vanilla Laravel without significant refactoring.Permissions-Policy headers, and a frontend popup—aligns well with EU GDPR requirements but lacks broader privacy features (e.g., data subject access requests).SonataBlockBundle, EventDispatcher), which are not natively available in Laravel. Workarounds:
HttpKernel as a microservice (complex).Permissions-Policy headers via middleware, cookie management via Laravel’s Cookie facade).webpack-encore and JavaScript assets (GdprPopup.js). Laravel projects using Vite/Laravel Mix would need integration effort.nucleos_gdpr.yaml) is Symfony-centric; Laravel’s PHP/ENV-based config would require adaptation.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Deprecated Package | High | Evaluate migration to klaro.js or build custom solution. |
| Symfony Dependencies | High | Abstract Symfony components or replace with Laravel alternatives. |
| Frontend Integration | Medium | Use existing Laravel asset pipelines (Vite/Mix) to embed JS/CSS. |
| Cookie Blocking Logic | Low | Laravel’s Cookie::queue() can replicate core functionality. |
| Header Injection | Low | Middleware can add Permissions-Policy headers. |
klaro.js?
HttpKernel or EventDispatcher feasible for this use case?spatie/laravel-gdpr) be a better fit?GdprPopup.js/GdprPopup.css be integrated into the existing Laravel asset pipeline?SonataBlockBundle and WebpackEncore that have no direct Laravel equivalents.HttpKernel as a microservice for GDPR logic (high complexity).Cookie::queue() + middleware.Permissions-Policy.klaro.js or a custom Vue/Alpine component.webpack-encore assets must be rebuilt for Vite/Laravel Mix.klaro.js, spatie/laravel-gdpr).Permissions-Policy headers.Cookie facade.klaro.js or a custom solution.nucleos_gdpr.block.information with a custom Twig/Blade component.| Component | Laravel Equivalent | Compatibility Notes |
|---|---|---|
SonataBlockBundle |
Custom Twig/Blade blocks or spatie/laravel-activitylog |
No direct equivalent; requires custom development. |
WebpackEncore |
Vite/Laravel Mix | Assets must be rebuilt or manually included. |
| YAML Config | .env or config/gdpr.php |
Configuration must be ported to Laravel’s format. |
| EventDispatcher | Laravel Events | Replace Symfony events with Laravel’s Event::dispatch(). |
Permissions-Policy |
Middleware | Easy to replicate with header() in middleware. |
| Cookie Blocking | Cookie::queue() + middleware |
Functional parity achievable with minimal effort. |
Permissions-Policy headers without the bundle.GdprPopup.js with klaro.js or a custom solution.nucleos/gdpr-bundle).klaro.js or custom frontend components may require updates (e.g., for new GDPR guidelines).klaro.js has active community support; Laravel packages (e.g., spatie/laravel-gdpr) are well-documented.| Failure Scenario | Impact | Mitigation Strategy |
|---|---|---|
| Bundle Deprecation | Broken GDPR compliance | Migrate to klaro.js or custom solution ASAP. |
| Cookie Blocking Logic Error | User experience degradation | Comprehensive test coverage for cookie middleware. |
| Frontend Popup Failure | Non-compliance with GDPR | Fallback to a simple banner if JS fails. |
| Symfony Dependency Conflicts | Integration failures | Abstract Symfony components early in migration. |
| Header Injection Bug | Missing Permissions-Policy |
Automated testing for response headers. |
How can I help you explore Laravel packages today?