@reform-digital/cookie-flow 2.1.0 → 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.
Files changed (3) hide show
  1. package/README.md +112 -74
  2. package/package.json +1 -1
  3. 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&#x26;token=a7d697e2-d4cc-4310-a224-5f49fa4f3654" alt=""><figcaption></figcaption></figure>
6
8
 
7
9
  ***
8
10
 
9
- ## Overview
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 Analytics
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
- ### Features
26
+ ## Features
25
27
 
26
- #### 🔍 Automatic Geolocation
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, it intelligently falls back to timezone-based detection.
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
- #### 📍 Regional Compliance (3 Zones)
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
- #### ⏰ Configurable Cookie Expiry
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
- #### 📊 Consent Record Storage
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
- #### 🔒 Privacy Signal Respect
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
- #### 🤖 Bot Detection
75
+ ### 🤖 Bot Detection
68
76
 
69
77
  Crawlers and bots won't see consent banners, keeping your site's SEO intact.
70
78
 
71
- #### 🔄 Consent ID Tracking
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
- #### 🎨 Fully Customizable
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
- ### Compliance
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
- ### Considerations
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
- #### Webflow E-Commerce is not GDPR compliant
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
- #### Webflow's native video element for YouTube
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
- #### Webflow's map is not GDPR compliant
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
- #### Webflow's reCaptcha is not GDPR compliant
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
- #### Remove `<noscript>` tags for compliance
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
- ### Support
136
+ ## Support
129
137
 
130
- #### Getting Help
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
- #### Feature Requests & Bugs
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
- ## Recommended Setup
160
+ # Recommended Setup
153
161
 
154
- ### Quick Start
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
- 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 demonstration website and paste it into your Webflow project.
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
- #### What's Included
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
- #### Important: Script Configuration
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
- ### Supabase Setup
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
- ### Script Configuration
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
- #### Basic Configuration
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
- #### Advanced Configuration (Optional)
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 `cookieconsent_status` that remembers the user's choices. The expiration of this cookie is controlled by the `rd-consent-expiry` attribute in your script tag.
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 two-step detection process:
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 ipapi.co)
397
- 2. **Fallback**: Timezone-based detection if IP lookup fails
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 don't need to configure anything for this to work—it's automatic.
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
- ### Store Consents
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
- #### What Information is Stored
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
- #### Consent Record Examples
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
- #### Privacy & Security Features
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
- #### Compliance Benefits
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
- #### Accessing Consent Records
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
- ### Consent Categories
661
+ ## Consent Categories
645
662
 
646
663
  CookieFlow™ manages consent across four main categories:
647
664
 
648
- #### 1. Marketing Cookies
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
- #### 2. Analytics Cookies
671
+ ### 2. Analytics Cookies
655
672
 
656
673
  **Purpose**: Used to understand how visitors interact with your site\
657
- **Includes**: Google Analytics, Webflow Analytics, heatmap tools\
674
+ **Includes**: Google Analytics, Webflow Analyze, heatmap tools\
658
675
  **Control**: Users can enable or disable this category
659
676
 
660
- #### 3. Personalization Cookies
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
- #### 4. Essential Cookies (Always On)
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
- ### Adding Project Scripts
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
- #### Method 1: Adding Scripts Directly in Webflow
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
- #### Method 2: Adding Scripts via Google Tag Manager
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
- ## Manual Setup
925
+ # Manual Setup
909
926
 
910
- ### Setup Guide
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
- #### Quick Start
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
- ### Adding the Script
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
- #### What's Next?
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
- ### Elements & Attributes
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
- #### Core Components
964
+ ### Core Components
948
965
 
949
966
  **1. Wrapper Element**
950
967
 
@@ -965,21 +982,21 @@ CookieFlow™ uses **HTML data attributes** to identify and control UI elements.
965
982
 
966
983
  **Position**: Typically positioned as a floating button, often in the bottom-right corner
967
984
 
968
- **Privacy Settings Link (Alternative to Manager)**
985
+ **Privacy Settings Link (Alternative to Manager)**
969
986
 
970
- If you prefer to use a text link instead of the floating manager button (e.g., a "Privacy Settings" link in your footer), you can add this attribute to any element:
987
+ If you prefer to use a text link instead of the floating manager button (e.g., a "Privacy Settings" link in your footer), you can add this attribute to any element:
971
988
 
972
- **Attribute**: `rd-cookieflow="manager-link"`
989
+ **Attribute**: `rd-cookieflow="manager-link"`
973
990
 
974
- ```html
975
- <!-- Example: Footer privacy link -->
976
- <a href="#" rd-cookieflow="manager-link">Privacy Settings</a>
977
- ```
991
+ ```html
992
+ <!-- Example: Footer privacy link -->
993
+ <a href="#" rd-cookieflow="manager-link">Privacy Settings</a>
994
+ ```
978
995
 
979
- **How It Works:**
980
- - Clicking this element opens the CookieFlow™ settings modal, just like the floating manager button
981
- - You can place this link anywhere on your page (footer, navigation, etc.)
982
- - If using this approach, the floating manager button (`rd-cookieflow="manager"`) can be removed without affecting functionality
996
+ **How It Works:**
997
+ - Clicking this element opens the CookieFlow™ settings modal, just like the floating manager button
998
+ - You can place this link anywhere on your page (footer, navigation, etc.)
999
+ - If using this approach, the floating manager button (`rd-cookieflow="manager"`) can be removed without affecting functionality
983
1000
 
984
1001
  **3. Banner Components**
985
1002
 
@@ -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
- #### Essential UI Elements Within Components
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
- #### Example Structure
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.1.0",
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": [],