Skip to content
Québec Studio

Craft CMS extension

Cookie Consent Kit

Cookie consent, done right: no third-party cookie before the visitor agrees, and pages that stay cached. Built for Quebec’s Law 25.

Craft CMS 5
v5.0.8
Craft CMS 6
v6.0.10
Editions
Lite (free), Pro
Also for
Statamic, Laravel

Source

5.0.8

Latest version

Changed

  • The developer name the control panel shows is Québec Studio.

5.0.7

Changed

  • The free edition's handle is lite. An install stored as standard runs on lite, the first edition Craft CMS finds.
  • The register section names the free edition rather than its handle.

5.0.6

Fixed

  • LICENSE.md reproduces the Craft License exactly. It carried an explanation of how the licence applies here, ahead of the text, and straight apostrophes where the original has typographic ones. What the explanation said is in the README, where it belongs.

5.0.5

Added

  • A check that every string the plugin asks to translate resolves, run with the rest. Nothing here renders a screen, so nothing else would notice a key the wording no longer carries.

Changed

  • The purge utility is called Consent Purge, which is what it does. It was named after the register it empties. Its screen reads like the same screen in the other integrations: the count and the caution as notices, the period and the button side by side.
  • The README opens on what the plugin does and what the Pro edition adds, rather than on how it is put together.
  • The register's documentation names the purge utility as the panel shows it, and says that retention answers to the records rather than to the setting: turning the register off stops new decisions being written, it does not strand the ones already kept.
  • The Plugin Store's documentation link opens on the documentation.
  • The French says “enregistrement” for a record, which is what the core now says everywhere. “Entrée” is what Craft CMS calls a content entry.

5.0.4

Fixed

  • Automatic injection said the wrong thing. The settings screen described the banner as the first child of <body>; it is appended to the end of it, as the documentation has always said and as the code has always done. The help now also names the call that places it by hand.

Changed

  • The control panel wording comes from consent-kit-core, so the same setting reads the same across the suite. What only this plugin says is still said here. English titles follow the casing Craft CMS uses for its own.

5.0.3

Added

  • A consent register, in the Pro edition. Each decision is recorded as the browser makes it, with the server's clock, the site, the categories answered and a fingerprint of the wording that was on screen. The server replays its own configuration to compute that fingerprint, so a browser cannot claim to have been shown something else, and the page carries no trace of it — the HTML stays identical for every visitor and cacheable.
  • The register is read from its own control panel section, gated by three permissions: viewing, exporting and purging. A decision's screen is shown as it was worded then, not as the site words it today.
  • Exports in CSV, Excel and JSON. The JSON carries the wording of every screen and describes how the fingerprint is computed, so a third party can recompute it without the plugin.
  • Retention runs with Craft CMS's garbage collection — the life of the consent cookie plus a configurable grace — and a utility purges by hand.

Fixed

  • The settings screen and the YouTube thumbnail action resolve again. Their controllers declare a capitalised namespace, where Craft CMS looked for a lowercased one.

Changed

  • The pluginName setting is gone. The control panel never read it: the plugin's name comes from its composer.json.
  • A new icon, in the series' shape: a rounded square in Québec Studio's blue, carrying the plugin's object.

5.0.2

Changed

  • The plugin no longer declares editions of its own: Craft's own default is the same, and declaring a Pro edition announced something that does not exist.
  • The documentation is one folder, and says what the code does — the list of classes is complete, autoInject covers site pages only, tags are activated one category at a time, and Copy from copies the wording another site displays.
  • window.qsmConsentKit.ready, the state the <head> bootstrap leaves behind and the gpc flag are documented.

5.0.1

Changed

  • The free edition is standard, not lite. Craft prints the handle as the edition name in the control panel, and an install carrying lite moves to it on its own. Pro is unchanged.

5.0.0

  • Cookie consent for Craft CMS 5, built for Quebec's Law 25 and usable under the GDPR. No third-party cookie is set before the visitor agrees, and the HTML is the same for every visitor, so pages stay cacheable.
  • Categories and a cookie inventory, edited per site in the control panel, or fixed in config/cookie-consent-kit.php.
  • The inventory rendered as a table inside a privacy policy, whole or one category at a time, from a Twig call or from a [cookie-table] marker.
  • YouTube videos behind a local placeholder that loads on click, with the thumbnail served by the site.
  • Wording in English and French, replaced or extended per project, per language.
  • displayMode places the banner: full, floating, or a box in a bottom corner. Every mode is full width under 40rem.
  • reopenPosition puts the reopen tab on the left or the right; auto follows displayMode.
  • A documented style contract — qsm-ck-* classes, --qsm-ck-* variables, a dark palette through --qsm-ck-dark-* — and the window.qsmConsentKit JavaScript API.

A Craft CMS extension that doesn’t exist yet?

If Craft CMS doesn’t do what you need yet, we can build it for you.

Let’s talk

We use cookies

This site uses cookies that are required for it to work. With your consent, we also use cookies to measure traffic. You can change your mind at any time. Privacy policy

Your cookie preferences

Always on

Required for the site to work and for form security. These cannot be turned off.

Necessary
Cookie Set by Purpose Retention
CraftSessionId This site Keeps your browsing session. Session
CRAFT_CSRF_TOKEN This site Protects forms against cross-site request forgery. Session
cookie_consent This site Remembers your cookie choices. 6 months

Help us understand how the site is used so we can improve it. Measured with Matomo.

Statistics
Cookie Set by Purpose Retention
_pk_id.* This site Recognizes the browser from one visit to the next, without identifying you. 13 months
_pk_ses.* This site Groups the pages viewed during a single visit. 30 minutes