duncanmcclean/cookie-notice
Cookie Notice is a lightweight Statamic addon that adds a configurable cookie consent banner to your site. Customize the message and policy link, style it to match your theme, and remember visitors’ consent with a simple cookie. Easy to set up and suitable for most sites.
Architecture fit. duncanmcclean/cookie-notice is a first-party-style Laravel/Statamic addon that ships a front-end consent widget plus configurable cookie categories. Architecturally it sits at the presentation layer: a Blade/Antlers include in the base layout, a published config file defining categories, and client-side persistence of the visitor's choices. It is deliberately thin — it does not proxy script execution through the server, so it complements rather than replaces a tag manager or consent-mode strategy.
Integration feasibility. Composer install, vendor:publish for config/assets, and a single component inclusion in the root layout is the expected path. For Statamic sites the addon registers natively; for plain Laravel the Blade component is the entry point. Effort is measured in hours, not sprints, assuming an existing layout and a clear inventory of cookies/tags to map into categories.
Technical risk. The dominant risk is compliance, not code. A client-side widget that displays a notice and remembers preferences does not, by itself, guarantee that non-essential scripts are blocked until consent — that gating logic is the integrator's responsibility. Secondary risks: preference state stored client-side (cookie/localStorage) can be cleared or spoofed, so it is weak evidence for an audit trail; single-maintainer project (bus factor); and a third-party JS surface that must be reconciled with CSP.
Key questions.
Release-specific signal (v10.2.2). The widget-flash fix (#116) is a polish item but a real one: a banner that renders then re-renders on hydration reads as broken and can invite mis-clicks on an accept/reject control — undesirable in a consent UI specifically. The two Dependabot bumps (#115) are CI-only and carry no runtime surface. This is a non-breaking patch: no new features, no deprecations, no config or API changes.
Stack fit. Best fit is a server-rendered Laravel or Statamic site with Blade/Antlers layouts and a modest set of third-party tags. It is a poorer fit for SPA-first front ends where consent state must be shared across a client router and a server API; in that shape the widget becomes one input to a broader consent store rather than the consent system itself.
Migration path. Because the release is a patch within the 10.x line, upgrading is a composer update with no config or view migration anticipated. New adopters should treat this as greenfield: install, publish, define categories, then retrofit script gating. Existing 10.x adopters get a behavioural improvement to first-paint with no action required beyond a normal regression pass on the consent flow.
Compatibility. Semver-compliant patch; expect the same Laravel/PHP/Statamic floor as 10.2.1. The observable change is timing of widget visibility when preferences already exist, so the compatibility concern is confined to custom CSS or JS that targeted the previous flash behaviour — worth a quick grep for selectors or observers keyed to widget visibility transitions.
Sequencing.
Maintenance. Low marginal cost. Dependabot activity in CI signals the repo is watched, though automated bumps are not a substitute for a maintenance commitment on the runtime code.
Support. Single-maintainer dependency; issue #116 turning around is a positive signal but bus factor remains 1. Budget for the possibility of forking or vendoring the widget if the project goes quiet, and keep the consent UI thin enough that replacing it is cheap.
Scaling. Negligible server-side footprint — assets are static and CDN-able, and preference evaluation happens in the browser. No database or queue implications. The scaling question that matters is organisational: adding categories and locales multiplies configuration and review effort, not compute.
Failure modes.
Ramp-up. A Laravel developer is productive in under a day. The real ramp-up is cross-functional: legal/compliance must own category definitions and default states, and marketing must accept that tags go live only after a category is assigned. Treat v10.2.2 as a low-risk patch that improves consent-UI quality; the assessment's open questions concern gating, auditability, and support depth rather than this release.
How can I help you explore Laravel packages today?