🆕 v1.3.0 — GCC & Brunei Compliance Pack

Cookie consent
that respects everyone

A lightweight, GDPR-compliant WordPress plugin that actually looks good. No bloat. No subscriptions. Just beautiful, honest consent.

Download on GitHub Read the Docs →
✓ Latest: v1.3.0 — Arabic, Malay, PDPL & PDPO compliance
100%Free
0Dependencies
GDPRCompliant
GPLv2 Licensed

Live Preview

See it in action

🔒 yoursite.com
🍪
We value your privacy
We use cookies to enhance your experience and analyze traffic. Privacy Policy

Everything you need

Packed with features,
light on your site

🎨
3 Layouts × 4 Positions
Bar, Box, or Modal — placed at top, bottom, bottom-left, or bottom-right. Every combination polished out of the box.
GDPR, PDPL & PDPO Compliant
Covers GDPR (EU), Saudi PDPL, Brunei PDPO 2025, and PDPA (SEA). Granular categories, audit log, re-consent trigger, and extended disclosure field.
📊
Consent Analytics Dashboard
Visual metrics in the admin: donut charts, category acceptance bars, 30-day trend chart, and visitor country breakdown with compliance tier badges.
🌗
Light, Dark & Custom Themes
Three built-in themes plus full custom colour control. Dark mode fixed in v1.2.1 — all text readable on checked categories.
👁️
Live Design Preview
See your banner update in real time as you change layout, theme, colours, and text — right inside the WordPress admin.
WCAG 2.1 AA Accessible
Modal focus trap, Escape key dismiss, focus return after consent, aria-labelledby on the dialog, and keyboard focus rings.
🌐
Arabic (RTL) & Malay
Full right-to-left layout for GCC countries. Native Bahasa Melayu for Brunei and Malaysia. Auto-applied when language is selected — no extra config.
🔗
GA4 & GTM Integration
Auto-loads GA4 with Consent Mode v2. Pushes consent events to GTM's dataLayer for tag-level control.
🔓
Truly Open Source
GPL v2 licensed. Fork it, modify it, ship it. No premium tiers, no feature gates, no subscriptions. Free forever.

Changelog

What's new

All releases — latest first

March 2026 — GCC & Brunei Compliance Pack

✨ New
Arabic language + RTL layout
Full right-to-left banner for Saudi Arabia, UAE, Qatar, Bahrain, Oman, and Kuwait. Select Arabic in Content settings — RTL layout, font fallback, and flipped UI all apply automatically.
✨ New
Bahasa Melayu (Malay)
Native Malay translations covering Brunei Darussalam and Malaysia. Fully aligned with Brunei PDPO 2025 — the plugin's home country.
✨ New
Policy Version re-consent trigger
Bump the version number in Advanced settings to force all existing visitors to re-consent. Required by GDPR, Saudi PDPL, and Brunei PDPO 2025 when your policy or data processing changes.
✨ New
Extended Disclosure field
Optional second paragraph on the banner for legal-grade disclosure of data collection purpose and third-party sharing — directly satisfies PDPL and PDPO explicit consent requirements.
✨ New
Data Processing Location field
Adds a banner notice: "Your data is processed and stored on servers in [location]." Addresses Saudi PDPL and Brunei PDPO data localisation disclosure expectations.
⚡ Improvement
Compliance tier badges in analytics
Country analytics now shows GDPR / PDPL (GCC) / PDPA / PDPO (BN) badges next to each country row so you can see your regulatory exposure at a glance.
⚡ Improvement
Smart admin compliance notices
Automatic warnings in the WordPress admin when BN or GCC visitor codes appear in the consent log and required fields aren't yet configured.
🔄 Migration
policy_version column added
Consent log gains a policy_version column on first load after upgrade — tracks which policy version each visitor consented to. Zero manual steps.

February 2026 — Consent analytics, dark mode fix, live preview, admin credits

🐛 Bug Fix
Dark mode text finally readable
Checked cookie categories in dark mode showed near-white text on pale cream. Fixed by overriding --cz-cookie-pale in the dark theme token set.
✨ New
Consent analytics dashboard
Consent Log now shows donut charts (Accept All / Necessary Only / Custom), category acceptance bars, a 30-day trend chart, and a top countries table.
✨ New
Visitor country tracking
Country code stored per consent record (ISO 2-letter only — GDPR minimal data). Auto-detects via Cloudflare header or geoplugin.net API with 24h cache. Automatic DB migration for existing installs.
✨ New
Live banner preview in Design tab
A sticky preview panel shows a scaled browser mockup of your banner that updates instantly as you change layout, theme, colours, and text — no saving required.
⚡ Improvement
Developer footer credit
Subtle footer on both admin pages: version number, GitHub star, bug report, Buy Me a Coffee, and "Made with ❤️ by flyzal". Industry-standard placement, never in the content flow.
🐛 Bug Fix
Consent log padding & flag emoji
Right-side text cutoff fixed by adding padding-right to the page. Flag emoji rendering fixed from fragile mb_convert_encoding to reliable mb_chr().

February 2026 — Polish & Accessibility release

♿ Accessibility
Modal focus trap
Keyboard users can no longer Tab past the modal overlay onto page content. Tab/Shift+Tab wraps within visible banner elements (WCAG 2.1).
♿ Accessibility
Escape key closes banner
Pressing Esc dismisses the banner with Necessary Only — the standard WCAG dialog pattern. Configurable via Advanced settings.
♿ Accessibility
Focus returns after dismissal
After accepting, focus moves to the 🍪 re-open button — where WCAG 2.4.3 focus order spec says it should go.
♿ Accessibility
Proper ARIA on dialog
Banner now uses aria-labelledby and aria-describedby pointing at real content. Screen readers announce actual title text.
⚡ Improvement
No-flicker banner init
Banner starts visibility:hidden in CSS so returning visitors never see a flash before JS hides it.
✨ New
Test Mode + re-open position
Admins can force the banner visible without clearing cookies (with a 🔧 badge). Re-open button position now configurable: bottom-left or bottom-right.

February 2026 — Critical modal fix

🐛 Bug Fix
Modal consent dismiss fixed
The modal layout no longer stays open after clicking Accept All or Necessary Only. Root cause: CSS display:flex !important specificity conflict.
🐛 Bug Fix
Preferences panel opens correctly
Clicking "Customize" now reliably shows the cookie category panel — previously blocked by a hardcoded inline display:none JS couldn't override.
⚡ Improvement
Rewritten JS show/hide engine
Replaced fragile CSS class toggling with direct element.style.display — inline styles always win over any CSS rule.

January 2026 — Initial release

✨ New
Bar, Box & Modal layouts
Three distinct banner designs × 4 positions. Light, Dark, and Custom themes with full colour picker support.
✨ New
GA4 Consent Mode v2
Auto-load Google Analytics 4 with analytics_storage, ad_storage, and functionality_storage signals. Default denied until visitor consents.
✨ New
Consent Audit Log
Every consent event recorded to the WordPress database — date, masked IP, and per-category values for GDPR audit trail.

Theme Gallery

Any style, any brand

Light Theme
🍪 We value your privacy
We use cookies to enhance your browsing experience and analyze site traffic.
Dark Theme
🍪 We value your privacy
We use cookies to enhance your browsing experience and analyze site traffic.
Custom Theme
🍪 We value your privacy
We use cookies to enhance your browsing experience and analyze site traffic.
✓ GPL v2 Licensed — Free to use, modify & distribute

Get started

Up and running
in minutes

01
Download the plugin
Grab the latest v1.3.0 release from GitHub as a ZIP file. No account or signup required.
cookiezu-v1.3.0.zip
02
Upload to WordPress
Go to Plugins → Add New → Upload Plugin and select the ZIP. Click Install Now, then Activate.
03
Configure your banner
Head to CookiEzu → Settings. Use the Design tab to pick layout and theme — a live preview updates instantly on the right.
04
Go live & watch your metrics
Save settings and visit in incognito. Consent records log automatically. Check CookiEzu → Consent Log for your analytics dashboard.
Download CookiEzu v1.3.0 Free