About PrivacyWire Cookie Management and async asset loading

Module for Cookie management and async loading of (external) scripts / assets

Category 1Markup Generation
Markup modules that are called upon to generate or parse markup (like HTML). Markup modules are most often used on the front-end of a site (rather than admin).
Category 2SEO/Accessibility
Modules designed to help site accessibility, standards compliance and SEO.
Release StateBeta
Close to stable, but users are advised to be cautious and test thoroughly.*
Authorjoshua
Module Version0.3.5
Class NamePrivacyWire
Compatibility3.0
Date AddedFebruary 17, 2020
Last UpdatedOctober 23, 2020
Recommended ByNew recommendations may take up to 1 day to appear.

Instructions

This module's files should be placed in /site/modules/PrivacyWire/
How to install or uninstall modules

README

PrivacyWire

ProcessWire module for Privacy- & Cookie-Management (GDPR)

This module adds management options for cookie groups and corresponding script tags.

ProcessWire Module Directory
Support Forum
Git Repo
Download Module

The aim & working mechanism of this module

This modules outputs a cookie management banner (nearly unstyled, that's up to you) with the possibility for the user to:

  1. Accept all cookies
  2. Accept only necessary cookies
  3. Choose, which cookie categories the user wants to allow
    1. necessary
    2. statistics
    3. external media
    4. marketing

After the user made his decision, script tags of these categories can be loaded subsequently.
<script type="text/plain" data-type="text/javascript" data-category="statistics" data-src="/path/to/your/script.js"></script>
or inline:
<script type="text/plain" data-type="text/javascript" data-category="statistics">console.log("Statistic Cookies are allowed!");</script>
Also other tags can be loaded that way, but this feature is not thoroughly tested yet:
<img type="text/plain" data-category="marketing" data-src="https://via.placeholder.com/300x300">

Textformatter

If you want the user to allow to change the cookie consent, use the following Textformatter: [[privacywire-choose-cookies]]

Inspiration & Thank you

This module is heavily inspired by the following repos (big thanks!):

Changelog

see CHANGELOG.md