=== Complianz - GDPR/CCPA Cookie Consent ===
Contributors: RogierLankhorst, aahulsebos, leonwimmenhoeve, paapst, markwolters, tomeijkelenkamp, hesseldejong, mujuonly, xantek, pierrotevrard, jarnovos
Donate link: https://paypal.me/complianz
Tags: GDPR, Cookie, Cookie Notice, Consent, Privacy
Requires at least: 5.9
License: GPL2
Requires PHP: 7.4
Tested up to: 6.6
Stable tag: 7.1.5

Configure your Cookie Banner, Cookie Consent and Cookie Policy with our Wizard and Cookie Scan.

== Description ==
Complianz is a GDPR/CCPA Cookie Consent plugin that supports GDPR, ePrivacy, DSGVO, TTDSG, LGPD, POPIA, APA, RGPD, CCPA/CPRA and PIPEDA with a conditional Cookie Notice and customized Cookie Policy based on the results of the built-in Cookie Scan.

https://www.youtube.com/watch?v=JJzOzNAd5Bw&ab_channel=ReallySimplePlugins

== Features ==

= Cookie Consent Notice =

* Configure a Cookie Notice for your specific region: European Union, United Kingdom, United States, Australia, South Africa, Brazil or Canada. Or use one Cookie Notice worldwide.
* Configure specific cookie consent per subregion, for example: European Union + TTDSG/DSGVO/CNIL or USA + specific states for CCPA/CPRA/CTDPA etc
* Cookie Consent and Conditional Cookie Notice with Custom CSS and Customizable Templates. WCAG Level AA and ADA Compliant.
* Banner Templates include: GDPR-friendly Cookie Wall - Accept/Dismiss - Consent per Category - Consent per Service
* Banner Templates also include; Dismiss on scroll, time on page or both based on legislation
* Cookie Banners and Legal Documents conform to WCAG 2.1 AA Accessibility Guidelines and ADA Compliance.
* No jQuery Dependency

= Consent Management =

* Automatically configures you website based on wizard questions, WordPress scans and dedicated service and plugin integrations.
* Blocks 3rd party cookies like Google Maps, Facebook, Instagram, AdSense, Hubspot, Recaptcha, Twitter, ActiveCampaign, and many more.
* Custom integrations for plugins, themes and services are automatically detected. 
* Blocks iFrames, like YouTube, Vimeo, Dailymotion embedded videos and Social iFrames e.g. Instagram, Facebook et al.
* Shows placeholders for blocked iFrames. Stills from videos and individual placeholders per (social) service.
* Script Center to control scripts, iFrames and plugins per category or service. With dependency functionality and placeholders.
* Proof of Consent: User consent registration that respects the GDPR data minimization guideline.
* Periodical Cookie Scan for changes in Cookies, Plugins and 3rd Party services. 
* Automatically detects if you need a Cookie Notice (also called a Cookie Banner or Pop-Up).
* Automatically anonymizes personal data for integrated statistics tools if needed.

= Privacy Laws & Guidelines =

* Ready for GDPR, ePrivacy AVG, RGPD, LGPD, DSGVO, CNIL, PECR, UK DPA, UK GDPR, CCPA, COPPA, PIPEDA, CASL, POPIA, Privacy Act 1988, Australian Privacy Principles, The “Marco Civil” and the Brazilian General Data Protection Law.
* Differentiate between GDPR, ePrivacy and DSGVO/CNIL or between CCPA/DNSMPI and NRS 603A, if needed.
* We closely follow the latest developments in the ePrivacy regulation, the proposed Cookie Law for the European Union, and other legislation world-wide.

= Legal Documents =

* A Cookie Policy; Generated by you with an easy wizard, drafted by an IT Law Firm.
* Do Not Sell My Personal Information: DNSMPI Page for CCPA/CPRA - if required. (Now called Opt-out Preferences.)
* Terms and Conditions are available in a separate plugin: [Complianz – Terms and Conditions](https://wordpress.org/plugins/complianz-terms-conditions/)

= Integrations =

* Detected Cookie Data is prefilled from cookiedatabase.org, with clear and transparent cookie descriptions, which are continuously updated.
* Integrated with WordPress Privacy features. Export and erase personal data from our dashboard.
* Implementation of Google Tag Manager, Google Analytics, Matomo, Matomo Tag Manager, Clicky, Yandex, Jetpack and Burst Statistics
* Categorize your Cookies with Tag Manager or our Script Center, if needed.
* Integration with the [WP Consent API](https://wpconsentapi.org/)

* Integrates seamlessly with Gutenberg, Elementor, Divi, Forminator, WPBakery, Monsterinsights, GADWP, Beehive, WPForms, Gravity Forms, HappyForms, Contact Form 7 <5.4 (CF7), Woocommerce, Easy Digital Downloads, WP Google Maps, Google Maps Widget, Local Google Fonts, CAOS | Host Google Analytics Locally and other popular plugins.
* Tested with popular themes en page builders.
* Gutenberg Blocks enabled.

== Support ==

Complianz offers full support on the WordPress.org [Forum](https://wordpress.org/support/plugin/complianz-gdpr/). Before starting a new thread, please check available documentation and other support threads. Leave a clear and concise description of your issue, and we will respond as soon as possible.

== Useful Links ==

* [Support Forum](https://wordpress.org/support/plugin/complianz-gdpr/)
* [Github](https://github.com/Really-Simple-Plugins/complianz-gdpr/)
* [MU Plugins](https://github.com/Really-Simple-Plugins/complianz-integrations)
* [Documentation](https://complianz.io/docs/)
* [Developer's Guide](https://complianz.io/developers-guide-for-third-party-integrations/)
* [Legal Definitions](https://complianz.io/definitions/)
* [Translate Complianz](https://translate.wordpress.org/projects/wp-plugins/complianz-gdpr/)

== Premium Features ==

Complianz offers a Full Privacy Suite for WordPress on [Complianz.io](https://complianz.io) with even more features:

= Cookie Consent Notice =

* Improve conversion with A/B Testing: which cookie banner has the best consent ratio? Run tests and measure what works best for your site.

= Consent Management =

* Records of Consent: Keep record of your consent management changes and user's consent registration. Integrates with Proof of Consent
* Respects the Do Not Track settings and Global Privacy Controls in end-users browsers.
* Geo IP Cookie Consent: Cookie Consent is different everywhere. Show the correct Cookie Notice based on IP location, but only if a banner is needed.
* Google Consent Mode - Use Consent Mode by Google with Google Tag Manager or Google Analytics. No further set-up needed.
* Integration with TCF v2.0. An IAB Europe Consent Framework for Publishers. Registered CMP ID: 332
* Data Request Forms and Registration


= Privacy Laws & Guidelines =

Simultaneously select USA, Canada, United Kingdom, Australie, South Africa, Brazil and the EU as targeted regions with conditional Consent and dedicated Cookie Banners.

* Support for GDPR / ePrivacy - European Union with Extension for Switzerland.
* Support for USA / CCPA/CPRA/CPA/CTDPA/NRS 603A/UCPA/CDPA
* Support for UK-GDPR / PECR and ICO Guidelines - United Kingdom.
* Support for PIPEDA and CASL - Canada.
* Support for Privacy Act 1988 & Australian Privacy Principles
* Support for POPIA, the South African Protection of Personal Information Act
* Supports The “Marco Civil” and the Brazilian General Data Protection Law (LGPD)

= Legal Documents =

* Privacy statements (EU, CA, UK, AU, ZA, BR & USA). 
* Cookie policy (EU, UK, CA, AU, ZA, BR & USA).
* Impressum (Germany & Austria) & Imprint for world wide use.
* Disclaimer
* Terms & Conditions Integration
* Processing agreements (EU, UK, CA, AU, ZA, BR & USA). 
* Dataleak reporting tools (EU, UK, CA, AU, ZA, BR & USA). 
* Supports CCPA Consent and Legal documents.
* COPPA ready with Children's Privacy Policy (USA)
* Children's Privacy Policy (UK,CA & AU)

= Support & Updates =

* Premium Support from our amazing team.
* Premium updates, new languages, features, regions and more to create the Ultimate Privacy Suite for WordPress.

== About Complianz ==

Check out other plugins developed by Really Simple Plugins as well: [Really Simple SSL](https://wordpress.org/plugins/really-simple-ssl/)

Complianz is on [GitHub](https://github.com/Really-Simple-Plugins/complianz-gdpr) as well!

IMPORTANT! Complianz | GDPR/CCPA Cookie Consent can help you meet compliance requirements, but the user must ensure that all requirements are met.

Complianz provides your Cookie Policy with comprehensive cookie descriptions, supplied by cookiedatabase.org, operated by Complianz B.V. The plugin sends the results of the (local) site scan to Cookiedatabase.org, for the sole purpose of providing you with accurate descriptions and keeping them up-to-date on a regular basis. We collect for research purposes:

* Cookie names
* Domain that provides the cookie names
* Plugin list on the domain

For more information:

* Privacy Statement - [Privacy Statement](https://cookiedatabase.org/plugin-use-of-cookiedatabase-org-privacy-terms/) - Cookiedatabase.org
* Terms and Conditions Database - [Terms of Use](https://cookiedatabase.org/terms-of-use/) - Cookiedatabase.org
* Terms of Use API - [Terms of Use](https://cookiedatabase.org/terms-of-use-api/) - API - Cookiedatabase.org

[Contact](https://complianz.io/support/) us if you have any questions, issues, or suggestions. Complianz | GDPR/CCPA Cookie Consent is developed by [Complianz B.V.](https://complianz.io). Leave your feature requests [here]().

== Installation ==
* Go to “Plugins” in your WordPress Dashboard, and click “Add new”.
* Click “Upload”, and select the downloaded zip file.
* Activate your new plugin.
* Use our tour to get familar with Complianz.

== Frequently Asked Questions ==
= Knowledgebase =
Complianz maintains a continuously growing knowledgebase about GDPR, including subregions e.g. DSGVO and CNIL, CCPA, PIPEDA, COPPA, POPIA & other specific laws on [complianz.io](https://complianz.io)

= Is my website GDPR, COPPA, CCPA, DSGVO, TTDSG, AVG, CNIL, UK-GDPR, PECR, CASL, LGPD, POPIA and/or PIPEDA compliant with this plugin? =
We cannot guarantee compliance for your website. A correct configuration of this plugin by a website administrator is always required. 
= When do I need a Cookie Notice? =
Complianz | GDPR/CCPA Cookie Consent will determine this automatically based on the laws of the region or regions, where most of your visitors come from. 
Regarding CCPA/CPRA, you always have to show which cookies you are using but there's no obligation in asking consent.
= Do I always need a consent checkbox on contact forms? =
Not always. The Complianz Privacy Suite Premium plugin can determine if you need this, based on your answers in the wizard. It mainly depends on the type of information and the reason why your visitor use the contact form.
= What is the GDPR? =
The GDPR is a regulation within the EU law on privacy and data protection for any citizen within the EU and European Economic Area. It aims primarily on giving control to individuals over their personal data. The GDPR also addresses the export of personal data outside the EU.
= What is the CCPA? =
The CCPA (Californian Privacy Act) is a law set up by the Californian government. The law is adjudged to be one of the toughest and farthest-reaching consumer privacy laws in the US. It is mostly focused on giving insights on what personal data business gather and how to protect and control these personal data.
= What is COPPA? =
The Children’s Online Privacy Protection Act (COPPA) is a law designed to protect the online privacy of children under 13. It was set up in the 1990's and states that website owners have to meet certain requirements regarding visitors with the age under 13.
= What are PECR & UK-GDPR? =
PECR (UK) covers the use of cookies and similar technologies for storing information and accessing information stored, on a user’s equipment such as a computer or mobile device.
= What are the Privacy Act 1988 & Australian Privacy Principles =
To comply with the Australian privacy laws a website operator should present a cookie policy and/or a privacy notice before or, if that is not practicable, as soon as practicable after, your website collects personal information about an individual.
= What are PIPEDA & CASL? =
Canada’s Anti-Spam Legislation (CASL) and Personal Information Protection and Electronic Documents Act (PIPEDA) require a website operator to obtain consent, either implied or express consent with a dedicated cookie statement.
= What POPIA (POPI Act)? =
POPIA is the acronym for the South African PROTECTION OF PERSONAL INFORMATION ACT. Similar to the GDPR, the UK-GDPR, and the Brasilian LGPD, it promotes the protection of personal information processed by public and private bodies, regulates the cross-border flow of personal information, and outlines the rights of data subjects.
= What are “Marco Civil” and the Brazilian General Data Protection Law (LGPD)? =
The Brazilian General Data Protection Law is similar to the GDPR, the UK-GDPR it promotes the protection of personal information processed by public and private bodies, regulates the cross-border flow of personal information, and outlines the rights of data subjects. The Marco Civil is the Brazilian name of the Brazilian Civil Rights Framework for the Internet a counterpart to European's "ePrivacy", although not similar.
= Can I create a Cookie Wall with this plugin? =
With some custom CSS this is possible, but we do not consider a cookie wall to be GDPR compliant, so it's not actively supported. We do, however, have the option to create a Soft Cookie Wall. Which blocks interaction with the website, but dismissing remains a possibility.

== Changelog ==

= 7.1.5 =
* November 13th, 2024
* Fix: update bf dates

= 7.1.4 =
* October 28th, 2024
* Improvement: Add support for Montana, Oregon, and Texas state privacy laws enhancement.
* Improvement: Add support for Microsoft Ads UET consent mode.
* Fix: mPDF custom tempdir cache cleanup.
* Fix: Correct cmplz_transients handling in post save process.
* Fix: Ensure complete data removal on Complianz uninstall.
* Fix: Update email validation for longer TLDs.
* Fix: Label adjustment.

= 7.1.1 =
* August 6th, 2024
* Tested up to 6.6
* Several small bug fixes

= 7.1.0 =
* May 14th, 2024
* Improvement: Updated Google Site Kit integration
* Improvement: Detection of pages with shortcode query improved for sites with a lot of pages
* Improvement: limit above query to pages only, props @georgestephanis
* Fix: get_required_pages not existing for documents rest_api endpoint, causing a fatal error
* Fix: Data is shared with this service not saving in cookies overview

= 7.0.5 =
* April 29th, 2024
* Fix: compatibility with Meta Slider plugin
* Fix: unexpected behaviour when editing a new, unsaved script block in the script center
* Fix: Detection of Really Simple SSL pro in other plugins section
* Fix: don't replace style src with #, as this reloads the entire page as style src, props @smerriman
* Fix: prefill administrator email in onboarding email
* Fix: undefined array key placeholderContent in Block Editor block

= 7.0.4 =
* March 9th, 2024
* Fix: Purposes were incorrectly set to 'disabled', while there should only be a condition limiting it to the US region only, props @cdhodgdon
* Fix: Pixelyoursite + pinterest function name incorrect, props @theogk

= 7.0.3 =
* March 5th, 2024
* Improvement: clean up MPDF temp directory after pdf generation
* Improvement: set aria label on x close button from banner
* Fix: deleting cookies with disallowed cookie names causing fatal error, props @baffled
* Fix: missing cmplz_deny_all() function for expired cookies with a changed cookie policy id.
* Fix: cmplz_set_category_as_body_class() also iterating over objects instead of just class names, when parsing the body classes, props @tomnoir
* Fix: due to changed setting usage, Complianz assumed TCF active in some situations, causing the banner editor not to function properly, props @vania2008, @jeanfrancois7

= 7.0.2 =
* February 28th, 2024
* Fix: force the 'wizard_completed_once' to be true for upgrades to 7.0.2, to prevent issues with banner not showing after upgrade, props @cometto, @riroweb2022, @katynen, @julianulmer, @iviadvagency

= 7.0.1 =
* February 27th, 2024
* Fix: catch COMPLIANZ class not loaded yet in cmplz_get_option, props @sizilianischekueche, @franktomas, @martinellimarco, @boinich

= 7.0.0 =
* February 27th, 2024
* New: Rework codebase to React Framework
* New: Hybrid cookie scan
* New: Menu-item 'Tools'
* New: Set cookies on root domain
* New: Search for plugins and services
* New: Statistics block on dashboard
* New: Onboarding
* New: consent mode
* New: Greenshift + YouTube integration
* Improvement: INP performance optimisation
* Improvement: catch not isset region
* Improvement: add banner title to css class
* Improvement: extend YoTuWP blocklist
* Improvement: whitelist video lightbox in Beaver Builder
* Improvement: allow text in Clarity ID input field
* Improvement: DNSMPI feedback on form
* Improvement: Dropped temp dir from MPDF generation, props @piccart
* Improvement: use custom transient to lower number of database requests
* Improvement: Added a filter to delete Records of Consent if older than X days
* Improvement: E-mail obfuscation now uses the antispambot() function
* Improvement: Consent area on a Twitter embed no longer links to Twitter
* Improvement: Improvement: Added translatable aria-label
* Fix: Elementor popup blocked content not unlocking on refresh
* Fix: per site activation of single site plugin on multisite
* Fix: include banner id in cache key for page links, to ensure different banner data is respected across banner ids.
* Fix: jQuery exists check in Elementor integration

= 6.5.6 =
* Improvement: prevent administrator from saving javascript in the css editor

= 6.5.5 =
* October 12th, 2023
* Fix: also clear localstorage & sessionstorage with cookie shredder
* Fix: With only Canada in opt out mode selected, the question 'will you self host Google Fonts' was not visible
* Improvement: setting a class on the parent div of a placeholder with height inherit resolves css issues on some themes, props @maxineblack
* Fix: compatibility with WP Rocket when some iframes are lazy loaded, but not all.

= 6.5.4 =
* September 20th, 2023
* Improvement: upgrade MPDF version to 8.1.3
* Improvement: prefix 'request' to prevent conflicts with weglot
* Fix: bug in Divi Recaptcha integration
* Fix: Block Editor dropping styles when in unsynced mode
* Fix: Consent Mode moved to banner_loaded hook to ensure loading

= 6.5.3 =
* 08-08-2023
* Improvement: Tested up-to WordPress 6.3

= 6.5.2 =
* 11-07-2023
* Fix: catch missing $slug when another plugin drops the slug property

= 6.5.1 =
* 10-07-2023
* Improvement: restore php 7.2 support in burst installer
* Improvement: catch server configurations not supporting webp
* Improvement: catch not existing file when generating webp
* Improvement: catch not existing $slug property in auto updates check
* Improvement: catch not existing ID in wordpress $post when checking for summary divs

= 6.5.0 =
* 04-07-2023
* New: placeholders converted to wepb, loaded with lazyloading, props @james-feaver, @asafm7
* Fix: CAOS host analytics locally integration fixed after constant was dropped
* Fix: DNT caused wp_has_consent to always return false, which should not be the case if consent is given on a service specifically
* Fix: no rt_ prefix on Tag Manager events
* Fix: PHP 8.2 warnings of dynamically created properties
* Fix: When TCF active, in some cases this could cause a cmlz_accept_all not defined error
* Fix: Fatal error in Wizard when using "Falang", props @chabass
* Fix: cookies can not able to run in some cases due to missing variable declarations, props @sira1967

= 6.4.7 =
* June 14th, 2023
* Fix: WordPress 6.2 version moved the Privacy Policy function to a different file. Added fallback for older versions.
* Fix: The fix for the Classic Editor bug which removes summary/details html elements, caused an issue when the post content is empty.
* Improvement: if configuration by Complianz is set to false, the gtag id was added anyway, but empty.
* Improvement: strings in UK cookie policy translatable, which shouldn't be the case.

= 6.4.6 =
* Improvement: unhide pagination on data requests page.
* Improvement: Jersey and Guernsey included
* Improvement: move nonce check to earlier in the process
* Improvement: only show notice about duplicate statistics implementation if stats are actually used.
* Improvement: Easy Liveblogs integration
* Fix: Workaround for strange issue where the Classic Tiny MCE editor strips the summary/details tags from the unsynced legal documents html

= 6.4.5 =
* Security: CSRF fixed
* Fix: type=module support for scripts other than inline scripts
* Fix: new shortcode handling for consent area not working for some plugin shortcodes, split in two options: default, the old one, optionally the clientside version.

= 6.4.4 =
* Fix: catch not existing post_data if post structure is not following WordPress standards
* Fix: exclude bricks builder from cookie blocker
* Improvement: AddToAny integration updated, props @micropat
* Improvement: wording and links in Canadian Cookie Policy
* Improvement: mailchimp woocommerce integration feature activation after consent
* Improvement: updated classic consent area to the same new structure as the new Gutenberg consent area
* Improvement: script type module support in cookie blocker
* Improvement: exclude cornerstone builder from cookieblocker
* Improvement: new cmplz_upload_dir and cmplz_upload_url filters, to allow overrides of the plugin folders.
* Dropped: Ultimate Add ons for Elementor integration, due to incompatibility issues

= 6.4.3 =
* Improvement: add exclude cookies filter
* Improvement: add support for parent/child themes, props @dominiccarrington
* Improvement: incorrect bold paragraphs in Privacy Statement for Children
* Improvement: clear blocked scripts cache on ajax save in script center
* Improvement: hubspot integration improved
* fix: cmplz-consent-area shortcode reload loop because of hardcoded marketing category, props @matthiaswagner

= 6.4.2.1 =
* New: branding update

= 6.4.2 =
* Security update: authenticated Stored XSS issue
* Fix: disable cookie banner option in wizard didn't load the complianz.js scripts, causing placeholders not to work when activated.
* Fix: After switching to unlinked status in a legal document, purpose paragraph got dropped
* Fix: not all categories within services showing in cookie policy overview
* Fix: isset check on get_field_type function, props @moxymore
* Fix: not translatable VAT ID string
* Fix: With Global Privacy Control or Do Not Track enabled, and the user accepting an embedded service, the service was blocked again after a pageload.
* Improvement: allow custom directory for cookie banner css generation
* Improvement: catch open basedir restriction
* Improvement: catch not existing accept button during initial cookie scan (no banner active yet)
* Improvement: function cmplz_has_consent() in 'other' region returned false when no cookies present, while it should return true in that case.
* New: Buttonizer integration
* New: hCatpcha for WordPress

= 6.4.1 =
* Improvement: do not copy over async attribute to prevent issues re-initializing scripts in some setups
* Improvement: get_cookie() function performance, props @lucastello
* Improvement: add space behind contact details on policy
* Improvement: add our own 'manage_privacy' capability, as the wordpress core manage_privacy_options is not implemented consistently with other capabilities
* Improvement: catch not set array class-document.php 1820
* Improvement: hide blocked iframes until they're consented to, for better UX
* Improvement: PHP 8.2 compatibility
* Improvement: export datarequests on symlinked folder setups (BASE_PATH -> ABSPATH)
* Fix: links to processing agreement create page broken
* Fix: Divi Recaptcha support
* Fix: WP Go Maps Pro update
* Fix: cosmetic change: cmplz_functional should always be allow, props @jidwictut9
* Fix: when editing consent in unsynced mode in Gutenberg, content went missing because of automatically wrapping with divs by gutenberg and missing key props
* New: Agile Store Locator integration
* New: Omnisend Connect integration

= 6.4.0 =
* Fix: function name error in microsoft ads integrations, props @mustafauysal
* Fix: GPC & DNT in opt out regions not respected, props @ahegyes
* Improvement: conditional scroll into view on consent area shortcode, props @falkemediawy
* Improvement: MPDF update, props @sviluppomania
* Improvement: catch CURL errors because of local SSL issues, add to system status
* Improvement: return # for not existing page id in case of generated docs by complianz, but not actually generated
* Improvement: Fire load event in divi integration after consent

= 6.3.9 =
* Brought version in sync with premium version
* Improvement: Add classes to address details
* Improvement: auto installer for Really Simple SSL multisite compatible
* Improvement: add filter to allow filtering data-request email recipient 'cmplz_datarequest_email'
* Improvement: translatable URLs in polylang
* New: Microsoft Ads/Microsoft Clarity integration
* Fix: some scripts not executing properly because of copying data-service & data-category attributes props @sophiaknows, @hamil1
* Fix: new added query added to cookie block exclude to ensure Avada live builder works, props @franck_b, @markusand

== Upgrade notice ==
* Please backup before upgrading.

== Screenshots ==
1. Complianz Dashboard: Your privacy HUB
2. The Wizard: Generate a cookie policy and configure consent management to your specific needs. 
3. Automatic Cookie Scan: Weekly scan of your website to keep you up-to-date!
4. Customize your Cookie Banner: Including template styles and a range of styling options, WCAG conform. Custom CSS available for full control!
5. Integrations: Dedicated integrations with the most popular plugins, themes and services. Feature requests are possible!
6. Placeholders: Still images for video placeholders and individual placeholders for social media widgets. Fully customizable as well!
7. Legal Documents: Dedicated legal documents per region. Generated by you through the wizard, drafted, and updated by our IT Law firm.
