PHPackages                             blauequelle/privacywire - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Security](/categories/security)
4. /
5. blauequelle/privacywire

ActivePw-module[Security](/categories/security)

blauequelle/privacywire
=======================

1.1.12(8mo ago)251.3k↓100%16[3 PRs](https://github.com/webworkerJoshua/privacywire/pulls)GPL-3.0PHPCI failing

Since Oct 23Pushed 1mo ago4 watchersCompare

[ Source](https://github.com/webworkerJoshua/privacywire)[ Packagist](https://packagist.org/packages/blauequelle/privacywire)[ RSS](/packages/blauequelle-privacywire/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (1)Versions (36)Used By (0)

PrivacyWire
===========

[](#privacywire)

Cookie &amp; Consent Manager for ProcessWire

This module adds the possibility to define cookie / consent groups and load corresponding elements only after the site visitor has given consent.
The following cookie groups are available (the frontend visible label is editable and translatable, this is just the technical name)

- Necessary
- Functional
- Statistics
- Marketing
- External Media
- (All Cookies)
    Necessary elements are always active. You can let the user decide, which individual cookie group(s) should be allowed, and/or add an „Allow all“ button.

You can insert basic styles via css or completely style it yourself. The PrivacyWire Core Javascript file is available both as ES6 as well as transpiled with Babel for IE11 support. Both versions have a very small footprint:

FileSizeGzippedPrivacyWire.js&lt; 9 kb&lt; 3 kbPrivacyWire\_legacy.js&lt; 13 kb&lt; 4 kbTo load scripts, frames, images or other elements only after the site visitor has given consent to that specific cookie group, use the following attributes:

```
console.log("This script only runs after giving consent to functional cookies");
```

You can even render and alternate Opt-In text instead of the element:

```

```

**Available attributes:**

AttributeInfoDescriptionTypeclass `require-consent`optional (required if config option enabled)If the config option "Detect consent windows by class `require-consent` instead of data-attribute" is enabledstring`data-category`requireddefines the assigned cookie group for this elementstring`data-type`optional (required for scripts)replaces the type attribute after giving consentstring`data-src`optional (required for external scripts, images or iframes)replaces the src attribute after giving consentstring`data-srcset`optionalreplaces the srcset attribute for images after giving consentstring`data-srcdoc`optionalreplaces the srcdoc attribute for iframes after giving consentstring`data-ask-consent`optionalReplace element with Opt-In-Elementbool `0/1``data-ask-consent-message`optionalReplace configured message with this text for this instancestring`data-ask-consent-button-label`optionalReplace configured message with this text for this instancestringFor script tags it is required to add `type="text/plain"`, otherwise the script executes directly.

Textformatter to choose Cookie groups / Opt-Out
-----------------------------------------------

[](#textformatter-to-choose-cookie-groups--opt-out)

With PrivacyWire itself comes a Textformatter with the shortcode `[[privacywire-choose-cookies]]` to add a button to show the cookie group selection window.
To automatically include the Opt-In-Element for embedded videos via [TextformatterVideoEmbed](https://processwire.com/modules/textformatter-video-embed/) you can choose the cookie group in the Textformatter settings.

Multiple language support / i18n
--------------------------------

[](#multiple-language-support--i18n)

The module uses the [ProcessWire-integrated translation system](https://processwire.com/docs/multi-language-support/).

Hookable methods
----------------

[](#hookable-methods)

Most of the module methods are hookable! Have a look into [PrivacyWire.module](PrivacyWire.module) to find out more.

###  Health Score

51

—

FairBetter than 96% of packages

Maintenance76

Regular maintenance activity

Popularity30

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 62.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~58 days

Recently: every ~65 days

Total

31

Last Release

269d ago

Major Versions

0.4.4 → 1.0.22021-02-06

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/44984072?v=4)[Joshua Hennig](/maintainers/webworkerJoshua)[@webworkerJoshua](https://github.com/webworkerJoshua)

---

Top Contributors

[![webworkerJoshua](https://avatars.githubusercontent.com/u/44984072?v=4)](https://github.com/webworkerJoshua "webworkerJoshua (44 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (6 commits)")[![teppokoivula](https://avatars.githubusercontent.com/u/1252021?v=4)](https://github.com/teppokoivula "teppokoivula (5 commits)")[![vieregg-jfc](https://avatars.githubusercontent.com/u/59877407?v=4)](https://github.com/vieregg-jfc "vieregg-jfc (3 commits)")[![brlnr23](https://avatars.githubusercontent.com/u/35556937?v=4)](https://github.com/brlnr23 "brlnr23 (3 commits)")[![aw73](https://avatars.githubusercontent.com/u/6923504?v=4)](https://github.com/aw73 "aw73 (2 commits)")[![marco-kalin](https://avatars.githubusercontent.com/u/103522678?v=4)](https://github.com/marco-kalin "marco-kalin (2 commits)")[![donatasben](https://avatars.githubusercontent.com/u/4421344?v=4)](https://github.com/donatasben "donatasben (2 commits)")[![WebWorkingMan](https://avatars.githubusercontent.com/u/3637410?v=4)](https://github.com/WebWorkingMan "WebWorkingMan (1 commits)")[![gebeer](https://avatars.githubusercontent.com/u/3088950?v=4)](https://github.com/gebeer "gebeer (1 commits)")[![artfulrobot](https://avatars.githubusercontent.com/u/870343?v=4)](https://github.com/artfulrobot "artfulrobot (1 commits)")

### Embed Badge

![Health badge](/badges/blauequelle-privacywire/health.svg)

```
[![Health](https://phpackages.com/badges/blauequelle-privacywire/health.svg)](https://phpackages.com/packages/blauequelle-privacywire)
```

###  Alternatives

[defuse/php-encryption

Secure PHP Encryption Library

3.9k162.4M214](/packages/defuse-php-encryption)[roave/security-advisories

Prevents installation of composer packages with known security vulnerabilities: no API, simply require it

2.9k97.3M6.4k](/packages/roave-security-advisories)[mews/purifier

Laravel 5/6/7/8/9/10 HtmlPurifier Package

2.0k16.7M113](/packages/mews-purifier)[robrichards/xmlseclibs

A PHP library for XML Security

41278.1M118](/packages/robrichards-xmlseclibs)[bjeavons/zxcvbn-php

Realistic password strength estimation PHP library based on Zxcvbn JS

86917.5M63](/packages/bjeavons-zxcvbn-php)[enlightn/security-checker

A PHP dependency vulnerabilities scanner based on the Security Advisories Database.

33732.2M110](/packages/enlightn-security-checker)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
