ConsentShield
India DPDP-compliant consent management for WordPress — official ConsentShield plugin (banner + admin + webhooks).
by consentshield-org · github.com/consentshield-org/wordpress · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/consentshield-org/wordpress/archive/refs/heads/main.zipConsentShield WordPress Plugin
Embeds the ConsentShield consent banner on WordPress sites and surfaces DPDP-compliant consent management in the WordPress admin.
- Status: v0.1.0-alpha (scaffold; settings UI in Sprint 2.1; banner-script injection in Sprint 3.1)
- Operator: consentshield-org
- License: Apache License 2.0
- Authorship: © 2026 Sudhindra Anegondhi (a.d.sudhindra@gmail.com)
The plugin internally consumes the ConsentShield PHP SDK (consentshield/php). The vendor tree is namespace-prefixed under ConsentShield\WP\Vendor\ at build time using humbug/php-scoper so Guzzle and PSR libraries cannot collide with the same libraries bundled by other plugins on the same WordPress install. See PHILOSOPHY.md for the full rationale.
Requirements
- WordPress 6.4 or newer
- PHP 8.1 or newer
- A ConsentShield organisation API key + at least one web property (configure via the plugin settings page in Sprint 2.1)
Install (end users)
This will be available from the WordPress.org plugin directory once Sprint 4.1 ships. Until then, install from a release zip in this repository.
Develop
# clone
git clone https://github.com/consentshield-org/wordpress.git
cd consentshield-wordpress
# install dev + runtime deps
composer install
# build the scoped vendor bundle (writes to vendor-prefixed/)
composer run scope
To run the plugin against a local WordPress install, symlink this directory into wp-content/plugins/:
ln -s "$(pwd)" /path/to/wordpress/wp-content/plugins/consentshield
The plugin's bootstrap (consentshield.php) loads vendor-prefixed/autoload.php. If that file is missing the plugin will refuse to boot and surface an admin notice instructing you to run composer install && composer run scope.
Build for distribution
composer run build # composer install --no-dev + composer run scope
The distributable artefact is the plugin directory minus /vendor/, /tests/, and dev-only files. WordPress.org packaging is finalised in Sprint 4.1.
Test
composer run test
Sprints
Tracked in docs/ADRs/ADR-1072-cms-plugins-toolkit.md in the upstream ConsentShield repository.
| Sprint | Scope | Status |
|---|---|---|
| 1.1 | Plugin scaffold + scoped PHP SDK vendor bundle | shipped |
| 2.1 | WP admin Settings page (org API key, web-property ID, banner-script toggle, webhook URL) | next |
| 3.1 | Banner-script auto-injection + consentshield_use_wp_http filter + withdrawal-event hooks |
pending |
| 4.1 | WordPress.org submission packaging + maintenance commitment doc | pending |
| 5.1 | First-customer pilot (post-v1) | pending |
Contributing
The plugin is single-author. Issues + bug reports welcome at https://github.com/consentshield-org/wordpress/issues. PRs are reviewed but not guaranteed to be accepted — the codebase is the operator's authoritative artefact and contribution acceptance is at the operator's discretion.
License
Apache License 2.0. See LICENSE for the full text and NOTICE for the trademark carve-out and bundled-dependency attributions.