@reform-digital/cookie-flow 2.1.1 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +101 -63
- package/package.json +1 -1
- package/prod/index.js +1 -1
package/README.md
CHANGED
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
***
|
|
4
4
|
|
|
5
|
+
<a href="https://www.reform.digital/tools/cookieflow" class="button primary" data-icon="webflow">Copy to Webflow</a> <a href="https://www.reform.digital/tools/cookieflow" class="button secondary" data-icon="figma">Copy to Figma</a> <a href="https://www.reform.digital/tools/cookieflow" class="button secondary" data-icon="bolt">Copy to Supabase</a>
|
|
6
|
+
|
|
5
7
|
<figure><img src="https://3948747524-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyWDd0BQVjmRUYm47Xnrj%2Fuploads%2F3h17Hj5ZAxhUMFE6oHmg%2FThumb.png?alt=media&token=a7d697e2-d4cc-4310-a224-5f49fa4f3654" alt=""><figcaption></figcaption></figure>
|
|
6
8
|
|
|
7
9
|
***
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
# Overview
|
|
10
12
|
|
|
11
13
|
CookieFlow™ is a comprehensive cookie consent management solution developed by [Reform Digital®](https://reform.digital) specifically for Webflow websites. It provides a compliant, customizable framework for handling user consent preferences across different geographical regions, automatically adapting to privacy regulations like GDPR, CCPA, and others.
|
|
12
14
|
|
|
@@ -16,16 +18,16 @@ CookieFlow™ is a comprehensive cookie consent management solution developed by
|
|
|
16
18
|
* **Manages cookie consent** across multiple categories (marketing, analytics, personalization)
|
|
17
19
|
* **Complies with regional regulations** (GDPR, CCPA, etc.)
|
|
18
20
|
* **Stores consent records** in your Supabase database for audit trails
|
|
19
|
-
* **Integrates seamlessly** with Google Tag Manager and Webflow
|
|
21
|
+
* **Integrates seamlessly** with Google Tag Manager and Webflow Analyze
|
|
20
22
|
* **Respects privacy signals** like Do Not Track (DNT) and Global Privacy Control (GPC)
|
|
21
23
|
|
|
22
24
|
***
|
|
23
25
|
|
|
24
|
-
|
|
26
|
+
## Features
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
### 🔍 Automatic Geolocation
|
|
27
29
|
|
|
28
|
-
CookieFlow™ automatically detects your visitors' location using IP-based geolocation and displays the appropriate consent banner based on their region. If geolocation fails,
|
|
30
|
+
CookieFlow™ automatically detects your visitors' location using IP-based geolocation and displays the appropriate consent banner based on their region. If geolocation fails or returns invalid data, we default to ZONE_3 (GDPR/strictest) to stay compliant.
|
|
29
31
|
|
|
30
32
|
**How It Works:**
|
|
31
33
|
|
|
@@ -41,22 +43,28 @@ CookieFlow™ automatically detects your visitors' location using IP-based geolo
|
|
|
41
43
|
* Geolocation data is used only to determine compliance zone
|
|
42
44
|
* No personally identifiable information is collected during detection
|
|
43
45
|
|
|
44
|
-
|
|
46
|
+
**Cloudflare Worker response**
|
|
47
|
+
|
|
48
|
+
* The worker returns JSON (`{ country, ip }`) so the client can parse it reliably.
|
|
49
|
+
* IPs are masked in the worker itself (last octet zero) before the JSON payload is delivered.
|
|
50
|
+
* `supabaseClient.js` still runs an additional anonymization pass as a safety net.
|
|
51
|
+
|
|
52
|
+
### 📍 Regional Compliance (3 Zones)
|
|
45
53
|
|
|
46
54
|
* **ZONE\_1 (Basic Notice)**: Simple notice-only approach for 130 countries with minimal compliance requirements
|
|
47
55
|
* **ZONE\_2 (Opt-Out/CCPA)**: For 6 CCPA-affected regions (US, PR, GU, AS, MP, VI) with "Do Not Sell" option
|
|
48
56
|
* **ZONE\_3 (Opt-In/GDPR)**: For 50 GDPR-affected regions (EU, UK, Canada, Brazil, Japan, etc.) with detailed consent options
|
|
49
57
|
* **Customizable**: Override defaults with script attributes if privacy regulations change
|
|
50
58
|
|
|
51
|
-
|
|
59
|
+
### ⏰ Configurable Cookie Expiry
|
|
52
60
|
|
|
53
61
|
Set how long consent cookies should last (default is 6 months). Users can be prompted to renew their consent when it expires.
|
|
54
62
|
|
|
55
|
-
|
|
63
|
+
### 📊 Consent Record Storage
|
|
56
64
|
|
|
57
65
|
GDPR and other privacy regulations require consent records to be stored and maintained for audit trails. CookieFlow™ is built to work seamlessly with Supabase due to its ease of setup and free tier availability. Once configured, all consent records are automatically stored in your Supabase database, providing a complete compliance audit trail without additional maintenance.
|
|
58
66
|
|
|
59
|
-
|
|
67
|
+
### 🔒 Privacy Signal Respect
|
|
60
68
|
|
|
61
69
|
CookieFlow™ automatically respects and responds to:
|
|
62
70
|
|
|
@@ -64,21 +72,21 @@ CookieFlow™ automatically respects and responds to:
|
|
|
64
72
|
* Global Privacy Control (GPC) signals
|
|
65
73
|
* Automatically opts users out if these signals are detected
|
|
66
74
|
|
|
67
|
-
|
|
75
|
+
### 🤖 Bot Detection
|
|
68
76
|
|
|
69
77
|
Crawlers and bots won't see consent banners, keeping your site's SEO intact.
|
|
70
78
|
|
|
71
|
-
|
|
79
|
+
### 🔄 Consent ID Tracking
|
|
72
80
|
|
|
73
81
|
Tracks and displays a unique consent ID to users (GDPR requirement for EU visitors).
|
|
74
82
|
|
|
75
|
-
|
|
83
|
+
### 🎨 Fully Customizable
|
|
76
84
|
|
|
77
85
|
Complete control over styling and layout using Webflow's native design tools.
|
|
78
86
|
|
|
79
87
|
***
|
|
80
88
|
|
|
81
|
-
|
|
89
|
+
## Compliance
|
|
82
90
|
|
|
83
91
|
✔ **Equal Prominence**: "Accept" and "Reject" buttons are identical in design.\
|
|
84
92
|
✔ **No Pre-Checked Boxes**: Users must actively opt in to non-essential cookies.\
|
|
@@ -99,35 +107,35 @@ Complete control over styling and layout using Webflow's native design tools.
|
|
|
99
107
|
|
|
100
108
|
CookieFlow™ has been built with these regulations in mind, for full compliance implement it according to the documentation, do not change its functionality and only edit and style it considering the above rules.
|
|
101
109
|
|
|
102
|
-
|
|
110
|
+
## Considerations
|
|
103
111
|
|
|
104
112
|
While CookieFlow™ provides comprehensive cookie consent management, there are several Webflow-specific features that require additional attention to ensure full GDPR compliance:
|
|
105
113
|
|
|
106
|
-
|
|
114
|
+
### Webflow E-Commerce is not GDPR compliant
|
|
107
115
|
|
|
108
116
|
Webflow's native e-commerce solution is not fully GDPR compliant by default, as it uses cookies that may track users without explicit consent. Since these cookies are managed directly by Webflow, our cookie consent solution, CookieFlow, cannot control or block them. If you are using Webflow e-commerce, we recommend consulting a legal expert and exploring additional compliance measures to ensure your store meets GDPR requirements.
|
|
109
117
|
|
|
110
|
-
|
|
118
|
+
### Webflow's native video element for YouTube
|
|
111
119
|
|
|
112
120
|
YouTube videos do not comply with GDPR regulations by default. To ensure users have control over their data, it's best to use embedded iFrames. If you add YouTube videos to your Webflow site using the native video element, personal data is automatically shared with YouTube and its parent company, Google, as soon as the page loads. To avoid this, consider using a custom code embed instead.
|
|
113
121
|
|
|
114
|
-
|
|
122
|
+
### Webflow's map is not GDPR compliant
|
|
115
123
|
|
|
116
124
|
Webflow's native map element does not comply with GDPR regulations, as it automatically shares personal data with third parties like Google without user consent. To prioritize user privacy and provide better control over data sharing, it's advisable to use an embedded Google Map instead.
|
|
117
125
|
|
|
118
|
-
|
|
126
|
+
### Webflow's reCaptcha is not GDPR compliant
|
|
119
127
|
|
|
120
128
|
Webflow's built-in reCaptcha does not fully comply with GDPR, as it collects user data (such as IP addresses and behavior) without explicit consent. To maintain compliance and safeguard user privacy, it's best to integrate reCaptcha manually into your forms.
|
|
121
129
|
|
|
122
|
-
|
|
130
|
+
### Remove `<noscript>` tags for compliance
|
|
123
131
|
|
|
124
132
|
`<noscript>` tags are not compliant with cookie consent regulations and should be removed. These tags execute even when JavaScript is disabled, which can bypass cookie consent mechanisms and potentially collect user data without proper authorization. To ensure GDPR compliance, it is essential to eliminate all `<noscript>` tags from your website.
|
|
125
133
|
|
|
126
134
|
***
|
|
127
135
|
|
|
128
|
-
|
|
136
|
+
## Support
|
|
129
137
|
|
|
130
|
-
|
|
138
|
+
### Getting Help
|
|
131
139
|
|
|
132
140
|
Need assistance with CookieFlow™? Try these steps:
|
|
133
141
|
|
|
@@ -137,7 +145,7 @@ Need assistance with CookieFlow™? Try these steps:
|
|
|
137
145
|
4. **Validate Supabase credentials** - Confirm your Supabase URL and API key are correct and have proper permissions
|
|
138
146
|
5. **Still stuck?** - Join our [Slack community](https://join.slack.com/t/rdcommunity/shared_invite/zt-2zser6sir-3CnFYB6gP4lvQsV2rY3wGw) for direct support from our team
|
|
139
147
|
|
|
140
|
-
|
|
148
|
+
### Feature Requests & Bugs
|
|
141
149
|
|
|
142
150
|
CookieFlow™ is actively maintained and continuously improved. We welcome your feedback:
|
|
143
151
|
|
|
@@ -149,13 +157,15 @@ Join our [Slack community](https://join.slack.com/t/rdcommunity/shared_invite/zt
|
|
|
149
157
|
|
|
150
158
|
***
|
|
151
159
|
|
|
152
|
-
|
|
160
|
+
# Recommended Setup
|
|
153
161
|
|
|
154
|
-
|
|
162
|
+
## Quick Start
|
|
163
|
+
|
|
164
|
+
We provide a ready-to-use Webflow component that includes all necessary elements, attributes, and scripts out of the box. Simply copy the component from our website and paste it into your Webflow project. You can also copy the original Figma design so you can style CookieFlow as needed.
|
|
155
165
|
|
|
156
|
-
|
|
166
|
+
<a href="https://www.reform.digital/tools/cookieflow" class="button primary" data-icon="webflow">Copy to Webflow</a> <a href="https://www.reform.digital/tools/cookieflow" class="button secondary" data-icon="figma">Copy to Figma</a>
|
|
157
167
|
|
|
158
|
-
|
|
168
|
+
### What's Included
|
|
159
169
|
|
|
160
170
|
The prebuilt component comes with:
|
|
161
171
|
|
|
@@ -166,7 +176,7 @@ The prebuilt component comes with:
|
|
|
166
176
|
* **Manager button** for reopening the consent interface
|
|
167
177
|
* **GDPR consent info banner**
|
|
168
178
|
|
|
169
|
-
|
|
179
|
+
### Important: Script Configuration
|
|
170
180
|
|
|
171
181
|
The prebuilt component includes the CookieFlow™ script already. You just need to:
|
|
172
182
|
|
|
@@ -177,7 +187,7 @@ The prebuilt component includes the CookieFlow™ script already. You just need
|
|
|
177
187
|
|
|
178
188
|
***
|
|
179
189
|
|
|
180
|
-
|
|
190
|
+
## Supabase Setup
|
|
181
191
|
|
|
182
192
|
CookieFlow™ requires a Supabase database to store consent records for compliance and audit purposes. If you don't already have a Supabase account and database set up:
|
|
183
193
|
|
|
@@ -288,11 +298,11 @@ revoke all on function public.heartbeat() from public;
|
|
|
288
298
|
|
|
289
299
|
***
|
|
290
300
|
|
|
291
|
-
|
|
301
|
+
## Script Configuration
|
|
292
302
|
|
|
293
303
|
The prebuilt component includes an embed element called "Component Scripts" with the required CookieFlow™ script already configured. To get started with the default configuration, simply update the script's attributes with your Supabase credentials (see [Supabase Setup](#-supabase-setup) above).
|
|
294
304
|
|
|
295
|
-
|
|
305
|
+
### Basic Configuration
|
|
296
306
|
|
|
297
307
|
The script requires these two essential attributes to function:
|
|
298
308
|
|
|
@@ -304,7 +314,7 @@ The script requires these two essential attributes to function:
|
|
|
304
314
|
></script>
|
|
305
315
|
```
|
|
306
316
|
|
|
307
|
-
|
|
317
|
+
### Advanced Configuration (Optional)
|
|
308
318
|
|
|
309
319
|
Beyond the basic setup, CookieFlow™ supports additional customizations to meet your specific compliance needs and preferences.
|
|
310
320
|
|
|
@@ -312,7 +322,7 @@ Beyond the basic setup, CookieFlow™ supports additional customizations to meet
|
|
|
312
322
|
|
|
313
323
|
**Default Behavior**: By default, the consent cookie expires after **6 months**. This setting works well for most countries and aligns with common GDPR requirements.
|
|
314
324
|
|
|
315
|
-
**How It Works**: CookieFlow™ stores a consent cookie called `
|
|
325
|
+
**How It Works**: CookieFlow™ stores a consent cookie called `rd-cf-consent` that remembers the user's choices. The expiration of this cookie is controlled by the `rd-consent-expiry` attribute in your script tag.
|
|
316
326
|
|
|
317
327
|
**Setting a Custom Expiration**: If you need to set a different expiration period based on your specific country's GDPR regulations, you can override the default by adding the `rd-consent-expiry` attribute to your script tag along with a value in **months**. For example, if your country states that consents should expire after 3 months instead of six, then you would update the attribute as follows:
|
|
318
328
|
|
|
@@ -391,12 +401,12 @@ CookieFlow™ automatically adapts to your visitors' location, showing the appro
|
|
|
391
401
|
|
|
392
402
|
**Automatic Detection**
|
|
393
403
|
|
|
394
|
-
CookieFlow™ uses a
|
|
404
|
+
CookieFlow™ uses IP-based geolocation via a Cloudflare Worker that leverages Cloudflare's built-in geolocation data. This approach is GDPR-compliant as no third-party services receive user IP addresses.
|
|
395
405
|
|
|
396
|
-
1. **Primary**: IP-based geolocation (via
|
|
397
|
-
2. **Fallback**:
|
|
406
|
+
1. **Primary**: IP-based geolocation (via Cloudflare Worker using `request.cf.country`)
|
|
407
|
+
2. **Fallback**: Defaults to ZONE_3 (GDPR/strictest) if geolocation fails
|
|
398
408
|
|
|
399
|
-
You
|
|
409
|
+
You can configure your Cloudflare Worker URL via the `rd-geo-worker-url` script attribute, or it will use the default worker URL.
|
|
400
410
|
|
|
401
411
|
**Regional Configuration Override**
|
|
402
412
|
|
|
@@ -454,15 +464,22 @@ To customize country assignments, add these attributes to your script tag:
|
|
|
454
464
|
|
|
455
465
|
* Comma-separated list of country codes (2-letter ISO format)
|
|
456
466
|
* Used to override default regional assignments
|
|
467
|
+
|
|
468
|
+
**`rd-geo-worker-url` (Optional)**
|
|
469
|
+
|
|
470
|
+
* Your Cloudflare Worker URL for geolocation
|
|
471
|
+
* Format: `https://your-worker.your-subdomain.workers.dev`
|
|
472
|
+
* Default: Uses a default worker URL if not specified
|
|
473
|
+
* The worker should return a 2-letter country code and accept the `x-cookieflow: 1` header
|
|
457
474
|
* Format: `"US,CA,MX"`
|
|
458
475
|
|
|
459
476
|
***
|
|
460
477
|
|
|
461
|
-
|
|
478
|
+
## Store Consents
|
|
462
479
|
|
|
463
480
|
CookieFlow™ automatically stores comprehensive consent records in your Supabase database for compliance and audit purposes. Each time a user interacts with the consent banner, a detailed record is created that includes both technical metadata and the user's specific consent choices.
|
|
464
481
|
|
|
465
|
-
|
|
482
|
+
### What Information is Stored
|
|
466
483
|
|
|
467
484
|
Every consent record contains the following information:
|
|
468
485
|
|
|
@@ -497,7 +514,7 @@ Every consent record contains the following information:
|
|
|
497
514
|
* **`button_clicked`**: Text content of the specific button the user clicked
|
|
498
515
|
* **`modal_text`**: The full text content of the consent banner/modal
|
|
499
516
|
|
|
500
|
-
|
|
517
|
+
### Consent Record Examples
|
|
501
518
|
|
|
502
519
|
**Example 1: Accept All (GDPR Region)**
|
|
503
520
|
|
|
@@ -565,7 +582,7 @@ Every consent record contains the following information:
|
|
|
565
582
|
}
|
|
566
583
|
```
|
|
567
584
|
|
|
568
|
-
|
|
585
|
+
### Privacy & Security Features
|
|
569
586
|
|
|
570
587
|
**IP Anonymization**
|
|
571
588
|
|
|
@@ -585,7 +602,7 @@ Every consent record contains the following information:
|
|
|
585
602
|
* Anonymous users can only INSERT records (no SELECT/UPDATE/DELETE)
|
|
586
603
|
* Consent retrieval requires specific function calls with proper permissions
|
|
587
604
|
|
|
588
|
-
|
|
605
|
+
### Compliance Benefits
|
|
589
606
|
|
|
590
607
|
**Audit Trail**
|
|
591
608
|
|
|
@@ -605,7 +622,7 @@ Every consent record contains the following information:
|
|
|
605
622
|
* Geographic region tracking for multi-jurisdictional compliance
|
|
606
623
|
* Detailed consent method tracking for audit purposes
|
|
607
624
|
|
|
608
|
-
|
|
625
|
+
### Accessing Consent Records
|
|
609
626
|
|
|
610
627
|
**For Users (ZONE\_3/GDPR)**
|
|
611
628
|
|
|
@@ -641,29 +658,29 @@ SELECT * FROM get_consent_by_id('USER_CONSENT_ID');
|
|
|
641
658
|
|
|
642
659
|
***
|
|
643
660
|
|
|
644
|
-
|
|
661
|
+
## Consent Categories
|
|
645
662
|
|
|
646
663
|
CookieFlow™ manages consent across four main categories:
|
|
647
664
|
|
|
648
|
-
|
|
665
|
+
### 1. Marketing Cookies
|
|
649
666
|
|
|
650
667
|
**Purpose**: Used for advertising and tracking across websites\
|
|
651
668
|
**Includes**: Social media pixels, retargeting pixels, advertising cookies\
|
|
652
669
|
**Control**: Users can enable or disable this category
|
|
653
670
|
|
|
654
|
-
|
|
671
|
+
### 2. Analytics Cookies
|
|
655
672
|
|
|
656
673
|
**Purpose**: Used to understand how visitors interact with your site\
|
|
657
|
-
**Includes**: Google Analytics, Webflow
|
|
674
|
+
**Includes**: Google Analytics, Webflow Analyze, heatmap tools\
|
|
658
675
|
**Control**: Users can enable or disable this category
|
|
659
676
|
|
|
660
|
-
|
|
677
|
+
### 3. Personalization Cookies
|
|
661
678
|
|
|
662
679
|
**Purpose**: Used to remember user preferences and personalize experience\
|
|
663
680
|
**Includes**: Language preferences, theme preferences, saved settings\
|
|
664
681
|
**Control**: Users can enable or disable this category
|
|
665
682
|
|
|
666
|
-
|
|
683
|
+
### 4. Essential Cookies (Always On)
|
|
667
684
|
|
|
668
685
|
**Purpose**: Necessary for website functionality\
|
|
669
686
|
**Includes**: Authentication, security, site functionality\
|
|
@@ -671,11 +688,11 @@ CookieFlow™ manages consent across four main categories:
|
|
|
671
688
|
|
|
672
689
|
***
|
|
673
690
|
|
|
674
|
-
|
|
691
|
+
## Adding Project Scripts
|
|
675
692
|
|
|
676
693
|
Once CookieFlow™ is set up, you need to configure your existing scripts to respect user consent preferences. CookieFlow™ provides two methods for script integration:
|
|
677
694
|
|
|
678
|
-
|
|
695
|
+
### Method 1: Adding Scripts Directly in Webflow
|
|
679
696
|
|
|
680
697
|
This method is ideal if you manage scripts directly within your Webflow project using embed elements or custom code.
|
|
681
698
|
|
|
@@ -700,15 +717,15 @@ This `<noscript>` tag loads tracking scripts even when JavaScript is disabled, c
|
|
|
700
717
|
|
|
701
718
|
**Essential Scripts**
|
|
702
719
|
|
|
703
|
-
**Attribute**: `rd-cookieflow="essential"`\
|
|
720
|
+
**Attribute**: `type="disabled" rd-cookieflow="essential"`\
|
|
704
721
|
**Use for**: Authentication, security, payment processing, accessibility scripts, form validation, load balancing, privacy & consent management
|
|
705
722
|
|
|
706
723
|
```html
|
|
707
724
|
<!-- Stripe JS Library -->
|
|
708
|
-
<script rd-cookieflow="essential" src="https://js.stripe.com/v3/"></script>
|
|
725
|
+
<script type="disabled" rd-cookieflow="essential" src="https://js.stripe.com/v3/"></script>
|
|
709
726
|
|
|
710
727
|
<!-- Authentication Script -->
|
|
711
|
-
<script rd-cookieflow="essential">
|
|
728
|
+
<script type="disabled" rd-cookieflow="essential">
|
|
712
729
|
// Your authentication code here
|
|
713
730
|
</script>
|
|
714
731
|
```
|
|
@@ -802,7 +819,7 @@ fbq('track', 'PageView');
|
|
|
802
819
|
|
|
803
820
|
***
|
|
804
821
|
|
|
805
|
-
|
|
822
|
+
### Method 2: Adding Scripts via Google Tag Manager
|
|
806
823
|
|
|
807
824
|
This method is recommended if you use Google Tag Manager to manage your website scripts and tracking.
|
|
808
825
|
|
|
@@ -905,13 +922,13 @@ For each tag, go to **Tag Configuration → Advanced Settings → Consent Settin
|
|
|
905
922
|
|
|
906
923
|
***
|
|
907
924
|
|
|
908
|
-
|
|
925
|
+
# Manual Setup
|
|
909
926
|
|
|
910
|
-
|
|
927
|
+
## Setup Guide
|
|
911
928
|
|
|
912
929
|
If you prefer to build your own UI or need to customize the implementation beyond the prebuilt component, you can manually set up CookieFlow™ by adding the required HTML elements and attributes to your Webflow project.
|
|
913
930
|
|
|
914
|
-
|
|
931
|
+
### Quick Start
|
|
915
932
|
|
|
916
933
|
1. Add the CookieFlow™ script to your Webflow project
|
|
917
934
|
2. Create the required HTML elements in your Webflow project
|
|
@@ -920,7 +937,7 @@ If you prefer to build your own UI or need to customize the implementation beyon
|
|
|
920
937
|
|
|
921
938
|
***
|
|
922
939
|
|
|
923
|
-
|
|
940
|
+
## Adding the Script
|
|
924
941
|
|
|
925
942
|
Add the following script to your Webflow project's **global settings**, inside the `<head>` tag:
|
|
926
943
|
|
|
@@ -932,7 +949,7 @@ Add the following script to your Webflow project's **global settings**, inside t
|
|
|
932
949
|
></script>
|
|
933
950
|
```
|
|
934
951
|
|
|
935
|
-
|
|
952
|
+
### What's Next?
|
|
936
953
|
|
|
937
954
|
* **Configure your Supabase database**: Follow the [Supabase Setup](#-supabase-setup) guide in Option 1
|
|
938
955
|
* **Learn about script attributes**: See the [Script Configuration](#-script-configuration) section for all available attributes and customization options
|
|
@@ -940,11 +957,11 @@ Add the following script to your Webflow project's **global settings**, inside t
|
|
|
940
957
|
|
|
941
958
|
***
|
|
942
959
|
|
|
943
|
-
|
|
960
|
+
## Elements & Attributes
|
|
944
961
|
|
|
945
962
|
CookieFlow™ uses **HTML data attributes** to identify and control UI elements. These attributes start with `rd-cookieflow` (Reform Digital CookieFlow).
|
|
946
963
|
|
|
947
|
-
|
|
964
|
+
### Core Components
|
|
948
965
|
|
|
949
966
|
**1. Wrapper Element**
|
|
950
967
|
|
|
@@ -1014,7 +1031,7 @@ There are **three banner types**, one for each compliance zone:
|
|
|
1014
1031
|
**Attribute**: `rd-cookieflow="consent-banner"`\
|
|
1015
1032
|
**Additional**: Add `rd-cookieflow="consent-interaction"` to control show/hide state
|
|
1016
1033
|
|
|
1017
|
-
|
|
1034
|
+
### Essential UI Elements Within Components
|
|
1018
1035
|
|
|
1019
1036
|
**Consent Buttons**
|
|
1020
1037
|
|
|
@@ -1053,7 +1070,7 @@ To prevent page scrolling when the settings modal is open, add this attribute to
|
|
|
1053
1070
|
</div>
|
|
1054
1071
|
```
|
|
1055
1072
|
|
|
1056
|
-
|
|
1073
|
+
### Example Structure
|
|
1057
1074
|
|
|
1058
1075
|
Here's an example of a complete CookieFlow™ structure:
|
|
1059
1076
|
|
|
@@ -1130,3 +1147,24 @@ Here's an example of a complete CookieFlow™ structure:
|
|
|
1130
1147
|
```
|
|
1131
1148
|
|
|
1132
1149
|
***
|
|
1150
|
+
|
|
1151
|
+
# Product Tracking
|
|
1152
|
+
|
|
1153
|
+
CookieFlow™ includes an extremely lightweight telemetry module that helps us understand product adoption patterns. This information allows us to focus our support efforts and prioritize product enhancements where they matter most.
|
|
1154
|
+
|
|
1155
|
+
**What We Track:**
|
|
1156
|
+
|
|
1157
|
+
* **Product Identifier**: The name of the product (e.g., "COOKIE\_FLOW")
|
|
1158
|
+
* **Domain**: The public hostname where the product is installed (e.g., "example.com")
|
|
1159
|
+
|
|
1160
|
+
**Privacy & Performance:**
|
|
1161
|
+
|
|
1162
|
+
* No cookies, fingerprinting, or personally identifiable information
|
|
1163
|
+
* Only runs on live, public domains (never on localhost or development environments)
|
|
1164
|
+
* Single lightweight request sent once per page load
|
|
1165
|
+
* Data is aggregated for internal analytics only
|
|
1166
|
+
* Not used for advertising, marketing, or tracking
|
|
1167
|
+
|
|
1168
|
+
This anonymous usage data helps us ensure CookieFlow™ evolves to meet real-world needs.
|
|
1169
|
+
|
|
1170
|
+
***
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reform-digital/cookie-flow",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "CookieFlow™ is a comprehensive cookie consent management solution developed by Reform Digital® specifically for Webflow websites. It provides a compliant, customizable framework for handling user consent preferences across different geographical regions, automatically adapting to privacy regulations like GDPR, CCPA, and others.",
|
|
5
5
|
"author": "Reform Digital®",
|
|
6
6
|
"keywords": [],
|