WP Manifestindependent plugin directory
manifest / privacy / wordpress

ConsentShield

India DPDP-compliant consent management for WordPress — official ConsentShield plugin (banner + admin + webhooks).

by consentshield-org · github.com/consentshield-org/wordpress · website

0stars
0forks

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.zip

ConsentShield 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.