@duckduckgo/autoconsent 2.1.2 → 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 (93) hide show
  1. package/.vscode/.idea/.vscode.iml +9 -0
  2. package/.vscode/.idea/modules.xml +8 -0
  3. package/.vscode/.idea/workspace.xml +28 -0
  4. package/.vscode/settings.json +7 -0
  5. package/dist/addon-firefox/background.bundle.js +1 -1
  6. package/dist/addon-firefox/content.bundle.js +1 -1
  7. package/dist/addon-firefox/manifest.json +1 -1
  8. package/dist/addon-firefox/rules.json +821 -48
  9. package/dist/addon-mv3/background.bundle.js +1 -1
  10. package/dist/addon-mv3/content.bundle.js +1 -1
  11. package/dist/addon-mv3/manifest.json +1 -1
  12. package/dist/addon-mv3/rules.json +821 -48
  13. package/dist/autoconsent.cjs.js +1 -1
  14. package/dist/autoconsent.esm.js +1 -1
  15. package/dist/autoconsent.playwright.js +1 -1
  16. package/lib/cmps/all.ts +7 -0
  17. package/lib/cmps/base.ts +37 -24
  18. package/lib/cmps/consentmanager.ts +27 -4
  19. package/lib/cmps/conversant.ts +60 -0
  20. package/lib/cmps/klaro.ts +66 -0
  21. package/lib/cmps/sourcepoint-frame.ts +9 -8
  22. package/lib/cmps/sourcepoint-top.ts +5 -0
  23. package/lib/cmps/uniconsent.ts +70 -0
  24. package/lib/rules.ts +8 -1
  25. package/lib/web.ts +35 -25
  26. package/package.json +1 -1
  27. package/readme.md +29 -0
  28. package/rules/autoconsent/adroll.json +11 -0
  29. package/rules/autoconsent/aws-amazon.json +6 -1
  30. package/rules/autoconsent/axeptio.json +41 -0
  31. package/rules/autoconsent/clickio.json +18 -0
  32. package/rules/autoconsent/complianz-banner.json +13 -0
  33. package/rules/autoconsent/complianz-categories.json +17 -0
  34. package/rules/autoconsent/complianz-notice.json +14 -0
  35. package/rules/autoconsent/complianz-optin.json +20 -0
  36. package/rules/autoconsent/cookie-notice.json +3 -1
  37. package/rules/autoconsent/cookieinformation.json +14 -0
  38. package/rules/autoconsent/dsgvo.json +16 -0
  39. package/rules/autoconsent/eu-cookie-law.json +20 -0
  40. package/rules/autoconsent/ezoic.json +19 -0
  41. package/rules/autoconsent/iubenda.json +23 -0
  42. package/rules/autoconsent/jquery-cookiebar.json +25 -0
  43. package/rules/autoconsent/mediavine.json +20 -0
  44. package/rules/autoconsent/moove.json +28 -0
  45. package/rules/autoconsent/paypal.json +4 -1
  46. package/rules/autoconsent/primebox.json +19 -0
  47. package/rules/autoconsent/sirdata.json +11 -0
  48. package/rules/autoconsent/tarteaucitron.json +18 -0
  49. package/rules/autoconsent/tealium.json +0 -1
  50. package/rules/autoconsent/termly.json +31 -0
  51. package/rules/autoconsent/testcmp.json +4 -1
  52. package/rules/autoconsent/uk-cookie-consent.json +15 -0
  53. package/rules/autoconsent/{usercentrics-1.json → usercentrics-api.json} +2 -2
  54. package/rules/autoconsent/usercentrics-button.json +14 -0
  55. package/rules/autoconsent/vodafone-de.json +5 -5
  56. package/rules/autoconsent/wp-cookie-notice.json +12 -0
  57. package/rules/rules.json +821 -48
  58. package/tests/adroll.spec.ts +15 -0
  59. package/tests/axeptio.spec.ts +9 -0
  60. package/tests/clickio.spec.ts +10 -0
  61. package/tests/complianz-banner.spec.ts +9 -0
  62. package/tests/complianz-categories.spec.ts +14 -0
  63. package/tests/{cookieconsent.spec.ts → complianz-notice.spec.ts} +1 -2
  64. package/tests/complianz-optin.spec.ts +6 -0
  65. package/tests/consentmanager.spec.ts +2 -1
  66. package/tests/conversant.spec.ts +10 -0
  67. package/tests/{cookienotice.spec.ts → cookie-notice.spec.ts} +0 -0
  68. package/tests/cookieinformation.spec.ts +10 -0
  69. package/tests/dsgvo.spec.ts +6 -0
  70. package/tests/eu-cookie-law.spec.ts +6 -0
  71. package/tests/ezoic.spec.ts +8 -0
  72. package/tests/iubenda.spec.ts +8 -0
  73. package/tests/jquery-cookiebar.spec.ts +6 -0
  74. package/tests/klaro.spec.ts +6 -2
  75. package/tests/mediavine.spec.ts +8 -0
  76. package/tests/moove.spec.ts +13 -0
  77. package/tests/onetrust.spec.ts +2 -2
  78. package/tests/primebox.spec.ts +7 -0
  79. package/tests/sirdata.spec.ts +8 -0
  80. package/tests/tarteaucitron.spec.ts +9 -0
  81. package/tests/tealium.spec.ts +1 -1
  82. package/tests/termly.spec.ts +12 -0
  83. package/tests/trustarc.spec.ts +1 -9
  84. package/tests/uk-cookie-consent.spec.ts +7 -0
  85. package/tests/uniconsent.spec.ts +12 -0
  86. package/tests/{usercentrics-1.spec.ts → usercentrics-api.spec.ts} +3 -2
  87. package/tests/usercentrics-button.spec.ts +8 -0
  88. package/tests/wp-cookie-notice.spec.ts +8 -0
  89. package/dist/autoconsent.standalone.js +0 -1
  90. package/rules/autoconsent/cookieconsent.json +0 -8
  91. package/rules/autoconsent/destatis-de.json +0 -8
  92. package/rules/autoconsent/klaro.json +0 -10
  93. package/tests/destatis.spec.ts +0 -7
package/rules/rules.json CHANGED
@@ -31,6 +31,37 @@
31
31
  }
32
32
  ]
33
33
  },
34
+ {
35
+ "name": "Adroll",
36
+ "prehideSelectors": [
37
+ "#adroll_consent_container"
38
+ ],
39
+ "detectCmp": [
40
+ {
41
+ "exists": "#adroll_consent_container"
42
+ }
43
+ ],
44
+ "detectPopup": [
45
+ {
46
+ "visible": "#adroll_consent_container"
47
+ }
48
+ ],
49
+ "optIn": [
50
+ {
51
+ "waitForThenClick": "#adroll_consent_accept"
52
+ }
53
+ ],
54
+ "optOut": [
55
+ {
56
+ "waitForThenClick": "#adroll_consent_reject"
57
+ }
58
+ ],
59
+ "test": [
60
+ {
61
+ "eval": "!document.cookie.includes('__adroll_fpc')"
62
+ }
63
+ ]
64
+ },
34
65
  {
35
66
  "name": "affinity.serif.com",
36
67
  "detectCmp": [
@@ -183,13 +214,55 @@
183
214
  "click": "button[data-id=awsccc-cb-btn-customize]"
184
215
  },
185
216
  {
186
- "eval": "Array.from(document.querySelectorAll('input[aria-checked=true')).forEach(e => e.click()) || true"
217
+ "waitFor": "input[aria-checked]"
218
+ },
219
+ {
220
+ "click": "input[aria-checked=true]",
221
+ "all": true,
222
+ "optional": true
187
223
  },
188
224
  {
189
225
  "click": "button[data-id=awsccc-cs-btn-save]"
190
226
  }
191
227
  ]
192
228
  },
229
+ {
230
+ "name": "axeptio",
231
+ "prehideSelectors": [
232
+ ".axeptio_widget"
233
+ ],
234
+ "detectCmp": [
235
+ {
236
+ "exists": ".axeptio_widget"
237
+ }
238
+ ],
239
+ "detectPopup": [
240
+ {
241
+ "visible": ".axeptio_widget"
242
+ }
243
+ ],
244
+ "optIn": [
245
+ {
246
+ "waitFor": ".axeptio-widget--open"
247
+ },
248
+ {
249
+ "click": "button#axeptio_btn_acceptAll"
250
+ }
251
+ ],
252
+ "optOut": [
253
+ {
254
+ "waitFor": ".axeptio-widget--open"
255
+ },
256
+ {
257
+ "click": "button#axeptio_btn_dismiss"
258
+ }
259
+ ],
260
+ "test": [
261
+ {
262
+ "eval": "document.cookie.includes('axeptio_authorized_vendors=%2C%2C')"
263
+ }
264
+ ]
265
+ },
193
266
  {
194
267
  "name": "baden-wuerttemberg.de",
195
268
  "prehideSelectors": [
@@ -344,6 +417,213 @@
344
417
  }
345
418
  ]
346
419
  },
420
+ {
421
+ "name": "click.io",
422
+ "prehideSelectors": [
423
+ "#cl-consent"
424
+ ],
425
+ "detectCmp": [
426
+ {
427
+ "exists": "#cl-consent"
428
+ }
429
+ ],
430
+ "detectPopup": [
431
+ {
432
+ "visible": "#cl-consent"
433
+ }
434
+ ],
435
+ "optIn": [
436
+ {
437
+ "waitForThenClick": "#cl-consent [data-role=\"b_agree\"]"
438
+ }
439
+ ],
440
+ "optOut": [
441
+ {
442
+ "waitFor": "#cl-consent [data-role=\"b_options\"]"
443
+ },
444
+ {
445
+ "wait": 500
446
+ },
447
+ {
448
+ "click": "#cl-consent [data-role=\"b_options\"]"
449
+ },
450
+ {
451
+ "waitFor": ".cl-consent-popup.cl-consent-visible [data-role=\"alloff\"]"
452
+ },
453
+ {
454
+ "click": ".cl-consent-popup.cl-consent-visible [data-role=\"alloff\"]",
455
+ "all": true
456
+ },
457
+ {
458
+ "click": "[data-role=\"b_save\"]"
459
+ }
460
+ ],
461
+ "test": [
462
+ {
463
+ "eval": "document.cookie.includes('__lxG__consent__v2_daisybit=')",
464
+ "comment": "TODO: this only checks if we interacted at all"
465
+ }
466
+ ]
467
+ },
468
+ {
469
+ "name": "Complianz banner",
470
+ "prehideSelectors": [
471
+ "#cmplz-cookiebanner-container"
472
+ ],
473
+ "detectCmp": [
474
+ {
475
+ "exists": "#cmplz-cookiebanner-container .cmplz-cookiebanner"
476
+ }
477
+ ],
478
+ "detectPopup": [
479
+ {
480
+ "visible": "#cmplz-cookiebanner-container .cmplz-cookiebanner",
481
+ "check": "any"
482
+ }
483
+ ],
484
+ "optIn": [
485
+ {
486
+ "waitForThenClick": ".cmplz-cookiebanner .cmplz-accept"
487
+ }
488
+ ],
489
+ "optOut": [
490
+ {
491
+ "waitForThenClick": ".cmplz-cookiebanner .cmplz-deny"
492
+ }
493
+ ],
494
+ "test": [
495
+ {
496
+ "eval": "document.cookie.includes('cmplz_banner-status=dismissed')"
497
+ }
498
+ ]
499
+ },
500
+ {
501
+ "name": "Complianz categories",
502
+ "prehideSelectors": [
503
+ ".cc-type-categories[aria-describedby=\"cookieconsent:desc\"]"
504
+ ],
505
+ "detectCmp": [
506
+ {
507
+ "exists": ".cc-type-categories[aria-describedby=\"cookieconsent:desc\"]"
508
+ }
509
+ ],
510
+ "detectPopup": [
511
+ {
512
+ "visible": ".cc-type-categories[aria-describedby=\"cookieconsent:desc\"]"
513
+ }
514
+ ],
515
+ "optIn": [
516
+ {
517
+ "click": ".cc-accept-all",
518
+ "optional": true
519
+ },
520
+ {
521
+ "click": ".cc-allow",
522
+ "optional": true
523
+ },
524
+ {
525
+ "click": ".cc-dismiss",
526
+ "optional": true
527
+ }
528
+ ],
529
+ "optOut": [
530
+ {
531
+ "click": ".cc-dismiss"
532
+ }
533
+ ],
534
+ "test": [
535
+ {
536
+ "eval": "!!document.cookie.match(/cmplz_[^=]+=deny/)"
537
+ }
538
+ ]
539
+ },
540
+ {
541
+ "name": "Complianz notice",
542
+ "prehideSelectors": [
543
+ ".cc-type-info[aria-describedby=\"cookieconsent:desc\"]"
544
+ ],
545
+ "detectCmp": [
546
+ {
547
+ "exists": ".cc-type-info[aria-describedby=\"cookieconsent:desc\"]"
548
+ }
549
+ ],
550
+ "detectPopup": [
551
+ {
552
+ "visible": ".cc-type-info[aria-describedby=\"cookieconsent:desc\"]"
553
+ }
554
+ ],
555
+ "optIn": [
556
+ {
557
+ "click": ".cc-accept-all",
558
+ "optional": true
559
+ },
560
+ {
561
+ "click": ".cc-allow",
562
+ "optional": true
563
+ },
564
+ {
565
+ "click": ".cc-dismiss",
566
+ "optional": true
567
+ }
568
+ ],
569
+ "optOut": [
570
+ {
571
+ "hide": [
572
+ "[aria-describedby=\"cookieconsent:desc\"]"
573
+ ]
574
+ }
575
+ ]
576
+ },
577
+ {
578
+ "name": "Complianz optin",
579
+ "prehideSelectors": [
580
+ ".cc-type-opt-in[aria-describedby=\"cookieconsent:desc\"]"
581
+ ],
582
+ "detectCmp": [
583
+ {
584
+ "exists": ".cc-type-opt-in[aria-describedby=\"cookieconsent:desc\"]"
585
+ }
586
+ ],
587
+ "detectPopup": [
588
+ {
589
+ "visible": ".cc-type-opt-in[aria-describedby=\"cookieconsent:desc\"]"
590
+ }
591
+ ],
592
+ "optIn": [
593
+ {
594
+ "click": ".cc-accept-all",
595
+ "optional": true
596
+ },
597
+ {
598
+ "click": ".cc-allow",
599
+ "optional": true
600
+ },
601
+ {
602
+ "click": ".cc-dismiss",
603
+ "optional": true
604
+ }
605
+ ],
606
+ "optOut": [
607
+ {
608
+ "click": ".cc-settings"
609
+ },
610
+ {
611
+ "waitForVisible": "[aria-label=\"cookies preferences popup\"]"
612
+ },
613
+ {
614
+ "click": "[aria-label=\"cookies preferences popup\"] input[type=checkbox]:not([disabled])",
615
+ "all": true
616
+ },
617
+ {
618
+ "click": "[aria-label=\"cookies preferences popup\"] [aria-label=\"Accept Selected\"]"
619
+ }
620
+ ],
621
+ "test": [
622
+ {
623
+ "eval": "!!document.cookie.match(/cookieconsent_preferences_disabled=[^;]+/)"
624
+ }
625
+ ]
626
+ },
347
627
  {
348
628
  "name": "cookie-law-info",
349
629
  "prehideSelectors": [
@@ -387,7 +667,7 @@
387
667
  ],
388
668
  "detectCmp": [
389
669
  {
390
- "exists": "#cookie-notice"
670
+ "visible": "#cookie-notice .cookie-notice-container"
391
671
  }
392
672
  ],
393
673
  "detectPopup": [
@@ -411,30 +691,39 @@
411
691
  ]
412
692
  },
413
693
  {
414
- "name": "cookieconsent",
694
+ "name": "Cookie Information Banner",
415
695
  "prehideSelectors": [
416
- "[aria-label=\"cookieconsent\"][aria-describedby=\"cookieconsent:desc\"]"
696
+ "#cookie-information-template-wrapper"
417
697
  ],
418
698
  "detectCmp": [
419
699
  {
420
- "exists": "[aria-label=\"cookieconsent\"][aria-describedby=\"cookieconsent:desc\"]"
700
+ "exists": "#cookie-information-template-wrapper"
421
701
  }
422
702
  ],
423
703
  "detectPopup": [
424
704
  {
425
- "visible": "[aria-label=\"cookieconsent\"][aria-describedby=\"cookieconsent:desc\"]"
705
+ "visible": "#cookie-information-template-wrapper"
426
706
  }
427
707
  ],
428
708
  "optIn": [
429
709
  {
430
- "click": ".cc-dismiss"
710
+ "eval": "CookieInformation.submitAllCategories() || true"
431
711
  }
432
712
  ],
433
713
  "optOut": [
434
714
  {
435
715
  "hide": [
436
- "[aria-label=\"cookieconsent\"][aria-describedby=\"cookieconsent:desc\"]"
437
- ]
716
+ "#cookie-information-template-wrapper"
717
+ ],
718
+ "comment": "some templates don't hide the banner automatically"
719
+ },
720
+ {
721
+ "eval": "CookieInformation.declineAllCategories() || true"
722
+ }
723
+ ],
724
+ "test": [
725
+ {
726
+ "eval": "document.cookie.includes('CookieInformationConsent=')"
438
727
  }
439
728
  ]
440
729
  },
@@ -494,55 +783,61 @@
494
783
  ]
495
784
  },
496
785
  {
497
- "name": "destatis.de",
498
- "prehideSelectors": [
499
- "div[aria-labelledby=cookiebannerhead]"
500
- ],
786
+ "name": "Drupal",
501
787
  "detectCmp": [
502
788
  {
503
- "exists": ".cookiebannerbox"
789
+ "exists": "#drupalorg-crosssite-gdpr"
504
790
  }
505
791
  ],
506
792
  "detectPopup": [
507
793
  {
508
- "visible": ".cookiebannerbox"
794
+ "visible": "#drupalorg-crosssite-gdpr"
509
795
  }
510
796
  ],
511
797
  "optOut": [
512
798
  {
513
- "hide": [
514
- ".cookiebannerbox"
515
- ]
799
+ "click": ".no"
516
800
  }
517
801
  ],
518
802
  "optIn": [
519
803
  {
520
- "click": [
521
- ".cookiebannerbox .close"
522
- ]
804
+ "click": ".yes"
523
805
  }
524
806
  ]
525
807
  },
526
808
  {
527
- "name": "Drupal",
809
+ "name": "WP DSGVO Tools",
810
+ "link": "https://wordpress.org/plugins/shapepress-dsgvo/",
811
+ "prehideSelectors": [
812
+ ".sp-dsgvo"
813
+ ],
528
814
  "detectCmp": [
529
815
  {
530
- "exists": "#drupalorg-crosssite-gdpr"
816
+ "exists": ".sp-dsgvo.sp-dsgvo-popup-overlay"
531
817
  }
532
818
  ],
533
819
  "detectPopup": [
534
820
  {
535
- "visible": "#drupalorg-crosssite-gdpr"
821
+ "visible": ".sp-dsgvo.sp-dsgvo-popup-overlay",
822
+ "check": "any"
823
+ }
824
+ ],
825
+ "optIn": [
826
+ {
827
+ "click": ".sp-dsgvo-privacy-btn-accept-all",
828
+ "all": true
536
829
  }
537
830
  ],
538
831
  "optOut": [
539
832
  {
540
- "click": ".no"
833
+ "hide": [
834
+ ".sp-dsgvo.sp-dsgvo-popup-overlay"
835
+ ]
541
836
  }
542
837
  ],
543
- "optIn": [
838
+ "test": [
544
839
  {
545
- "click": ".yes"
840
+ "eval": "!document.cookie.includes('sp_dsgvo_cookie_settings')"
546
841
  }
547
842
  ]
548
843
  },
@@ -655,6 +950,88 @@
655
950
  }
656
951
  ]
657
952
  },
953
+ {
954
+ "name": "EU Cookie Law",
955
+ "prehideSelectors": [
956
+ ".pea_cook_wrapper,.pea_cook_more_info_popover"
957
+ ],
958
+ "detectCmp": [
959
+ {
960
+ "exists": ".pea_cook_wrapper"
961
+ }
962
+ ],
963
+ "detectPopup": [
964
+ {
965
+ "wait": 500
966
+ },
967
+ {
968
+ "visible": ".pea_cook_wrapper"
969
+ }
970
+ ],
971
+ "optIn": [
972
+ {
973
+ "click": "#pea_cook_btn"
974
+ }
975
+ ],
976
+ "optOut": [
977
+ {
978
+ "hide": [
979
+ ".pea_cook_wrapper"
980
+ ]
981
+ }
982
+ ],
983
+ "test": [
984
+ {
985
+ "eval": "!document.cookie.includes('euCookie')"
986
+ }
987
+ ]
988
+ },
989
+ {
990
+ "name": "EZoic",
991
+ "prehideSelectors": [
992
+ "#ez-cookie-dialog-wrapper"
993
+ ],
994
+ "detectCmp": [
995
+ {
996
+ "exists": "#ez-cookie-dialog-wrapper"
997
+ }
998
+ ],
999
+ "detectPopup": [
1000
+ {
1001
+ "visible": "#ez-cookie-dialog-wrapper"
1002
+ }
1003
+ ],
1004
+ "optIn": [
1005
+ {
1006
+ "click": "#ez-accept-all",
1007
+ "optional": true
1008
+ },
1009
+ {
1010
+ "eval": "ezCMP.handleAcceptAllClick()",
1011
+ "optional": true
1012
+ }
1013
+ ],
1014
+ "optOut": [
1015
+ {
1016
+ "click": "#ez-manage-settings"
1017
+ },
1018
+ {
1019
+ "waitFor": "#ez-cookie-dialog input[type=checkbox]"
1020
+ },
1021
+ {
1022
+ "click": "#ez-cookie-dialog input[type=checkbox][checked]",
1023
+ "all": true
1024
+ },
1025
+ {
1026
+ "click": "#ez-save-settings"
1027
+ }
1028
+ ],
1029
+ "test": [
1030
+ {
1031
+ "eval": "!!document.cookie.match(/ezCMPCookieConsent=[^;]+\\|2=0\\|3=0\\|4=0/)"
1032
+ }
1033
+ ]
1034
+ },
658
1035
  {
659
1036
  "name": "funding-choices",
660
1037
  "prehideSelectors": [
@@ -814,7 +1191,44 @@
814
1191
  "click": ".footer-config-link"
815
1192
  },
816
1193
  {
817
- "click": "#confirmSelection"
1194
+ "click": "#confirmSelection"
1195
+ }
1196
+ ]
1197
+ },
1198
+ {
1199
+ "name": "iubenda",
1200
+ "prehideSelectors": [
1201
+ "#iubenda-cs-banner"
1202
+ ],
1203
+ "detectCmp": [
1204
+ {
1205
+ "exists": "#iubenda-cs-banner"
1206
+ }
1207
+ ],
1208
+ "detectPopup": [
1209
+ {
1210
+ "visible": ".iubenda-cs-accept-btn"
1211
+ }
1212
+ ],
1213
+ "optIn": [
1214
+ {
1215
+ "click": ".iubenda-cs-accept-btn"
1216
+ }
1217
+ ],
1218
+ "optOut": [
1219
+ {
1220
+ "click": ".iubenda-cs-customize-btn"
1221
+ },
1222
+ {
1223
+ "eval": "document.querySelectorAll('.purposes-item input[type=checkbox]:not([disabled])').forEach(x => {if(x.checked) x.click()}) || true"
1224
+ },
1225
+ {
1226
+ "click": "#iubFooterBtn"
1227
+ }
1228
+ ],
1229
+ "test": [
1230
+ {
1231
+ "eval": "!!document.cookie.match(/_iub_cs-\\d+=/)"
818
1232
  }
819
1233
  ]
820
1234
  },
@@ -856,30 +1270,41 @@
856
1270
  ]
857
1271
  },
858
1272
  {
859
- "name": "klaro",
1273
+ "name": "jquery.cookieBar",
1274
+ "comment": "https://github.com/kovarp/jquery.cookieBar",
1275
+ "prehideSelectors": [
1276
+ ".cookie-bar"
1277
+ ],
860
1278
  "detectCmp": [
861
1279
  {
862
- "exists": ".klaro > .cookie-notice"
1280
+ "exists": ".cookie-bar .cookie-bar__message,.cookie-bar .cookie-bar__buttons"
863
1281
  }
864
1282
  ],
865
1283
  "detectPopup": [
866
1284
  {
867
- "visible": ".klaro > .cookie-notice"
1285
+ "visible": ".cookie-bar .cookie-bar__message,.cookie-bar .cookie-bar__buttons",
1286
+ "check": "any"
868
1287
  }
869
1288
  ],
870
1289
  "optIn": [
871
1290
  {
872
- "click": ".cm-btn-success"
1291
+ "click": ".cookie-bar .cookie-bar__btn"
873
1292
  }
874
1293
  ],
875
1294
  "optOut": [
876
1295
  {
877
- "click": ".cn-decline"
1296
+ "hide": [
1297
+ ".cookie-bar"
1298
+ ]
878
1299
  }
879
1300
  ],
880
1301
  "test": [
881
1302
  {
882
- "eval": "Object.values(klaro.getManager().consents).every(c => !c)"
1303
+ "visible": ".cookie-bar .cookie-bar__message,.cookie-bar .cookie-bar__buttons",
1304
+ "check": "none"
1305
+ },
1306
+ {
1307
+ "eval": "!document.cookie.includes('cookies-state=accepted')"
883
1308
  }
884
1309
  ]
885
1310
  },
@@ -938,6 +1363,45 @@
938
1363
  }
939
1364
  ]
940
1365
  },
1366
+ {
1367
+ "name": "Mediavine",
1368
+ "prehideSelectors": [
1369
+ "[data-name=\"mediavine-gdpr-cmp\"]"
1370
+ ],
1371
+ "detectCmp": [
1372
+ {
1373
+ "exists": "[data-name=\"mediavine-gdpr-cmp\"]"
1374
+ }
1375
+ ],
1376
+ "detectPopup": [
1377
+ {
1378
+ "wait": 500
1379
+ },
1380
+ {
1381
+ "visible": "[data-name=\"mediavine-gdpr-cmp\"]"
1382
+ }
1383
+ ],
1384
+ "optIn": [
1385
+ {
1386
+ "waitForThenClick": "[data-name=\"mediavine-gdpr-cmp\"] [format=\"primary\"]"
1387
+ }
1388
+ ],
1389
+ "optOut": [
1390
+ {
1391
+ "waitForThenClick": "[data-name=\"mediavine-gdpr-cmp\"] [data-view=\"manageSettings\"]"
1392
+ },
1393
+ {
1394
+ "waitFor": "[data-name=\"mediavine-gdpr-cmp\"] input[type=checkbox]"
1395
+ },
1396
+ {
1397
+ "eval": "document.querySelectorAll(\"[data-name=\\\"mediavine-gdpr-cmp\\\"] input[type=checkbox]\").forEach(x => x.checked && x.click()) || true",
1398
+ "optional": true
1399
+ },
1400
+ {
1401
+ "click": "[data-name=\"mediavine-gdpr-cmp\"] [format=\"secondary\"]"
1402
+ }
1403
+ ]
1404
+ },
941
1405
  {
942
1406
  "name": "metoffice.gov.uk",
943
1407
  "prehideSelectors": [
@@ -1055,6 +1519,61 @@
1055
1519
  }
1056
1520
  ]
1057
1521
  },
1522
+ {
1523
+ "name": "Moove",
1524
+ "prehideSelectors": [
1525
+ "#moove_gdpr_cookie_info_bar"
1526
+ ],
1527
+ "detectCmp": [
1528
+ {
1529
+ "exists": "#moove_gdpr_cookie_info_bar"
1530
+ }
1531
+ ],
1532
+ "detectPopup": [
1533
+ {
1534
+ "visible": "#moove_gdpr_cookie_info_bar"
1535
+ }
1536
+ ],
1537
+ "optIn": [
1538
+ {
1539
+ "waitForThenClick": ".moove-gdpr-infobar-allow-all"
1540
+ }
1541
+ ],
1542
+ "optOut": [
1543
+ {
1544
+ "if": {
1545
+ "exists": "#moove_gdpr_cookie_info_bar .change-settings-button"
1546
+ },
1547
+ "then": [
1548
+ {
1549
+ "click": "#moove_gdpr_cookie_info_bar .change-settings-button"
1550
+ },
1551
+ {
1552
+ "waitForVisible": "#moove_gdpr_cookie_modal"
1553
+ },
1554
+ {
1555
+ "eval": "document.querySelectorAll('#moove_gdpr_cookie_modal input').forEach(i => { if (!i.disabled) i.checked = false }) || true"
1556
+ },
1557
+ {
1558
+ "click": ".moove-gdpr-modal-save-settings"
1559
+ }
1560
+ ],
1561
+ "else": [
1562
+ {
1563
+ "hide": [
1564
+ "#moove_gdpr_cookie_info_bar"
1565
+ ]
1566
+ }
1567
+ ]
1568
+ }
1569
+ ],
1570
+ "test": [
1571
+ {
1572
+ "visible": "#moove_gdpr_cookie_info_bar",
1573
+ "check": "none"
1574
+ }
1575
+ ]
1576
+ },
1058
1577
  {
1059
1578
  "name": "motor-talk.de",
1060
1579
  "prehideSelectors": [
@@ -1304,11 +1823,52 @@
1304
1823
  }
1305
1824
  ],
1306
1825
  "test": [
1826
+ {
1827
+ "wait": 500
1828
+ },
1307
1829
  {
1308
1830
  "eval": "document.cookie.includes('cookie_prefs') === true"
1309
1831
  }
1310
1832
  ]
1311
1833
  },
1834
+ {
1835
+ "name": "PrimeBox CookieBar",
1836
+ "prehideSelectors": [
1837
+ "#cookie-bar"
1838
+ ],
1839
+ "detectCmp": [
1840
+ {
1841
+ "exists": "#cookie-bar .cb-enable,#cookie-bar .cb-disable,#cookie-bar .cb-policy"
1842
+ }
1843
+ ],
1844
+ "detectPopup": [
1845
+ {
1846
+ "visible": "#cookie-bar .cb-enable,#cookie-bar .cb-disable,#cookie-bar .cb-policy",
1847
+ "check": "any"
1848
+ }
1849
+ ],
1850
+ "optIn": [
1851
+ {
1852
+ "waitForThenClick": "#cookie-bar .cb-enable"
1853
+ }
1854
+ ],
1855
+ "optOut": [
1856
+ {
1857
+ "click": "#cookie-bar .cb-disable",
1858
+ "optional": true
1859
+ },
1860
+ {
1861
+ "hide": [
1862
+ "#cookie-bar"
1863
+ ]
1864
+ }
1865
+ ],
1866
+ "test": [
1867
+ {
1868
+ "eval": "!document.cookie.includes('cb-enabled=accepted')"
1869
+ }
1870
+ ]
1871
+ },
1312
1872
  {
1313
1873
  "name": "quantcast",
1314
1874
  "prehideSelectors": [
@@ -1351,6 +1911,37 @@
1351
1911
  }
1352
1912
  ]
1353
1913
  },
1914
+ {
1915
+ "name": "Sirdata",
1916
+ "prehideSelectors": [
1917
+ "#sd-cmp"
1918
+ ],
1919
+ "detectCmp": [
1920
+ {
1921
+ "exists": "#sd-cmp"
1922
+ }
1923
+ ],
1924
+ "detectPopup": [
1925
+ {
1926
+ "visible": "#sd-cmp"
1927
+ }
1928
+ ],
1929
+ "optIn": [
1930
+ {
1931
+ "waitForThenClick": "#sd-cmp .sd-cmp-3cRQ2"
1932
+ }
1933
+ ],
1934
+ "optOut": [
1935
+ {
1936
+ "waitForThenClick": "#sd-cmp .sd-cmp-1pO44"
1937
+ }
1938
+ ],
1939
+ "test": [
1940
+ {
1941
+ "eval": "document.cookie.includes('euconsent-v2')"
1942
+ }
1943
+ ]
1944
+ },
1354
1945
  {
1355
1946
  "name": "snigel",
1356
1947
  "detectCmp": [
@@ -1416,6 +2007,39 @@
1416
2007
  }
1417
2008
  ]
1418
2009
  },
2010
+ {
2011
+ "name": "tarteaucitron.js",
2012
+ "prehideSelectors": [
2013
+ "#tarteaucitronRoot"
2014
+ ],
2015
+ "detectCmp": [
2016
+ {
2017
+ "exists": "#tarteaucitronRoot"
2018
+ }
2019
+ ],
2020
+ "detectPopup": [
2021
+ {
2022
+ "visible": "#tarteaucitronRoot #tarteaucitronAlertSmall,#tarteaucitronRoot #tarteaucitronAlertBig",
2023
+ "check": "any"
2024
+ }
2025
+ ],
2026
+ "optIn": [
2027
+ {
2028
+ "eval": "tarteaucitron.userInterface.respondAll(true) || true"
2029
+ }
2030
+ ],
2031
+ "optOut": [
2032
+ {
2033
+ "eval": "tarteaucitron.userInterface.respondAll(false) || true"
2034
+ }
2035
+ ],
2036
+ "test": [
2037
+ {
2038
+ "eval": "document.cookie.match(/tarteaucitron=[^;]*/)[0].includes('false')",
2039
+ "comment": "sometimes there are required categories, so we check that at least something is false"
2040
+ }
2041
+ ]
2042
+ },
1419
2043
  {
1420
2044
  "name": "Tealium",
1421
2045
  "prehideSelectors": [
@@ -1435,13 +2059,6 @@
1435
2059
  }
1436
2060
  ],
1437
2061
  "optOut": [
1438
- {
1439
- "hide": [
1440
- "#__tealiumGDPRecModal",
1441
- "#__tealiumGDPRcpPrefs",
1442
- "#consent-layer"
1443
- ]
1444
- },
1445
2062
  {
1446
2063
  "waitForThenClick": "#cm-acceptNone,.js-accept-essential-cookies",
1447
2064
  "timeout": 1000
@@ -1466,6 +2083,66 @@
1466
2083
  }
1467
2084
  ]
1468
2085
  },
2086
+ {
2087
+ "name": "Termly",
2088
+ "prehideSelectors": [
2089
+ "#termly-code-snippet-support"
2090
+ ],
2091
+ "detectCmp": [
2092
+ {
2093
+ "exists": "#termly-code-snippet-support"
2094
+ }
2095
+ ],
2096
+ "detectPopup": [
2097
+ {
2098
+ "visible": "#termly-code-snippet-support div"
2099
+ }
2100
+ ],
2101
+ "optIn": [
2102
+ {
2103
+ "waitForThenClick": "[data-tid=\"banner-accept\"]"
2104
+ }
2105
+ ],
2106
+ "optOut": [
2107
+ {
2108
+ "if": {
2109
+ "exists": "[data-tid=\"banner-decline\"]"
2110
+ },
2111
+ "then": [
2112
+ {
2113
+ "click": "[data-tid=\"banner-decline\"]"
2114
+ }
2115
+ ],
2116
+ "else": [
2117
+ {
2118
+ "click": ".t-preference-button"
2119
+ },
2120
+ {
2121
+ "wait": 500
2122
+ },
2123
+ {
2124
+ "if": {
2125
+ "exists": ".t-declineAllButton"
2126
+ },
2127
+ "then": [
2128
+ {
2129
+ "click": ".t-declineAllButton"
2130
+ }
2131
+ ],
2132
+ "else": [
2133
+ {
2134
+ "waitForThenClick": ".t-preference-modal input[type=checkbox][checked]:not([disabled])",
2135
+ "all": true
2136
+ },
2137
+ {
2138
+ "waitForThenClick": ".t-saveButton"
2139
+ }
2140
+ ]
2141
+ }
2142
+ ]
2143
+ }
2144
+ ]
2145
+ },
1469
2146
  {
1470
2147
  "name": "Test page CMP",
1471
2148
  "prehideSelectors": [
@@ -1482,6 +2159,9 @@
1482
2159
  }
1483
2160
  ],
1484
2161
  "optIn": [
2162
+ {
2163
+ "waitFor": "#accept-all"
2164
+ },
1485
2165
  {
1486
2166
  "click": "#accept-all"
1487
2167
  }
@@ -1553,7 +2233,40 @@
1553
2233
  ]
1554
2234
  },
1555
2235
  {
1556
- "name": "usercentrics-1",
2236
+ "name": "UK Cookie Consent",
2237
+ "prehideSelectors": [
2238
+ "#catapult-cookie-bar"
2239
+ ],
2240
+ "detectCmp": [
2241
+ {
2242
+ "exists": "#catapult-cookie-bar"
2243
+ }
2244
+ ],
2245
+ "detectPopup": [
2246
+ {
2247
+ "exists": ".has-cookie-bar #catapult-cookie-bar"
2248
+ }
2249
+ ],
2250
+ "optIn": [
2251
+ {
2252
+ "click": "#catapultCookie"
2253
+ }
2254
+ ],
2255
+ "optOut": [
2256
+ {
2257
+ "hide": [
2258
+ "#catapult-cookie-bar"
2259
+ ]
2260
+ }
2261
+ ],
2262
+ "test": [
2263
+ {
2264
+ "eval": "!document.cookie.includes('catAccCookies')"
2265
+ }
2266
+ ]
2267
+ },
2268
+ {
2269
+ "name": "usercentrics-api",
1557
2270
  "detectCmp": [
1558
2271
  {
1559
2272
  "exists": "#usercentrics-root"
@@ -1561,7 +2274,7 @@
1561
2274
  ],
1562
2275
  "detectPopup": [
1563
2276
  {
1564
- "eval": "!!document.querySelector('#usercentrics-root').shadowRoot.querySelector('#uc-center-container')"
2277
+ "eval": "typeof UC_UI === 'object'"
1565
2278
  }
1566
2279
  ],
1567
2280
  "optIn": [
@@ -1589,6 +2302,34 @@
1589
2302
  }
1590
2303
  ]
1591
2304
  },
2305
+ {
2306
+ "name": "usercentrics-button",
2307
+ "detectCmp": [
2308
+ {
2309
+ "exists": "#usercentrics-button"
2310
+ }
2311
+ ],
2312
+ "detectPopup": [
2313
+ {
2314
+ "visible": "#usercentrics-button #uc-btn-accept-banner"
2315
+ }
2316
+ ],
2317
+ "optIn": [
2318
+ {
2319
+ "click": "#usercentrics-button #uc-btn-accept-banner"
2320
+ }
2321
+ ],
2322
+ "optOut": [
2323
+ {
2324
+ "click": "#usercentrics-button #uc-btn-deny-banner"
2325
+ }
2326
+ ],
2327
+ "test": [
2328
+ {
2329
+ "eval": "JSON.parse(localStorage.getItem('usercentrics')).consents.every(c => c.isEssential || !c.consentStatus)"
2330
+ }
2331
+ ]
2332
+ },
1592
2333
  {
1593
2334
  "name": "uswitch.com",
1594
2335
  "prehideSelectors": [
@@ -1617,6 +2358,9 @@
1617
2358
  },
1618
2359
  {
1619
2360
  "name": "vodafone.de",
2361
+ "runContext": {
2362
+ "url": "https://www.vodafone.de/"
2363
+ },
1620
2364
  "prehideSelectors": [
1621
2365
  ".dip-consent,.dip-consent-container"
1622
2366
  ],
@@ -1632,15 +2376,12 @@
1632
2376
  ],
1633
2377
  "optOut": [
1634
2378
  {
1635
- "click": ".dip-consent-btn.white-btn"
1636
- },
1637
- {
1638
- "eval": "Array.from(document.querySelectorAll('.dip-consent-btn.red-btn')).filter(e => e.innerText === 'Auswahl bestätigen')[0].click() || true"
2379
+ "click": ".dip-consent-btn[tabindex=\"2\"]"
1639
2380
  }
1640
2381
  ],
1641
2382
  "optIn": [
1642
2383
  {
1643
- "click": ".dip-consent-btn.red-btn"
2384
+ "click": ".dip-consent-btn[tabindex=\"1\"]"
1644
2385
  }
1645
2386
  ]
1646
2387
  },
@@ -1709,6 +2450,38 @@
1709
2450
  }
1710
2451
  ]
1711
2452
  },
2453
+ {
2454
+ "name": "WP Cookie Notice for GDPR",
2455
+ "comment": "https://wordpress.org/plugins/gdpr-cookie-consent/",
2456
+ "prehideSelectors": [
2457
+ "#gdpr-cookie-consent-bar"
2458
+ ],
2459
+ "detectCmp": [
2460
+ {
2461
+ "exists": "#gdpr-cookie-consent-bar"
2462
+ }
2463
+ ],
2464
+ "detectPopup": [
2465
+ {
2466
+ "visible": "#gdpr-cookie-consent-bar"
2467
+ }
2468
+ ],
2469
+ "optIn": [
2470
+ {
2471
+ "waitForThenClick": "#gdpr-cookie-consent-bar #cookie_action_accept"
2472
+ }
2473
+ ],
2474
+ "optOut": [
2475
+ {
2476
+ "waitForThenClick": "#gdpr-cookie-consent-bar #cookie_action_reject"
2477
+ }
2478
+ ],
2479
+ "test": [
2480
+ {
2481
+ "eval": "document.cookie.includes('wpl_viewed_cookie=no')"
2482
+ }
2483
+ ]
2484
+ },
1712
2485
  {
1713
2486
  "name": "xing.com",
1714
2487
  "detectCmp": [