@duckduckgo/autoconsent 16.55.0 → 16.57.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 (151) hide show
  1. package/CHANGELOG.md +90 -0
  2. package/dist/addon-firefox/compact-rules.json +1 -1
  3. package/dist/addon-firefox/manifest.json +1 -1
  4. package/dist/addon-firefox/rule-index.json +1 -1
  5. package/dist/addon-firefox/rules.json +1 -1
  6. package/dist/addon-mv3/compact-rules.json +1 -1
  7. package/dist/addon-mv3/manifest.json +1 -1
  8. package/dist/addon-mv3/rule-index.json +1 -1
  9. package/dist/addon-mv3/rules.json +1 -1
  10. package/dist/autoconsent.standalone.js +1 -1
  11. package/package.json +1 -1
  12. package/rules/autoconsent/abebooks.json +13 -0
  13. package/rules/autoconsent/accept-cookie-box.json +25 -0
  14. package/rules/autoconsent/amasty-gdpr.json +63 -0
  15. package/rules/autoconsent/arena-ai.json +24 -0
  16. package/rules/autoconsent/arto.json +30 -0
  17. package/rules/autoconsent/aspnet-cookieinfo.json +30 -0
  18. package/rules/autoconsent/automattic-cmp-optout.json +4 -4
  19. package/rules/autoconsent/avacy.json +15 -0
  20. package/rules/autoconsent/breuninger.json +33 -0
  21. package/rules/autoconsent/bringatrailer.json +34 -0
  22. package/rules/autoconsent/bundesarchiv-cookiebanner.json +21 -0
  23. package/rules/autoconsent/canva.json +23 -0
  24. package/rules/autoconsent/chefcookie.json +42 -0
  25. package/rules/autoconsent/ciaopeople-it.json +6 -15
  26. package/rules/autoconsent/close-cookie-notice-snippet.json +9 -0
  27. package/rules/autoconsent/cookie-bar-frame.json +9 -0
  28. package/rules/autoconsent/cookieman.json +14 -0
  29. package/rules/autoconsent/cookiepermission-cp-overlay.json +14 -0
  30. package/rules/autoconsent/cookieyes-legacy.json +24 -0
  31. package/rules/autoconsent/dfactory-cookie-notice.json +16 -0
  32. package/rules/autoconsent/diag.pl.json +35 -0
  33. package/rules/autoconsent/django-gdpr-cookie-consent.json +23 -0
  34. package/rules/autoconsent/elektro-material-ch.json +13 -0
  35. package/rules/autoconsent/eventfrog.json +39 -0
  36. package/rules/autoconsent/first-visit-notice.json +25 -0
  37. package/rules/autoconsent/fixpart.json +30 -0
  38. package/rules/autoconsent/ford-dse.json +12 -0
  39. package/rules/autoconsent/forsakringskassan.se.json +33 -0
  40. package/rules/autoconsent/gear4music.json +42 -0
  41. package/rules/autoconsent/groupama.fr.json +34 -0
  42. package/rules/autoconsent/gsb-cookie-banner.json +9 -0
  43. package/rules/autoconsent/handelsbanken.json +30 -0
  44. package/rules/autoconsent/ilovepdf.json +33 -0
  45. package/rules/autoconsent/jcookie.json +25 -0
  46. package/rules/autoconsent/kamsoft-cookiesmanager.json +47 -0
  47. package/rules/autoconsent/kolibri-cookie-widget.json +12 -0
  48. package/rules/autoconsent/lab-network-consent.json +30 -0
  49. package/rules/autoconsent/latrobe-edu-au.json +22 -0
  50. package/rules/autoconsent/lawwwing.json +35 -0
  51. package/rules/autoconsent/legally-ok.json +30 -0
  52. package/rules/autoconsent/liferay-cookies-banner.json +34 -0
  53. package/rules/autoconsent/midway-usa.json +4 -4
  54. package/rules/autoconsent/modelsociety.json +26 -0
  55. package/rules/autoconsent/musti.json +32 -0
  56. package/rules/autoconsent/openai.json +3 -3
  57. package/rules/autoconsent/piwik-pro.json +40 -21
  58. package/rules/autoconsent/popupsmart-cookie-notice.json +27 -0
  59. package/rules/autoconsent/privacylab-elmo.json +33 -0
  60. package/rules/autoconsent/profiler-dk.json +29 -0
  61. package/rules/autoconsent/r42-consent-iframe.json +38 -0
  62. package/rules/autoconsent/racv.json +23 -0
  63. package/rules/autoconsent/radboud-cookie-overlay.json +30 -0
  64. package/rules/autoconsent/rcs-cpmt.json +28 -0
  65. package/rules/autoconsent/seg-social.json +33 -0
  66. package/rules/autoconsent/silktide.json +16 -0
  67. package/rules/autoconsent/sitevision-cookie-consent.json +48 -0
  68. package/rules/autoconsent/sitevision-iw-cookie.json +21 -0
  69. package/rules/autoconsent/sitevision.json +14 -0
  70. package/rules/autoconsent/sl-se.json +33 -0
  71. package/rules/autoconsent/sogei-cookiebar.json +47 -0
  72. package/rules/autoconsent/spaggiari-pvw.json +31 -0
  73. package/rules/autoconsent/sportsmans.com.json +10 -0
  74. package/rules/autoconsent/stellantis-psa.json +50 -0
  75. package/rules/autoconsent/tagconcierge.json +21 -2
  76. package/rules/autoconsent/txxx-network.json +31 -0
  77. package/rules/autoconsent/u-cookie-consent.json +12 -6
  78. package/rules/autoconsent/warning-cookie-notice.json +9 -0
  79. package/rules/autoconsent/webtoffee-cookie-consent.json +45 -0
  80. package/rules/autoconsent/yle-consent-sdk.json +30 -0
  81. package/rules/compact-rules.json +1 -1
  82. package/rules/rule-index.json +1 -1
  83. package/rules/rules.json +1 -1
  84. package/tests/abebooks.spec.ts +10 -0
  85. package/tests/accept-cookie-box.spec.ts +9 -0
  86. package/tests/amasty-gdpr.spec.ts +11 -0
  87. package/tests/arena-ai.spec.ts +5 -0
  88. package/tests/arto.spec.ts +3 -0
  89. package/tests/aspnet-cookieinfo.spec.ts +3 -0
  90. package/tests/automattic-cmp-optout.spec.ts +1 -1
  91. package/tests/avacy.spec.ts +7 -0
  92. package/tests/breuninger.spec.ts +3 -0
  93. package/tests/bringatrailer.spec.ts +5 -0
  94. package/tests/bundesarchiv-cookiebanner.spec.ts +7 -0
  95. package/tests/canva.spec.ts +5 -0
  96. package/tests/chefcookie.spec.ts +9 -0
  97. package/tests/ciaopeople-it.spec.ts +7 -1
  98. package/tests/close-cookie-notice-snippet.spec.ts +13 -0
  99. package/tests/cookie-bar-frame.spec.ts +7 -0
  100. package/tests/cookieman.spec.ts +10 -0
  101. package/tests/cookiepermission-cp-overlay.spec.ts +3 -0
  102. package/tests/cookieyes-legacy.spec.ts +11 -0
  103. package/tests/dfactory-cookie-notice.spec.ts +7 -0
  104. package/tests/diag.pl.spec.ts +3 -0
  105. package/tests/django-gdpr-cookie-consent.spec.ts +14 -0
  106. package/tests/elektro-material-ch.spec.ts +3 -0
  107. package/tests/eventfrog.spec.ts +6 -0
  108. package/tests/first-visit-notice.spec.ts +7 -0
  109. package/tests/fixpart.spec.ts +6 -0
  110. package/tests/ford-dse.spec.ts +3 -0
  111. package/tests/forsakringskassan.se.spec.ts +3 -0
  112. package/tests/gear4music.spec.ts +8 -0
  113. package/tests/groupama.fr.spec.ts +3 -0
  114. package/tests/gsb-cookie-banner.spec.ts +14 -0
  115. package/tests/handelsbanken.spec.ts +11 -0
  116. package/tests/ilovepdf.spec.ts +5 -0
  117. package/tests/jcookie.spec.ts +8 -0
  118. package/tests/kamsoft-cookiesmanager.spec.ts +8 -0
  119. package/tests/kolibri-cookie-widget.spec.ts +3 -0
  120. package/tests/lab-network-consent.spec.ts +3 -0
  121. package/tests/latrobe-edu-au.spec.ts +3 -0
  122. package/tests/lawwwing.spec.ts +8 -0
  123. package/tests/legally-ok.spec.ts +6 -0
  124. package/tests/liferay-cookies-banner.spec.ts +9 -0
  125. package/tests/modelsociety.spec.ts +6 -0
  126. package/tests/musti.spec.ts +3 -0
  127. package/tests/openai.spec.ts +3 -1
  128. package/tests/piwik-pro.spec.ts +6 -0
  129. package/tests/popupsmart-cookie-notice.spec.ts +9 -0
  130. package/tests/privacylab-elmo.spec.ts +9 -0
  131. package/tests/profiler-dk.spec.ts +3 -0
  132. package/tests/r42-consent-iframe.spec.ts +18 -0
  133. package/tests/racv.spec.ts +3 -0
  134. package/tests/radboud-cookie-overlay.spec.ts +10 -0
  135. package/tests/rcs-cpmt.spec.ts +15 -0
  136. package/tests/seg-social.spec.ts +6 -0
  137. package/tests/silktide.spec.ts +9 -0
  138. package/tests/sitevision-cookie-consent.spec.ts +18 -0
  139. package/tests/sitevision-iw-cookie.spec.ts +10 -0
  140. package/tests/sitevision.spec.ts +9 -0
  141. package/tests/sl-se.spec.ts +3 -0
  142. package/tests/sogei-cookiebar.spec.ts +15 -0
  143. package/tests/spaggiari-pvw.spec.ts +14 -0
  144. package/tests/sportsmans.com.spec.ts +7 -0
  145. package/tests/stellantis-psa.spec.ts +9 -0
  146. package/tests/tagconcierge.spec.ts +4 -3
  147. package/tests/txxx-network.spec.ts +10 -0
  148. package/tests/u-cookie-consent.spec.ts +3 -0
  149. package/tests/warning-cookie-notice.spec.ts +9 -0
  150. package/tests/webtoffee-cookie-consent.spec.ts +20 -0
  151. package/tests/yle-consent-sdk.spec.ts +3 -0
@@ -1,40 +1,40 @@
1
1
  {
2
2
  "name": "piwik-pro",
3
3
  "vendorUrl": "https://piwik.pro/consent-manager/",
4
- "prehideSelectors": ["#PiwikPROConsentForm-container", ".PiwikPROConsentForm-overlay"],
4
+ "prehideSelectors": ["#PiwikPROConsentForm-container", ".PiwikPROConsentForm-overlay", "#ppms_cm_popup_overlay"],
5
5
  "detectCmp": [
6
6
  {
7
- "exists": "#PiwikPROConsentForm-container"
7
+ "exists": "#PiwikPROConsentForm-container, #ppms_cm_popup_overlay #ppms_cm_reject-all, #ppms_cm_popup_overlay #ppms_cm_disagree"
8
8
  }
9
9
  ],
10
10
  "detectPopup": [
11
11
  {
12
- "visible": "#PiwikPROConsentForm-container"
12
+ "visible": "#PiwikPROConsentForm-container, #ppms_cm_popup_wrapper",
13
+ "check": "any"
13
14
  }
14
15
  ],
15
16
  "optIn": [
16
17
  {
17
- "waitForThenClick": "#PiwikPROConsentForm-agree-to-all, #PiwikPROConsentForm-agree"
18
+ "waitForThenClick": "#PiwikPROConsentForm-agree-to-all, #PiwikPROConsentForm-agree, #ppms_cm_agree-to-all"
18
19
  }
19
20
  ],
20
21
  "optOut": [
21
22
  {
22
23
  "if": {
23
- "visible": "#PiwikPROConsentForm-reject-all"
24
+ "exists": "#ppms_cm_reject-all, #ppms_cm_disagree"
24
25
  },
25
26
  "then": [
26
27
  {
27
- "click": "#PiwikPROConsentForm-reject-all"
28
+ "waitForThenClick": "#ppms_cm_reject-all, #ppms_cm_disagree"
29
+ },
30
+ {
31
+ "comment": "some sites show a confirmation note after saving",
32
+ "waitForThenClick": "#ppms_consent_form_success_note_button",
33
+ "timeout": 1000,
34
+ "optional": true
28
35
  }
29
36
  ],
30
37
  "else": [
31
- {
32
- "waitForThenClick": "#PiwikPROConsentForm-toggle-details"
33
- },
34
- {
35
- "waitForVisible": "#PiwikPROConsentForm-consents",
36
- "timeout": 2000
37
- },
38
38
  {
39
39
  "if": {
40
40
  "visible": "#PiwikPROConsentForm-reject-all"
@@ -46,24 +46,43 @@
46
46
  ],
47
47
  "else": [
48
48
  {
49
- "comment": "untick any pre-selected optional purposes",
50
- "click": "button.PiwikPROConsentForm-consent-checkbox[aria-checked=true]:not([aria-required=true]), input.PiwikPROConsentForm-consent-checkbox:checked:not(:disabled)",
51
- "all": true,
52
- "optional": true
49
+ "waitForThenClick": "#PiwikPROConsentForm-toggle-details"
50
+ },
51
+ {
52
+ "waitForVisible": "#PiwikPROConsentForm-consents",
53
+ "timeout": 2000
53
54
  },
54
55
  {
55
56
  "if": {
56
- "visible": "#PiwikPROConsentForm-save"
57
+ "visible": "#PiwikPROConsentForm-reject-all"
57
58
  },
58
59
  "then": [
59
60
  {
60
- "click": "#PiwikPROConsentForm-save"
61
+ "click": "#PiwikPROConsentForm-reject-all"
61
62
  }
62
63
  ],
63
64
  "else": [
64
65
  {
65
- "comment": "the details toggle turns into the save button once expanded",
66
- "click": "#PiwikPROConsentForm-toggle-details"
66
+ "comment": "untick any pre-selected optional purposes",
67
+ "click": "button.PiwikPROConsentForm-consent-checkbox[aria-checked=true]:not([aria-required=true]), input.PiwikPROConsentForm-consent-checkbox:checked:not(:disabled)",
68
+ "all": true,
69
+ "optional": true
70
+ },
71
+ {
72
+ "if": {
73
+ "visible": "#PiwikPROConsentForm-save"
74
+ },
75
+ "then": [
76
+ {
77
+ "click": "#PiwikPROConsentForm-save"
78
+ }
79
+ ],
80
+ "else": [
81
+ {
82
+ "comment": "the details toggle turns into the save button once expanded",
83
+ "click": "#PiwikPROConsentForm-toggle-details"
84
+ }
85
+ ]
67
86
  }
68
87
  ]
69
88
  }
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "popupsmart-cookie-notice",
3
+ "vendorUrl": "https://popupsmart.com/cookie-consent",
4
+ "comment": "notice with a single configurable button that can be labelled as accept, so it is hidden instead of clicked",
5
+ "cosmetic": true,
6
+ "prehideSelectors": ["#spopupCont"],
7
+ "detectCmp": [
8
+ {
9
+ "exists": "#spopupCont #poper #cookie-btn.spopupbtnok"
10
+ }
11
+ ],
12
+ "detectPopup": [
13
+ {
14
+ "visible": "#spopupCont #poper"
15
+ }
16
+ ],
17
+ "optIn": [
18
+ {
19
+ "waitForThenClick": "#spopupCont #cookie-btn"
20
+ }
21
+ ],
22
+ "optOut": [
23
+ {
24
+ "hide": "#spopupCont"
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "privacylab-elmo",
3
+ "vendorUrl": "https://www.privacylab.it/",
4
+ "prehideSelectors": [".c-cookie-banner-main.c-consent-window"],
5
+ "detectCmp": [
6
+ {
7
+ "exists": ".c-cookie-banner .c-cookie-banner-main.c-consent-window"
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": ".c-cookie-banner-main.c-consent-window[style*=\"visibility: visible\"]"
13
+ }
14
+ ],
15
+ "optIn": [
16
+ {
17
+ "waitForThenClick": ".c-cookie-banner-main #banner-accept-btn-1"
18
+ }
19
+ ],
20
+ "optOut": [
21
+ {
22
+ "waitForThenClick": ".c-cookie-banner-main .c-cookie-banner-header-refuse-btn"
23
+ }
24
+ ],
25
+ "test": [
26
+ {
27
+ "wait": 500
28
+ },
29
+ {
30
+ "cookieContains": "elmo_vc={\"purposes\":[\"necessary\"]"
31
+ }
32
+ ]
33
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "profiler-dk",
3
+ "vendorUrl": "https://profiler.dk/",
4
+ "cosmetic": true,
5
+ "runContext": {
6
+ "urlPattern": "^https?://(www\\.)?(profiler|debtor)\\.dk/"
7
+ },
8
+ "prehideSelectors": ["div.cookie:has(a.cookie-okay-button)"],
9
+ "detectCmp": [
10
+ {
11
+ "exists": "div.cookie a.cookie-okay-button"
12
+ }
13
+ ],
14
+ "detectPopup": [
15
+ {
16
+ "visible": "div.cookie:has(a.cookie-okay-button)"
17
+ }
18
+ ],
19
+ "optIn": [
20
+ {
21
+ "waitForThenClick": "div.cookie a.cookie-okay-button"
22
+ }
23
+ ],
24
+ "optOut": [
25
+ {
26
+ "hide": "div.cookie:has(a.cookie-okay-button)"
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "r42-consent-iframe",
3
+ "cosmetic": false,
4
+ "runContext": {
5
+ "main": true,
6
+ "frame": false
7
+ },
8
+ "prehideSelectors": [],
9
+ "detectCmp": [
10
+ {
11
+ "exists": ["#consent_iframe", ".stsp__cookie-container #declineButton"]
12
+ }
13
+ ],
14
+ "detectPopup": [
15
+ {
16
+ "visible": "#consent_iframe"
17
+ },
18
+ {
19
+ "visible": ["#consent_iframe", ".stsp__cookie-container #declineButton"]
20
+ }
21
+ ],
22
+ "optIn": [
23
+ {
24
+ "waitForThenClick": ["#consent_iframe", ".stsp__cookie-container #st_popup_acceptButton"]
25
+ }
26
+ ],
27
+ "optOut": [
28
+ {
29
+ "waitForThenClick": ["#consent_iframe", ".stsp__cookie-container #declineButton"],
30
+ "comment": "Alleen functioneel / Alleen noodzakelijk"
31
+ }
32
+ ],
33
+ "test": [
34
+ {
35
+ "cookieContains": "_svs=%7B%22v%22%3A1%2C%22c%22%3A%7B%221%22%3Atrue%2C%222%22%3Afalse%2C%223%22%3Afalse"
36
+ }
37
+ ]
38
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "racv",
3
+ "vendorUrl": "https://www.racv.com.au/",
4
+ "comment": "Notice-only banner with a single Accept button; a site variant adds a body.gdpr-active backdrop and scroll lock.",
5
+ "cosmetic": true,
6
+ "minimumRuleStepVersion": 3,
7
+ "runContext": {
8
+ "main": true,
9
+ "frame": false,
10
+ "urlPattern": "^https?://(www\\.)?racv\\.com\\.au/"
11
+ },
12
+ "prehideSelectors": [".gdpr[data-gdprservice]"],
13
+ "detectCmp": [{ "exists": ".gdpr[data-gdprservice]:not(.hide)" }],
14
+ "detectPopup": [{ "visible": ".gdpr[data-gdprservice]:not(.hide)" }],
15
+ "optIn": [{ "waitForThenClick": ".gdpr[data-gdprservice] .gdpr--button button" }],
16
+ "optOut": [
17
+ { "hide": ".gdpr[data-gdprservice]" },
18
+ {
19
+ "stylesheet": "body.gdpr-active { overflow: auto !important; } body.gdpr-active::before { display: none !important; }",
20
+ "stylesheetId": "racv-gdpr-backdrop"
21
+ }
22
+ ]
23
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "radboud-cookie-overlay",
3
+ "vendorUrl": "https://www.radboudumc.nl/",
4
+ "prehideSelectors": [],
5
+ "detectCmp": [
6
+ {
7
+ "exists": "[data-component=RADCookieOverlay] .CookieOverlay"
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": "[data-component=RADCookieOverlay] .CookieOverlay_Buttons"
13
+ }
14
+ ],
15
+ "optIn": [
16
+ {
17
+ "waitForThenClick": "[data-component=RADCookieOverlay] .CookieOverlay_Buttons > .Btn-Accent"
18
+ }
19
+ ],
20
+ "optOut": [
21
+ {
22
+ "waitForThenClick": "[data-component=RADCookieOverlay] .CookieOverlay_ButtonGroup > button:nth-child(2)"
23
+ }
24
+ ],
25
+ "test": [
26
+ {
27
+ "cookieContains": "cookie=False"
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "rcs-cpmt",
3
+ "vendorUrl": "https://www.rcsmediagroup.it/",
4
+ "prehideSelectors": ["#_cpmt-iframe"],
5
+ "detectCmp": [
6
+ {
7
+ "exists": ["#_cpmt-iframe", "#_cpmt"]
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": "#_cpmt-iframe"
13
+ },
14
+ {
15
+ "visible": ["#_cpmt-iframe", "#_cpmt"]
16
+ }
17
+ ],
18
+ "optIn": [
19
+ {
20
+ "waitForThenClick": ["#_cpmt-iframe", "#_cpmt-accept"]
21
+ }
22
+ ],
23
+ "optOut": [
24
+ {
25
+ "waitForThenClick": ["#_cpmt-iframe", "#_cpmt-reject"]
26
+ }
27
+ ]
28
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "seg-social",
3
+ "vendorUrl": "https://www.seg-social.es/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://([a-z0-9-]+\\.)*seg-social\\.(gob\\.)?es/"
6
+ },
7
+ "prehideSelectors": ["#cookieContainer #cookies"],
8
+ "detectCmp": [
9
+ {
10
+ "exists": "#cookieContainer #cookies .cookies_inner button[onclick*='Rechazar']"
11
+ }
12
+ ],
13
+ "detectPopup": [
14
+ {
15
+ "visible": "#cookieContainer #cookies .cookies_inner button[onclick*='Rechazar']"
16
+ }
17
+ ],
18
+ "optIn": [
19
+ {
20
+ "waitForThenClick": "#cookieContainer #cookies .cookies_inner button[onclick*='Aceptar']"
21
+ }
22
+ ],
23
+ "optOut": [
24
+ {
25
+ "waitForThenClick": "#cookieContainer #cookies .cookies_inner button[onclick*='Rechazar']"
26
+ }
27
+ ],
28
+ "test": [
29
+ {
30
+ "cookieContains": "%7E%7Cparcial"
31
+ }
32
+ ]
33
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "silktide",
3
+ "vendorUrl": "https://silktide.com/consent-manager/",
4
+ "prehideSelectors": ["#silktide-banner", "#silktide-backdrop"],
5
+ "detectCmp": [{ "exists": "#silktide-banner" }],
6
+ "detectPopup": [{ "visible": "#silktide-banner" }],
7
+ "optIn": [{ "waitForThenClick": "#silktide-banner .accept-all" }],
8
+ "optOut": [
9
+ {
10
+ "if": { "exists": "#silktide-banner .reject-all" },
11
+ "then": [{ "click": "#silktide-banner .reject-all" }],
12
+ "else": [{ "click": "#silktide-banner .preferences" }, { "waitForThenClick": "#silktide-modal .preferences-reject-all" }]
13
+ }
14
+ ],
15
+ "test": [{ "waitForVisible": "#silktide-banner", "check": "none", "timeout": 2000 }]
16
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "sitevision-cookie-consent",
3
+ "vendorUrl": "https://www.sitevision.se/",
4
+ "prehideSelectors": [".sv-cookie-consent-modal"],
5
+ "detectCmp": [
6
+ {
7
+ "exists": ".sv-cookie-consent-modal"
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": ".sv-cookie-consent-modal"
13
+ }
14
+ ],
15
+ "optIn": [
16
+ {
17
+ "waitForThenClick": ".sv-cookie-consent-modal form:has(input[name=analytics]) button[type=submit]"
18
+ }
19
+ ],
20
+ "optOut": [
21
+ {
22
+ "if": {
23
+ "exists": ".sv-cookie-consent-modal form:has(input[name=necessary]):not(:has(input[name=analytics])) button[type=submit]"
24
+ },
25
+ "then": [
26
+ {
27
+ "click": ".sv-cookie-consent-modal form:has(input[name=necessary]):not(:has(input[name=analytics])) button[type=submit]"
28
+ }
29
+ ],
30
+ "else": [
31
+ {
32
+ "click": ".sv-cookie-consent-modal .env-dialog__controls > button[type=button]"
33
+ },
34
+ {
35
+ "waitForVisible": ".sv-cookie-consent-modal button[type=submit][form]"
36
+ },
37
+ {
38
+ "click": ".sv-cookie-consent-modal form input[type=checkbox]:checked:not(:disabled)",
39
+ "all": true,
40
+ "optional": true
41
+ },
42
+ {
43
+ "click": ".sv-cookie-consent-modal button[type=submit][form]"
44
+ }
45
+ ]
46
+ }
47
+ ]
48
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "sitevision-iw-cookie",
3
+ "vendorUrl": "https://www.sitevision.se/",
4
+ "comment": "No self-test: any consent choice reloads the page. Opt-out stores cookie_consent=necessary.",
5
+ "prehideSelectors": [".sv-iw-cookie #cookie-banner"],
6
+ "detectCmp": [{ "exists": ".sv-iw-cookie #cookie-banner" }],
7
+ "detectPopup": [{ "visible": ".sv-iw-cookie #cookie-banner" }],
8
+ "optIn": [{ "waitForThenClick": ".sv-iw-cookie #cookie-banner button:last-of-type" }],
9
+ "optOut": [
10
+ {
11
+ "if": { "exists": ".sv-iw-cookie #cookie-banner button:nth-of-type(3)" },
12
+ "then": [{ "click": ".sv-iw-cookie #cookie-banner button:nth-of-type(2)" }],
13
+ "else": [
14
+ { "click": ".sv-iw-cookie #cookie-banner button:first-of-type" },
15
+ { "waitForVisible": ".sv-iw-cookie #cookie-modal" },
16
+ { "click": ".sv-iw-cookie #cookie-modal input[type=checkbox]:checked:not(:disabled)", "all": true, "optional": true },
17
+ { "click": ".sv-iw-cookie #cookie-modal > div > button:first-of-type" }
18
+ ]
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "sitevision",
3
+ "vendorUrl": "https://www.sitevision.se/",
4
+ "prehideSelectors": [".sv-cookie-consent-banner"],
5
+ "detectCmp": [{ "exists": ".sv-cookie-consent-banner" }],
6
+ "detectPopup": [{ "visible": ".sv-cookie-consent-banner" }],
7
+ "optIn": [{ "waitForThenClick": ".sv-cookie-consent-banner form:has(input[name=\"analytics\"]) button[type=\"submit\"]" }],
8
+ "optOut": [
9
+ {
10
+ "waitForThenClick": ".sv-cookie-consent-banner form:has(input[name=\"necessary\"]):not(:has(input[name=\"analytics\"])) button[type=\"submit\"]"
11
+ }
12
+ ],
13
+ "test": [{ "waitForVisible": ".sv-cookie-consent-banner", "check": "none", "timeout": 2000 }]
14
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "name": "sl-se",
3
+ "vendorUrl": "https://sl.se/",
4
+ "runContext": {
5
+ "urlPattern": "^https?://(www\\.)?sl\\.se/"
6
+ },
7
+ "prehideSelectors": ["[data-test-id=cookie-consent-banner]"],
8
+ "detectCmp": [
9
+ {
10
+ "exists": "[data-test-id=cookie-consent-banner] #accept-necessary-cookies-button"
11
+ }
12
+ ],
13
+ "detectPopup": [
14
+ {
15
+ "visible": "[data-test-id=cookie-consent-banner] #accept-necessary-cookies-button"
16
+ }
17
+ ],
18
+ "optIn": [
19
+ {
20
+ "waitForThenClick": "[data-test-id=cookie-consent-banner] #accept-all-cookies-button"
21
+ }
22
+ ],
23
+ "optOut": [
24
+ {
25
+ "waitForThenClick": "[data-test-id=cookie-consent-banner] #accept-necessary-cookies-button"
26
+ }
27
+ ],
28
+ "test": [
29
+ {
30
+ "cookieContains": "cookie-accept-necessary=accepted"
31
+ }
32
+ ]
33
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "sogei-cookiebar",
3
+ "cosmetic": false,
4
+ "prehideSelectors": ["#cookiebar-tra"],
5
+ "detectCmp": [
6
+ {
7
+ "exists": "#cookiebar-tra #cb-RejectAll, #cookiebar #cb-RejectAll"
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": "#cookiebar-tra #cb-RejectAll, #cookiebar #cb-RejectAll"
13
+ }
14
+ ],
15
+ "optIn": [
16
+ {
17
+ "if": {
18
+ "exists": "#cb-AcceptAll"
19
+ },
20
+ "then": [
21
+ {
22
+ "waitForThenClick": "#cb-AcceptAll"
23
+ }
24
+ ],
25
+ "else": [
26
+ {
27
+ "click": "#cs input[type=checkbox]:not(:checked):not(:disabled)",
28
+ "all": true,
29
+ "optional": true
30
+ },
31
+ {
32
+ "waitForThenClick": "#cb-AcceptSelected"
33
+ }
34
+ ]
35
+ }
36
+ ],
37
+ "optOut": [
38
+ {
39
+ "waitForThenClick": "#cb-RejectAll"
40
+ }
41
+ ],
42
+ "test": [
43
+ {
44
+ "cookieContains": "cookieConsent="
45
+ }
46
+ ]
47
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "spaggiari-pvw",
3
+ "vendorUrl": "https://www.spaggiari.eu/",
4
+ "cosmetic": false,
5
+ "runContext": {
6
+ "main": true,
7
+ "frame": false
8
+ },
9
+ "prehideSelectors": [".cookiebar:has(.cookiebar-ko)"],
10
+ "detectCmp": [
11
+ {
12
+ "exists": ".cookiebar .cookiebar-buttons .cookiebar-ko"
13
+ }
14
+ ],
15
+ "detectPopup": [
16
+ {
17
+ "visible": ".cookiebar .cookiebar-buttons .cookiebar-ko"
18
+ }
19
+ ],
20
+ "optIn": [
21
+ {
22
+ "waitForThenClick": ".cookiebar .cookiebar-buttons .cookiebar-ok"
23
+ }
24
+ ],
25
+ "optOut": [
26
+ {
27
+ "waitForThenClick": ".cookiebar .cookiebar-buttons .cookiebar-ko",
28
+ "comment": "Rifiuta tutti"
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "sportsmans.com",
3
+ "comment": "The site banner only offers Accept All; rejecting goes through the hidden DataGrail layer behind it. DataGrail only reloads the page after the rejection in some regions, so the banner is hidden and there is no self-test. Opt-out stores dg-category-marketing:0 in datagrail_consent_preferences_s.",
4
+ "runContext": { "urlPattern": "^https?://(www\\.)?sportsmans\\.com/" },
5
+ "prehideSelectors": ["#js-cookie-notification"],
6
+ "detectCmp": [{ "exists": "#js-cookie-notification" }, { "exists": [".dg-consent-banner", "button.dg-button.reject_all"] }],
7
+ "detectPopup": [{ "visible": "#js-cookie-notification", "check": "any" }],
8
+ "optIn": [{ "waitForThenClick": "#js-cookie-notification #consentBtn" }],
9
+ "optOut": [{ "waitForThenClick": [".dg-consent-banner", "button.dg-button.reject_all"] }, { "hide": "#js-cookie-notification" }]
10
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "stellantis-psa",
3
+ "vendorUrl": "https://www.stellantis.com/",
4
+ "prehideSelectors": ["#_psaihm_main_div", "#_psaihm_overlay"],
5
+ "detectCmp": [
6
+ {
7
+ "exists": "#_psaihm_main_div #_psaihm_id_accept_all_btn"
8
+ }
9
+ ],
10
+ "detectPopup": [
11
+ {
12
+ "visible": "#_psaihm_main_div #_psaihm_id_accept_all_btn"
13
+ }
14
+ ],
15
+ "optIn": [
16
+ {
17
+ "waitForThenClick": "#_psaihm_id_accept_all_btn"
18
+ }
19
+ ],
20
+ "optOut": [
21
+ {
22
+ "if": {
23
+ "exists": "#_psaihm_refuse_all"
24
+ },
25
+ "then": [
26
+ {
27
+ "waitForThenClick": "#_psaihm_refuse_all"
28
+ }
29
+ ],
30
+ "else": [
31
+ {
32
+ "waitForThenClick": "#_psaihm_continue_without_accepting"
33
+ }
34
+ ]
35
+ },
36
+ {
37
+ "waitForVisible": "#_psaihm_main_div",
38
+ "check": "none",
39
+ "timeout": 3000
40
+ }
41
+ ],
42
+ "test": [
43
+ {
44
+ "cookieContains": "_psac_gdpr_consent_given=1"
45
+ },
46
+ {
47
+ "cookieContains": "_psac_gdpr_consent_purposes=;"
48
+ }
49
+ ]
50
+ }