@slashgear/gdpr-cookie-scanner 3.7.0 → 3.8.1
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/.dockerignore +3 -0
- package/.gitattributes +1 -0
- package/.github/workflows/website.yml +80 -0
- package/CHANGELOG.md +33 -0
- package/CONTRIBUTING.md +32 -4
- package/dist/report/generator.d.ts.map +1 -1
- package/dist/report/generator.js +9 -4
- package/dist/report/generator.js.map +1 -1
- package/dist/report/html.js +12 -3
- package/dist/report/html.js.map +1 -1
- package/dist/scanner/consent-modal.d.ts.map +1 -1
- package/dist/scanner/consent-modal.js +17 -5
- package/dist/scanner/consent-modal.js.map +1 -1
- package/dist/scanner/index.d.ts.map +1 -1
- package/dist/scanner/index.js +12 -2
- package/dist/scanner/index.js.map +1 -1
- package/package.json +7 -3
- package/pnpm-workspace.yaml +3 -0
- package/scripts/build-showcase.mjs +113 -0
- package/src/report/generator.ts +10 -4
- package/src/report/html.ts +13 -3
- package/src/scanner/consent-modal.ts +16 -5
- package/src/scanner/index.ts +12 -2
- package/tests/analyzers/compliance.test.ts +49 -0
- package/website/Dockerfile +55 -0
- package/website/node_modules/.bin/oxfmt +21 -0
- package/website/node_modules/.bin/oxlint +21 -0
- package/website/node_modules/.bin/tsc +21 -0
- package/website/node_modules/.bin/tsserver +21 -0
- package/website/node_modules/.bin/tsx +21 -0
- package/website/package.json +29 -0
- package/{docs → website/public}/index.html +70 -20
- package/website/public/reports/www.20minutes.fr/after-accept.png +3 -0
- package/website/public/reports/www.20minutes.fr/after-reject.png +3 -0
- package/{docs/reports/www.leboncoin.fr/gdpr-report-leboncoin.fr-2026-02-22.html → website/public/reports/www.20minutes.fr/gdpr-report-20minutes.fr-2026-02-22.html} +194 -51
- package/website/public/reports/www.20minutes.fr/modal-initial.png +3 -0
- package/website/public/reports/www.arte.tv/after-accept.png +3 -0
- package/website/public/reports/www.arte.tv/after-reject.png +3 -0
- package/{docs → website/public}/reports/www.arte.tv/gdpr-report-arte.tv-2026-02-24.html +1 -0
- package/website/public/reports/www.arte.tv/modal-initial.png +3 -0
- package/website/public/reports/www.backmarket.fr/after-accept.png +3 -0
- package/website/public/reports/www.backmarket.fr/after-reject.png +3 -0
- package/website/public/reports/www.backmarket.fr/gdpr-report-backmarket.fr-2026-02-24.html +1530 -0
- package/website/public/reports/www.backmarket.fr/modal-initial.png +3 -0
- package/website/public/reports/www.deezer.com/after-accept.png +3 -0
- package/website/public/reports/www.deezer.com/after-reject.png +3 -0
- package/{docs → website/public}/reports/www.deezer.com/gdpr-report-deezer.com-2026-02-22.html +1 -0
- package/website/public/reports/www.deezer.com/modal-initial.png +3 -0
- package/website/public/reports/www.france.tv/after-accept.png +3 -0
- package/website/public/reports/www.france.tv/after-reject.png +3 -0
- package/website/public/reports/www.france.tv/gdpr-report-france.tv-2026-02-23.html +977 -0
- package/website/public/reports/www.france.tv/modal-initial.png +3 -0
- package/website/public/reports/www.m6.fr/after-accept.png +3 -0
- package/website/public/reports/www.m6.fr/after-reject.png +3 -0
- package/website/public/reports/www.m6.fr/gdpr-report-m6.fr-2026-02-28.html +1862 -0
- package/website/public/reports/www.m6.fr/modal-initial.png +3 -0
- package/website/public/reports/www.netflix.com/after-accept.png +3 -0
- package/website/public/reports/www.netflix.com/after-reject.png +3 -0
- package/{docs → website/public}/reports/www.netflix.com/gdpr-report-netflix.com-2026-02-23.html +1 -0
- package/website/public/reports/www.netflix.com/modal-initial.png +3 -0
- package/website/public/reports/www.radiofrance.fr/after-accept.png +3 -0
- package/website/public/reports/www.radiofrance.fr/after-reject.png +3 -0
- package/{docs → website/public}/reports/www.radiofrance.fr/gdpr-report-radiofrance.fr-2026-02-24.html +1 -0
- package/website/public/reports/www.radiofrance.fr/modal-initial.png +3 -0
- package/website/public/reports/www.tf1.fr/after-accept.png +3 -0
- package/website/public/reports/www.tf1.fr/after-reject.png +3 -0
- package/website/public/reports/www.tf1.fr/gdpr-report-tf1.fr-2026-02-23.html +1512 -0
- package/website/public/reports/www.tf1.fr/modal-initial.png +3 -0
- package/website/src/index.ts +15 -0
- package/website/src/security.ts +26 -0
- package/website/tsconfig.json +14 -0
- package/.github/workflows/pages.yml +0 -40
- package/docs/reports/www.arte.tv/after-accept.png +0 -0
- package/docs/reports/www.arte.tv/after-reject.png +0 -0
- package/docs/reports/www.deezer.com/after-accept.png +0 -0
- package/docs/reports/www.deezer.com/after-reject.png +0 -0
- package/docs/reports/www.impots.gouv.fr/after-accept.png +0 -0
- package/docs/reports/www.impots.gouv.fr/after-reject.png +0 -0
- package/docs/reports/www.impots.gouv.fr/gdpr-report-impots.gouv.fr-2026-02-22.html +0 -751
- package/docs/reports/www.leboncoin.fr/after-accept.png +0 -0
- package/docs/reports/www.leboncoin.fr/after-reject.png +0 -0
- package/docs/reports/www.netflix.com/after-accept.png +0 -0
- package/docs/reports/www.netflix.com/after-reject.png +0 -0
- package/docs/reports/www.radiofrance.fr/after-accept.png +0 -0
- package/docs/reports/www.radiofrance.fr/after-reject.png +0 -0
- /package/{docs → website/public}/style.css +0 -0
|
@@ -0,0 +1,1862 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>GDPR Report — m6.fr</title>
|
|
7
|
+
<style>
|
|
8
|
+
*,
|
|
9
|
+
*::before,
|
|
10
|
+
*::after {
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
:root {
|
|
15
|
+
--grade: #ca8a04;
|
|
16
|
+
--grade-bg: #fefce8;
|
|
17
|
+
--surface: #ffffff;
|
|
18
|
+
--bg: #f1f5f9;
|
|
19
|
+
--border: #e2e8f0;
|
|
20
|
+
--text: #0f172a;
|
|
21
|
+
--text-muted: #64748b;
|
|
22
|
+
--critical: #dc2626;
|
|
23
|
+
--critical-bg: #fef2f2;
|
|
24
|
+
--critical-border: #fecaca;
|
|
25
|
+
--warning: #d97706;
|
|
26
|
+
--warning-bg: #fffbeb;
|
|
27
|
+
--warning-border: #fde68a;
|
|
28
|
+
--ok: #16a34a;
|
|
29
|
+
--ok-bg: #f0fdf4;
|
|
30
|
+
--ok-border: #bbf7d0;
|
|
31
|
+
--radius: 10px;
|
|
32
|
+
--shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.06);
|
|
33
|
+
--shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.06);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
body {
|
|
37
|
+
margin: 0;
|
|
38
|
+
background: var(--bg);
|
|
39
|
+
color: var(--text);
|
|
40
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
|
|
41
|
+
font-size: 14px;
|
|
42
|
+
line-height: 1.6;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* ── Layout ── */
|
|
46
|
+
.page {
|
|
47
|
+
max-width: 1000px;
|
|
48
|
+
margin: 0 auto;
|
|
49
|
+
padding: 24px 16px 64px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/* ── Hero ── */
|
|
53
|
+
.hero {
|
|
54
|
+
background: var(--surface);
|
|
55
|
+
border-radius: var(--radius);
|
|
56
|
+
box-shadow: var(--shadow-md);
|
|
57
|
+
padding: 32px 36px;
|
|
58
|
+
display: flex;
|
|
59
|
+
align-items: center;
|
|
60
|
+
gap: 32px;
|
|
61
|
+
margin-bottom: 20px;
|
|
62
|
+
border-top: 4px solid var(--grade);
|
|
63
|
+
}
|
|
64
|
+
.grade-badge {
|
|
65
|
+
flex-shrink: 0;
|
|
66
|
+
width: 80px;
|
|
67
|
+
height: 80px;
|
|
68
|
+
border-radius: 16px;
|
|
69
|
+
background: var(--grade);
|
|
70
|
+
color: #fff;
|
|
71
|
+
font-size: 42px;
|
|
72
|
+
font-weight: 800;
|
|
73
|
+
display: flex;
|
|
74
|
+
align-items: center;
|
|
75
|
+
justify-content: center;
|
|
76
|
+
letter-spacing: -2px;
|
|
77
|
+
}
|
|
78
|
+
.hero-info {
|
|
79
|
+
flex: 1;
|
|
80
|
+
min-width: 0;
|
|
81
|
+
}
|
|
82
|
+
.hero-info h1 {
|
|
83
|
+
margin: 0 0 4px;
|
|
84
|
+
font-size: 22px;
|
|
85
|
+
font-weight: 700;
|
|
86
|
+
color: var(--text);
|
|
87
|
+
white-space: nowrap;
|
|
88
|
+
overflow: hidden;
|
|
89
|
+
text-overflow: ellipsis;
|
|
90
|
+
}
|
|
91
|
+
.hero-meta {
|
|
92
|
+
font-size: 13px;
|
|
93
|
+
color: var(--text-muted);
|
|
94
|
+
margin: 0;
|
|
95
|
+
}
|
|
96
|
+
.hero-score {
|
|
97
|
+
flex-shrink: 0;
|
|
98
|
+
text-align: right;
|
|
99
|
+
}
|
|
100
|
+
.hero-score .score-num {
|
|
101
|
+
font-size: 40px;
|
|
102
|
+
font-weight: 800;
|
|
103
|
+
color: var(--grade);
|
|
104
|
+
line-height: 1;
|
|
105
|
+
}
|
|
106
|
+
.hero-score .score-den {
|
|
107
|
+
font-size: 18px;
|
|
108
|
+
color: var(--text-muted);
|
|
109
|
+
font-weight: 400;
|
|
110
|
+
}
|
|
111
|
+
.hero-score .score-label {
|
|
112
|
+
font-size: 12px;
|
|
113
|
+
color: var(--text-muted);
|
|
114
|
+
margin-top: 4px;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* ── Score grid ── */
|
|
118
|
+
.score-grid {
|
|
119
|
+
display: grid;
|
|
120
|
+
grid-template-columns: repeat(4, 1fr);
|
|
121
|
+
gap: 12px;
|
|
122
|
+
margin-bottom: 20px;
|
|
123
|
+
}
|
|
124
|
+
@media (max-width: 640px) {
|
|
125
|
+
.score-grid {
|
|
126
|
+
grid-template-columns: repeat(2, 1fr);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
.score-card {
|
|
130
|
+
background: var(--surface);
|
|
131
|
+
border-radius: var(--radius);
|
|
132
|
+
padding: 16px 18px;
|
|
133
|
+
box-shadow: var(--shadow);
|
|
134
|
+
}
|
|
135
|
+
.score-card-label {
|
|
136
|
+
font-size: 11px;
|
|
137
|
+
font-weight: 600;
|
|
138
|
+
text-transform: uppercase;
|
|
139
|
+
letter-spacing: 0.05em;
|
|
140
|
+
color: var(--text-muted);
|
|
141
|
+
margin-bottom: 8px;
|
|
142
|
+
}
|
|
143
|
+
.score-card-value {
|
|
144
|
+
font-size: 22px;
|
|
145
|
+
font-weight: 700;
|
|
146
|
+
color: var(--text);
|
|
147
|
+
margin-bottom: 8px;
|
|
148
|
+
}
|
|
149
|
+
.score-card-value span {
|
|
150
|
+
font-size: 14px;
|
|
151
|
+
font-weight: 400;
|
|
152
|
+
color: var(--text-muted);
|
|
153
|
+
}
|
|
154
|
+
.progress-track {
|
|
155
|
+
height: 6px;
|
|
156
|
+
background: var(--border);
|
|
157
|
+
border-radius: 3px;
|
|
158
|
+
overflow: hidden;
|
|
159
|
+
}
|
|
160
|
+
.progress-fill {
|
|
161
|
+
height: 100%;
|
|
162
|
+
border-radius: 3px;
|
|
163
|
+
background: var(--grade-color, #64748b);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/* ── Section ── */
|
|
167
|
+
.section {
|
|
168
|
+
background: var(--surface);
|
|
169
|
+
border-radius: var(--radius);
|
|
170
|
+
box-shadow: var(--shadow);
|
|
171
|
+
margin-bottom: 16px;
|
|
172
|
+
overflow: hidden;
|
|
173
|
+
}
|
|
174
|
+
.section-header {
|
|
175
|
+
padding: 16px 20px;
|
|
176
|
+
border-bottom: 1px solid var(--border);
|
|
177
|
+
display: flex;
|
|
178
|
+
align-items: center;
|
|
179
|
+
gap: 10px;
|
|
180
|
+
}
|
|
181
|
+
.section-header h2 {
|
|
182
|
+
margin: 0;
|
|
183
|
+
font-size: 15px;
|
|
184
|
+
font-weight: 600;
|
|
185
|
+
color: var(--text);
|
|
186
|
+
}
|
|
187
|
+
.section-body {
|
|
188
|
+
padding: 20px;
|
|
189
|
+
}
|
|
190
|
+
.section-body.no-pad {
|
|
191
|
+
padding: 0;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/* ── Badges ── */
|
|
195
|
+
.badge {
|
|
196
|
+
display: inline-flex;
|
|
197
|
+
align-items: center;
|
|
198
|
+
gap: 4px;
|
|
199
|
+
padding: 2px 8px;
|
|
200
|
+
border-radius: 99px;
|
|
201
|
+
font-size: 11px;
|
|
202
|
+
font-weight: 600;
|
|
203
|
+
}
|
|
204
|
+
.badge-critical {
|
|
205
|
+
background: var(--critical-bg);
|
|
206
|
+
color: var(--critical);
|
|
207
|
+
border: 1px solid var(--critical-border);
|
|
208
|
+
}
|
|
209
|
+
.badge-warning {
|
|
210
|
+
background: var(--warning-bg);
|
|
211
|
+
color: var(--warning);
|
|
212
|
+
border: 1px solid var(--warning-border);
|
|
213
|
+
}
|
|
214
|
+
.badge-ok {
|
|
215
|
+
background: var(--ok-bg);
|
|
216
|
+
color: var(--ok);
|
|
217
|
+
border: 1px solid var(--ok-border);
|
|
218
|
+
}
|
|
219
|
+
.badge-muted {
|
|
220
|
+
background: var(--bg);
|
|
221
|
+
color: var(--text-muted);
|
|
222
|
+
border: 1px solid var(--border);
|
|
223
|
+
}
|
|
224
|
+
.count-badge {
|
|
225
|
+
background: var(--bg);
|
|
226
|
+
color: var(--text-muted);
|
|
227
|
+
font-size: 12px;
|
|
228
|
+
font-weight: 600;
|
|
229
|
+
padding: 1px 8px;
|
|
230
|
+
border-radius: 99px;
|
|
231
|
+
margin-left: auto;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/* ── Issue cards ── */
|
|
235
|
+
.issue-list {
|
|
236
|
+
display: flex;
|
|
237
|
+
flex-direction: column;
|
|
238
|
+
gap: 10px;
|
|
239
|
+
}
|
|
240
|
+
.issue-card {
|
|
241
|
+
border-radius: 8px;
|
|
242
|
+
padding: 14px 16px;
|
|
243
|
+
border: 1px solid;
|
|
244
|
+
}
|
|
245
|
+
.issue-card.critical {
|
|
246
|
+
background: var(--critical-bg);
|
|
247
|
+
border-color: var(--critical-border);
|
|
248
|
+
}
|
|
249
|
+
.issue-card.warning {
|
|
250
|
+
background: var(--warning-bg);
|
|
251
|
+
border-color: var(--warning-border);
|
|
252
|
+
}
|
|
253
|
+
.issue-title {
|
|
254
|
+
font-size: 13px;
|
|
255
|
+
font-weight: 600;
|
|
256
|
+
margin-bottom: 4px;
|
|
257
|
+
}
|
|
258
|
+
.issue-card.critical .issue-title {
|
|
259
|
+
color: var(--critical);
|
|
260
|
+
}
|
|
261
|
+
.issue-card.warning .issue-title {
|
|
262
|
+
color: var(--warning);
|
|
263
|
+
}
|
|
264
|
+
.issue-evidence {
|
|
265
|
+
font-size: 12px;
|
|
266
|
+
color: var(--text-muted);
|
|
267
|
+
margin: 0;
|
|
268
|
+
}
|
|
269
|
+
.no-issues {
|
|
270
|
+
display: flex;
|
|
271
|
+
align-items: center;
|
|
272
|
+
gap: 8px;
|
|
273
|
+
color: var(--ok);
|
|
274
|
+
font-weight: 500;
|
|
275
|
+
font-size: 14px;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/* ── Tables ── */
|
|
279
|
+
.data-table {
|
|
280
|
+
width: 100%;
|
|
281
|
+
border-collapse: collapse;
|
|
282
|
+
font-size: 13px;
|
|
283
|
+
}
|
|
284
|
+
.data-table th {
|
|
285
|
+
background: var(--bg);
|
|
286
|
+
padding: 10px 14px;
|
|
287
|
+
text-align: left;
|
|
288
|
+
font-size: 11px;
|
|
289
|
+
font-weight: 600;
|
|
290
|
+
text-transform: uppercase;
|
|
291
|
+
letter-spacing: 0.04em;
|
|
292
|
+
color: var(--text-muted);
|
|
293
|
+
border-bottom: 1px solid var(--border);
|
|
294
|
+
white-space: nowrap;
|
|
295
|
+
}
|
|
296
|
+
.data-table td {
|
|
297
|
+
padding: 10px 14px;
|
|
298
|
+
border-bottom: 1px solid var(--border);
|
|
299
|
+
vertical-align: top;
|
|
300
|
+
}
|
|
301
|
+
.data-table tr:last-child td {
|
|
302
|
+
border-bottom: none;
|
|
303
|
+
}
|
|
304
|
+
.data-table tr:hover td {
|
|
305
|
+
background: #fafafa;
|
|
306
|
+
}
|
|
307
|
+
code {
|
|
308
|
+
font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
|
|
309
|
+
font-size: 12px;
|
|
310
|
+
background: var(--bg);
|
|
311
|
+
padding: 1px 6px;
|
|
312
|
+
border-radius: 4px;
|
|
313
|
+
border: 1px solid var(--border);
|
|
314
|
+
}
|
|
315
|
+
.cookie-name {
|
|
316
|
+
display: inline-block;
|
|
317
|
+
max-width: 220px;
|
|
318
|
+
overflow: hidden;
|
|
319
|
+
text-overflow: ellipsis;
|
|
320
|
+
white-space: nowrap;
|
|
321
|
+
vertical-align: bottom;
|
|
322
|
+
}
|
|
323
|
+
.empty-state {
|
|
324
|
+
text-align: center;
|
|
325
|
+
padding: 32px;
|
|
326
|
+
color: var(--text-muted);
|
|
327
|
+
font-size: 13px;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
/* ── Checklist status ── */
|
|
331
|
+
.status-ok {
|
|
332
|
+
color: var(--ok);
|
|
333
|
+
font-weight: 600;
|
|
334
|
+
}
|
|
335
|
+
.status-ko {
|
|
336
|
+
color: var(--critical);
|
|
337
|
+
font-weight: 600;
|
|
338
|
+
}
|
|
339
|
+
.status-warn {
|
|
340
|
+
color: var(--warning);
|
|
341
|
+
font-weight: 600;
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
/* ── Info grid ── */
|
|
345
|
+
.info-grid {
|
|
346
|
+
display: grid;
|
|
347
|
+
grid-template-columns: 1fr 1fr;
|
|
348
|
+
gap: 12px;
|
|
349
|
+
}
|
|
350
|
+
@media (max-width: 640px) {
|
|
351
|
+
.info-grid {
|
|
352
|
+
grid-template-columns: 1fr;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
.info-item {
|
|
356
|
+
}
|
|
357
|
+
.info-label {
|
|
358
|
+
font-size: 11px;
|
|
359
|
+
font-weight: 600;
|
|
360
|
+
text-transform: uppercase;
|
|
361
|
+
letter-spacing: 0.04em;
|
|
362
|
+
color: var(--text-muted);
|
|
363
|
+
margin-bottom: 2px;
|
|
364
|
+
}
|
|
365
|
+
.info-value {
|
|
366
|
+
font-size: 13px;
|
|
367
|
+
color: var(--text);
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
/* ── Buttons table ── */
|
|
371
|
+
.btn-chip {
|
|
372
|
+
display: inline-block;
|
|
373
|
+
padding: 2px 10px;
|
|
374
|
+
border-radius: 4px;
|
|
375
|
+
font-size: 12px;
|
|
376
|
+
font-weight: 600;
|
|
377
|
+
}
|
|
378
|
+
.btn-chip.accept {
|
|
379
|
+
background: #dcfce7;
|
|
380
|
+
color: #166534;
|
|
381
|
+
}
|
|
382
|
+
.btn-chip.reject {
|
|
383
|
+
background: #fee2e2;
|
|
384
|
+
color: #991b1b;
|
|
385
|
+
}
|
|
386
|
+
.btn-chip.preferences {
|
|
387
|
+
background: #dbeafe;
|
|
388
|
+
color: #1e40af;
|
|
389
|
+
}
|
|
390
|
+
.btn-chip.unknown,
|
|
391
|
+
.btn-chip.close {
|
|
392
|
+
background: var(--bg);
|
|
393
|
+
color: var(--text-muted);
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
/* ── Modal screenshot ── */
|
|
397
|
+
.modal-screenshot {
|
|
398
|
+
display: block;
|
|
399
|
+
max-width: 100%;
|
|
400
|
+
max-height: 420px;
|
|
401
|
+
object-fit: contain;
|
|
402
|
+
border-radius: 8px;
|
|
403
|
+
border: 1px solid var(--border);
|
|
404
|
+
box-shadow: var(--shadow-md);
|
|
405
|
+
margin-bottom: 20px;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
/* ── Recommendations ── */
|
|
409
|
+
.rec-list {
|
|
410
|
+
list-style: none;
|
|
411
|
+
margin: 0;
|
|
412
|
+
padding: 0;
|
|
413
|
+
display: flex;
|
|
414
|
+
flex-direction: column;
|
|
415
|
+
gap: 10px;
|
|
416
|
+
}
|
|
417
|
+
.rec-item {
|
|
418
|
+
display: flex;
|
|
419
|
+
gap: 12px;
|
|
420
|
+
padding: 12px 14px;
|
|
421
|
+
background: #f8fafc;
|
|
422
|
+
border-radius: 8px;
|
|
423
|
+
border: 1px solid var(--border);
|
|
424
|
+
font-size: 13px;
|
|
425
|
+
}
|
|
426
|
+
.rec-num {
|
|
427
|
+
flex-shrink: 0;
|
|
428
|
+
width: 24px;
|
|
429
|
+
height: 24px;
|
|
430
|
+
border-radius: 50%;
|
|
431
|
+
background: var(--text);
|
|
432
|
+
color: #fff;
|
|
433
|
+
font-size: 12px;
|
|
434
|
+
font-weight: 700;
|
|
435
|
+
display: flex;
|
|
436
|
+
align-items: center;
|
|
437
|
+
justify-content: center;
|
|
438
|
+
margin-top: 1px;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
/* ── Footer ── */
|
|
442
|
+
.footer {
|
|
443
|
+
text-align: center;
|
|
444
|
+
margin-top: 40px;
|
|
445
|
+
font-size: 12px;
|
|
446
|
+
color: var(--text-muted);
|
|
447
|
+
}
|
|
448
|
+
.footer a {
|
|
449
|
+
color: var(--text-muted);
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
@media print {
|
|
453
|
+
* {
|
|
454
|
+
-webkit-print-color-adjust: exact;
|
|
455
|
+
print-color-adjust: exact;
|
|
456
|
+
}
|
|
457
|
+
body {
|
|
458
|
+
background: #fff;
|
|
459
|
+
}
|
|
460
|
+
.page {
|
|
461
|
+
padding: 0;
|
|
462
|
+
max-width: 100%;
|
|
463
|
+
}
|
|
464
|
+
.hero {
|
|
465
|
+
box-shadow: none;
|
|
466
|
+
border: 1px solid var(--border);
|
|
467
|
+
margin-bottom: 12px;
|
|
468
|
+
page-break-inside: avoid;
|
|
469
|
+
}
|
|
470
|
+
.score-grid {
|
|
471
|
+
page-break-inside: avoid;
|
|
472
|
+
margin-bottom: 12px;
|
|
473
|
+
}
|
|
474
|
+
.section {
|
|
475
|
+
box-shadow: none;
|
|
476
|
+
border: 1px solid var(--border);
|
|
477
|
+
margin-bottom: 12px;
|
|
478
|
+
page-break-inside: avoid;
|
|
479
|
+
}
|
|
480
|
+
.issue-list {
|
|
481
|
+
page-break-inside: avoid;
|
|
482
|
+
}
|
|
483
|
+
.data-table {
|
|
484
|
+
font-size: 10px;
|
|
485
|
+
page-break-inside: auto;
|
|
486
|
+
}
|
|
487
|
+
.data-table th {
|
|
488
|
+
padding: 5px 8px;
|
|
489
|
+
}
|
|
490
|
+
.data-table td {
|
|
491
|
+
padding: 5px 8px;
|
|
492
|
+
}
|
|
493
|
+
.data-table tr {
|
|
494
|
+
page-break-inside: avoid;
|
|
495
|
+
}
|
|
496
|
+
/* Long values (URLs, cookie names) wrap rather than overflow */
|
|
497
|
+
.data-table td code {
|
|
498
|
+
word-break: break-all;
|
|
499
|
+
white-space: normal;
|
|
500
|
+
}
|
|
501
|
+
.cookie-name {
|
|
502
|
+
max-width: 140px;
|
|
503
|
+
}
|
|
504
|
+
/* Shrink verbose columns to avoid deforming the others */
|
|
505
|
+
.cell-desc {
|
|
506
|
+
font-size: 9px;
|
|
507
|
+
}
|
|
508
|
+
.cell-url {
|
|
509
|
+
font-size: 7.5px;
|
|
510
|
+
}
|
|
511
|
+
.modal-screenshot {
|
|
512
|
+
max-height: 280px;
|
|
513
|
+
}
|
|
514
|
+
.rec-list {
|
|
515
|
+
page-break-inside: avoid;
|
|
516
|
+
}
|
|
517
|
+
/* Sections containing large tables can break across pages */
|
|
518
|
+
.section:has(.data-table) {
|
|
519
|
+
page-break-inside: auto;
|
|
520
|
+
}
|
|
521
|
+
a {
|
|
522
|
+
color: inherit;
|
|
523
|
+
text-decoration: none;
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
</style>
|
|
527
|
+
</head>
|
|
528
|
+
<body>
|
|
529
|
+
<div class="page">
|
|
530
|
+
<div class="hero">
|
|
531
|
+
<div class="grade-badge" style="background: #ca8a04">C</div>
|
|
532
|
+
<div class="hero-info">
|
|
533
|
+
<h1>m6.fr</h1>
|
|
534
|
+
<p class="hero-meta">Scanned on 28 February 2026 at 16:00 · 15.8s</p>
|
|
535
|
+
</div>
|
|
536
|
+
<div class="hero-score">
|
|
537
|
+
<div>
|
|
538
|
+
<span class="score-num" style="color: #ca8a04">58</span
|
|
539
|
+
><span class="score-den">/100</span>
|
|
540
|
+
</div>
|
|
541
|
+
<div class="score-label">Compliance score</div>
|
|
542
|
+
</div>
|
|
543
|
+
</div>
|
|
544
|
+
|
|
545
|
+
<div class="score-grid">
|
|
546
|
+
<div class="score-card">
|
|
547
|
+
<div class="score-card-label">Consent validity</div>
|
|
548
|
+
<div class="score-card-value">20<span>/25</span></div>
|
|
549
|
+
<div class="progress-track">
|
|
550
|
+
<div class="progress-fill" style="width: 80%; background: #16a34a"></div>
|
|
551
|
+
</div>
|
|
552
|
+
</div>
|
|
553
|
+
<div class="score-card">
|
|
554
|
+
<div class="score-card-label">Easy refusal</div>
|
|
555
|
+
<div class="score-card-value">25<span>/25</span></div>
|
|
556
|
+
<div class="progress-track">
|
|
557
|
+
<div class="progress-fill" style="width: 100%; background: #16a34a"></div>
|
|
558
|
+
</div>
|
|
559
|
+
</div>
|
|
560
|
+
<div class="score-card">
|
|
561
|
+
<div class="score-card-label">Transparency</div>
|
|
562
|
+
<div class="score-card-value">12<span>/25</span></div>
|
|
563
|
+
<div class="progress-track">
|
|
564
|
+
<div class="progress-fill" style="width: 48%; background: #ea580c"></div>
|
|
565
|
+
</div>
|
|
566
|
+
</div>
|
|
567
|
+
<div class="score-card">
|
|
568
|
+
<div class="score-card-label">Cookie behavior</div>
|
|
569
|
+
<div class="score-card-value">1<span>/25</span></div>
|
|
570
|
+
<div class="progress-track">
|
|
571
|
+
<div class="progress-fill" style="width: 4%; background: #dc2626"></div>
|
|
572
|
+
</div>
|
|
573
|
+
</div>
|
|
574
|
+
</div>
|
|
575
|
+
|
|
576
|
+
<div class="section">
|
|
577
|
+
<div class="section-header">
|
|
578
|
+
<h2>Issues</h2>
|
|
579
|
+
<span class="count-badge">4</span>
|
|
580
|
+
<span class="badge badge-critical">3 critical</span>
|
|
581
|
+
<span class="badge badge-warning">1 warning</span>
|
|
582
|
+
</div>
|
|
583
|
+
<div class="section-body">
|
|
584
|
+
<div class="issue-list">
|
|
585
|
+
<div class="issue-card critical">
|
|
586
|
+
<div class="issue-title">
|
|
587
|
+
2 non-essential cookie(s) deposited before any interaction
|
|
588
|
+
</div>
|
|
589
|
+
<p class="issue-evidence">gmid (unknown), ucid (unknown)</p>
|
|
590
|
+
</div>
|
|
591
|
+
<div class="issue-card critical">
|
|
592
|
+
<div class="issue-title">2 non-essential cookie(s) persist after rejection</div>
|
|
593
|
+
<p class="issue-evidence">gmid (unknown), ucid (unknown)</p>
|
|
594
|
+
</div>
|
|
595
|
+
<div class="issue-card critical">
|
|
596
|
+
<div class="issue-title">8 tracker request(s) fired before any consent</div>
|
|
597
|
+
<p class="issue-evidence">
|
|
598
|
+
Google Tag Services, Google DoubleClick, Google AdSense, Facebook SDK
|
|
599
|
+
</p>
|
|
600
|
+
</div>
|
|
601
|
+
<div class="issue-card warning">
|
|
602
|
+
<div class="issue-title">Missing required information: "purposes"</div>
|
|
603
|
+
<p class="issue-evidence">The consent text does not mention purposes</p>
|
|
604
|
+
</div>
|
|
605
|
+
</div>
|
|
606
|
+
</div>
|
|
607
|
+
</div>
|
|
608
|
+
|
|
609
|
+
<div class="section">
|
|
610
|
+
<div class="section-header">
|
|
611
|
+
<h2>Consent modal</h2>
|
|
612
|
+
<span class="badge badge-ok">Detected</span>
|
|
613
|
+
</div>
|
|
614
|
+
<div class="section-body">
|
|
615
|
+
<img src="modal-initial.png" alt="Consent modal screenshot" class="modal-screenshot" />
|
|
616
|
+
<div class="info-grid" style="margin-bottom: 20px">
|
|
617
|
+
<div class="info-item">
|
|
618
|
+
<div class="info-label">Selector</div>
|
|
619
|
+
<div class="info-value"><code>.didomi-popup-container</code></div>
|
|
620
|
+
</div>
|
|
621
|
+
<div class="info-item">
|
|
622
|
+
<div class="info-label">Granular controls</div>
|
|
623
|
+
<div class="info-value"><span class="status-warn">✗ No</span></div>
|
|
624
|
+
</div>
|
|
625
|
+
<div class="info-item">
|
|
626
|
+
<div class="info-label">Privacy policy link</div>
|
|
627
|
+
<div class="info-value">
|
|
628
|
+
<a
|
|
629
|
+
href="https://www.m6.fr/politique-de-confidentialite/cookies-partenaires"
|
|
630
|
+
target="_blank"
|
|
631
|
+
rel="noopener"
|
|
632
|
+
>https://www.m6.fr/politique-de-confidentialite/cookies-partenaires</a
|
|
633
|
+
>
|
|
634
|
+
</div>
|
|
635
|
+
</div>
|
|
636
|
+
<div class="info-item">
|
|
637
|
+
<div class="info-label">Pre-ticked checkboxes</div>
|
|
638
|
+
<div class="info-value"><span class="status-ok">✓ None</span></div>
|
|
639
|
+
</div>
|
|
640
|
+
</div>
|
|
641
|
+
<div
|
|
642
|
+
style="
|
|
643
|
+
font-size: 12px;
|
|
644
|
+
font-weight: 600;
|
|
645
|
+
text-transform: uppercase;
|
|
646
|
+
letter-spacing: 0.04em;
|
|
647
|
+
color: var(--text-muted);
|
|
648
|
+
margin-bottom: 8px;
|
|
649
|
+
"
|
|
650
|
+
>
|
|
651
|
+
Buttons
|
|
652
|
+
</div>
|
|
653
|
+
<table class="data-table">
|
|
654
|
+
<thead>
|
|
655
|
+
<tr>
|
|
656
|
+
<th>Type</th>
|
|
657
|
+
<th>Label</th>
|
|
658
|
+
<th>Font size</th>
|
|
659
|
+
<th>Contrast</th>
|
|
660
|
+
<th>Clicks</th>
|
|
661
|
+
</tr>
|
|
662
|
+
</thead>
|
|
663
|
+
<tbody>
|
|
664
|
+
<tr>
|
|
665
|
+
<td><span class="btn-chip reject">reject</span></td>
|
|
666
|
+
<td>Continuer sans accepter →</td>
|
|
667
|
+
<td>—</td>
|
|
668
|
+
<td>21:1</td>
|
|
669
|
+
<td>1</td>
|
|
670
|
+
</tr>
|
|
671
|
+
<tr>
|
|
672
|
+
<td><span class="btn-chip unknown">unknown</span></td>
|
|
673
|
+
<td>des tiers</td>
|
|
674
|
+
<td>15px</td>
|
|
675
|
+
<td>21:1</td>
|
|
676
|
+
<td>1</td>
|
|
677
|
+
</tr>
|
|
678
|
+
<tr>
|
|
679
|
+
<td><span class="btn-chip unknown">unknown</span></td>
|
|
680
|
+
<td>tiers</td>
|
|
681
|
+
<td>15px</td>
|
|
682
|
+
<td>21:1</td>
|
|
683
|
+
<td>1</td>
|
|
684
|
+
</tr>
|
|
685
|
+
<tr>
|
|
686
|
+
<td><span class="btn-chip unknown">unknown</span></td>
|
|
687
|
+
<td>Voir nos 119 partenaires</td>
|
|
688
|
+
<td>15px</td>
|
|
689
|
+
<td>21:1</td>
|
|
690
|
+
<td>1</td>
|
|
691
|
+
</tr>
|
|
692
|
+
<tr>
|
|
693
|
+
<td><span class="btn-chip unknown">unknown</span></td>
|
|
694
|
+
<td>PARAMETRER MES CHOIX</td>
|
|
695
|
+
<td>16px</td>
|
|
696
|
+
<td>1.66:1</td>
|
|
697
|
+
<td>1</td>
|
|
698
|
+
</tr>
|
|
699
|
+
<tr>
|
|
700
|
+
<td><span class="btn-chip accept">accept</span></td>
|
|
701
|
+
<td>TOUT ACCEPTER</td>
|
|
702
|
+
<td>16px</td>
|
|
703
|
+
<td>12.63:1</td>
|
|
704
|
+
<td>1</td>
|
|
705
|
+
</tr>
|
|
706
|
+
</tbody>
|
|
707
|
+
</table>
|
|
708
|
+
</div>
|
|
709
|
+
</div>
|
|
710
|
+
|
|
711
|
+
<div class="section">
|
|
712
|
+
<div class="section-header"><h2>Cookies</h2></div>
|
|
713
|
+
<div class="section-body">
|
|
714
|
+
<div style="margin-bottom: 24px">
|
|
715
|
+
<div
|
|
716
|
+
style="
|
|
717
|
+
font-size: 12px;
|
|
718
|
+
font-weight: 600;
|
|
719
|
+
text-transform: uppercase;
|
|
720
|
+
letter-spacing: 0.04em;
|
|
721
|
+
color: var(--text-muted);
|
|
722
|
+
margin-bottom: 8px;
|
|
723
|
+
display: flex;
|
|
724
|
+
align-items: center;
|
|
725
|
+
gap: 8px;
|
|
726
|
+
"
|
|
727
|
+
>
|
|
728
|
+
Before interaction
|
|
729
|
+
<span class="count-badge">6</span>
|
|
730
|
+
<span class="badge badge-critical">2 non-essential</span>
|
|
731
|
+
</div>
|
|
732
|
+
<table class="data-table">
|
|
733
|
+
<thead>
|
|
734
|
+
<tr>
|
|
735
|
+
<th>Name</th>
|
|
736
|
+
<th>Domain</th>
|
|
737
|
+
<th>Category</th>
|
|
738
|
+
<th>Description</th>
|
|
739
|
+
<th>Expiry</th>
|
|
740
|
+
<th>Consent</th>
|
|
741
|
+
</tr>
|
|
742
|
+
</thead>
|
|
743
|
+
<tbody>
|
|
744
|
+
<tr>
|
|
745
|
+
<td><code class="cookie-name" title="didomi_token">didomi_token</code></td>
|
|
746
|
+
<td style="color: var(--text-muted)">.m6.fr</td>
|
|
747
|
+
<td><span class="badge badge-muted">strictly-necessary</span></td>
|
|
748
|
+
<td class="cell-desc">
|
|
749
|
+
<span title="Didomi — https://privacy.console.didomi.io/"
|
|
750
|
+
>This cookie contains consent information for personalized purposes and for
|
|
751
|
+
personalized partners, as well as information specific to Didomi (e.g. user
|
|
752
|
+
ID).</span
|
|
753
|
+
>
|
|
754
|
+
</td>
|
|
755
|
+
<td style="color: var(--text-muted)">6mo</td>
|
|
756
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
757
|
+
</tr>
|
|
758
|
+
<tr>
|
|
759
|
+
<td><code class="cookie-name" title="gig_canary">gig_canary</code></td>
|
|
760
|
+
<td style="color: var(--text-muted)">cdns.eu1.gigya.com</td>
|
|
761
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
762
|
+
<td class="cell-desc">
|
|
763
|
+
<span title="SAP — https://www.sap.com/privacy"
|
|
764
|
+
>Indicates whether the client is using the canary version of the WebSDK.</span
|
|
765
|
+
>
|
|
766
|
+
</td>
|
|
767
|
+
<td style="color: var(--text-muted)">< 1 day</td>
|
|
768
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
769
|
+
</tr>
|
|
770
|
+
<tr>
|
|
771
|
+
<td><code class="cookie-name" title="gmid">gmid</code></td>
|
|
772
|
+
<td style="color: var(--text-muted)">.login-gigya.m6.fr</td>
|
|
773
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
774
|
+
<td class="cell-desc">
|
|
775
|
+
<span title="SAP — https://www.sap.com/privacy">User cookie.</span>
|
|
776
|
+
</td>
|
|
777
|
+
<td style="color: var(--text-muted)">12mo</td>
|
|
778
|
+
<td><span class="badge badge-warning">Required</span></td>
|
|
779
|
+
</tr>
|
|
780
|
+
<tr>
|
|
781
|
+
<td><code class="cookie-name" title="ucid">ucid</code></td>
|
|
782
|
+
<td style="color: var(--text-muted)">.login-gigya.m6.fr</td>
|
|
783
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
784
|
+
<td class="cell-desc">
|
|
785
|
+
<span title="SAP — https://www.sap.com/privacy"
|
|
786
|
+
>Unique computer identifier used for generating reports, and used by the Web
|
|
787
|
+
SDK to get saved response.</span
|
|
788
|
+
>
|
|
789
|
+
</td>
|
|
790
|
+
<td style="color: var(--text-muted)">12mo</td>
|
|
791
|
+
<td><span class="badge badge-warning">Required</span></td>
|
|
792
|
+
</tr>
|
|
793
|
+
<tr>
|
|
794
|
+
<td><code class="cookie-name" title="hasGmid">hasGmid</code></td>
|
|
795
|
+
<td style="color: var(--text-muted)">.login-gigya.m6.fr</td>
|
|
796
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
797
|
+
<td class="cell-desc">
|
|
798
|
+
<span title="SAP — https://www.sap.com/privacy"
|
|
799
|
+
>Internal cookie for the Web SDK</span
|
|
800
|
+
>
|
|
801
|
+
</td>
|
|
802
|
+
<td style="color: var(--text-muted)">6mo</td>
|
|
803
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
804
|
+
</tr>
|
|
805
|
+
<tr>
|
|
806
|
+
<td>
|
|
807
|
+
<code
|
|
808
|
+
class="cookie-name"
|
|
809
|
+
title="gig_bootstrap_3_hH5KBv25qZTd_sURpixbQW6a4OsiIzIEF2Ei_2H7TXTGLJb_1Hr4THKZianCQhWK"
|
|
810
|
+
>gig_bootstrap_3_hH5KBv25qZTd_sURpixbQW6a4OsiIzIEF2Ei_2H7TXTGLJb_1Hr4THKZianCQhWK</code
|
|
811
|
+
>
|
|
812
|
+
</td>
|
|
813
|
+
<td style="color: var(--text-muted)">.m6.fr</td>
|
|
814
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
815
|
+
<td class="cell-desc">
|
|
816
|
+
<span title="SAP — https://www.sap.com/privacy"
|
|
817
|
+
>If declined, user may be intermittently logged out.</span
|
|
818
|
+
>
|
|
819
|
+
</td>
|
|
820
|
+
<td style="color: var(--text-muted)">12mo</td>
|
|
821
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
822
|
+
</tr>
|
|
823
|
+
</tbody>
|
|
824
|
+
</table>
|
|
825
|
+
</div>
|
|
826
|
+
<div style="margin-bottom: 24px">
|
|
827
|
+
<div
|
|
828
|
+
style="
|
|
829
|
+
font-size: 12px;
|
|
830
|
+
font-weight: 600;
|
|
831
|
+
text-transform: uppercase;
|
|
832
|
+
letter-spacing: 0.04em;
|
|
833
|
+
color: var(--text-muted);
|
|
834
|
+
margin-bottom: 8px;
|
|
835
|
+
display: flex;
|
|
836
|
+
align-items: center;
|
|
837
|
+
gap: 8px;
|
|
838
|
+
"
|
|
839
|
+
>
|
|
840
|
+
After reject
|
|
841
|
+
<span class="count-badge">7</span>
|
|
842
|
+
|
|
843
|
+
<span class="badge badge-critical">2 non-essential</span>
|
|
844
|
+
</div>
|
|
845
|
+
<table class="data-table">
|
|
846
|
+
<thead>
|
|
847
|
+
<tr>
|
|
848
|
+
<th>Name</th>
|
|
849
|
+
<th>Domain</th>
|
|
850
|
+
<th>Category</th>
|
|
851
|
+
<th>Description</th>
|
|
852
|
+
<th>Expiry</th>
|
|
853
|
+
<th>Consent</th>
|
|
854
|
+
</tr>
|
|
855
|
+
</thead>
|
|
856
|
+
<tbody>
|
|
857
|
+
<tr>
|
|
858
|
+
<td><code class="cookie-name" title="gig_canary">gig_canary</code></td>
|
|
859
|
+
<td style="color: var(--text-muted)">cdns.eu1.gigya.com</td>
|
|
860
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
861
|
+
<td class="cell-desc">
|
|
862
|
+
<span title="SAP — https://www.sap.com/privacy"
|
|
863
|
+
>Indicates whether the client is using the canary version of the WebSDK.</span
|
|
864
|
+
>
|
|
865
|
+
</td>
|
|
866
|
+
<td style="color: var(--text-muted)">< 1 day</td>
|
|
867
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
868
|
+
</tr>
|
|
869
|
+
<tr>
|
|
870
|
+
<td><code class="cookie-name" title="gmid">gmid</code></td>
|
|
871
|
+
<td style="color: var(--text-muted)">.login-gigya.m6.fr</td>
|
|
872
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
873
|
+
<td class="cell-desc">
|
|
874
|
+
<span title="SAP — https://www.sap.com/privacy">User cookie.</span>
|
|
875
|
+
</td>
|
|
876
|
+
<td style="color: var(--text-muted)">12mo</td>
|
|
877
|
+
<td><span class="badge badge-warning">Required</span></td>
|
|
878
|
+
</tr>
|
|
879
|
+
<tr>
|
|
880
|
+
<td><code class="cookie-name" title="ucid">ucid</code></td>
|
|
881
|
+
<td style="color: var(--text-muted)">.login-gigya.m6.fr</td>
|
|
882
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
883
|
+
<td class="cell-desc">
|
|
884
|
+
<span title="SAP — https://www.sap.com/privacy"
|
|
885
|
+
>Unique computer identifier used for generating reports, and used by the Web
|
|
886
|
+
SDK to get saved response.</span
|
|
887
|
+
>
|
|
888
|
+
</td>
|
|
889
|
+
<td style="color: var(--text-muted)">12mo</td>
|
|
890
|
+
<td><span class="badge badge-warning">Required</span></td>
|
|
891
|
+
</tr>
|
|
892
|
+
<tr>
|
|
893
|
+
<td><code class="cookie-name" title="hasGmid">hasGmid</code></td>
|
|
894
|
+
<td style="color: var(--text-muted)">.login-gigya.m6.fr</td>
|
|
895
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
896
|
+
<td class="cell-desc">
|
|
897
|
+
<span title="SAP — https://www.sap.com/privacy"
|
|
898
|
+
>Internal cookie for the Web SDK</span
|
|
899
|
+
>
|
|
900
|
+
</td>
|
|
901
|
+
<td style="color: var(--text-muted)">6mo</td>
|
|
902
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
903
|
+
</tr>
|
|
904
|
+
<tr>
|
|
905
|
+
<td>
|
|
906
|
+
<code
|
|
907
|
+
class="cookie-name"
|
|
908
|
+
title="gig_bootstrap_3_hH5KBv25qZTd_sURpixbQW6a4OsiIzIEF2Ei_2H7TXTGLJb_1Hr4THKZianCQhWK"
|
|
909
|
+
>gig_bootstrap_3_hH5KBv25qZTd_sURpixbQW6a4OsiIzIEF2Ei_2H7TXTGLJb_1Hr4THKZianCQhWK</code
|
|
910
|
+
>
|
|
911
|
+
</td>
|
|
912
|
+
<td style="color: var(--text-muted)">.m6.fr</td>
|
|
913
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
914
|
+
<td class="cell-desc">
|
|
915
|
+
<span title="SAP — https://www.sap.com/privacy"
|
|
916
|
+
>If declined, user may be intermittently logged out.</span
|
|
917
|
+
>
|
|
918
|
+
</td>
|
|
919
|
+
<td style="color: var(--text-muted)">12mo</td>
|
|
920
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
921
|
+
</tr>
|
|
922
|
+
<tr>
|
|
923
|
+
<td><code class="cookie-name" title="didomi_token">didomi_token</code></td>
|
|
924
|
+
<td style="color: var(--text-muted)">.m6.fr</td>
|
|
925
|
+
<td><span class="badge badge-muted">strictly-necessary</span></td>
|
|
926
|
+
<td class="cell-desc">
|
|
927
|
+
<span title="Didomi — https://privacy.console.didomi.io/"
|
|
928
|
+
>This cookie contains consent information for personalized purposes and for
|
|
929
|
+
personalized partners, as well as information specific to Didomi (e.g. user
|
|
930
|
+
ID).</span
|
|
931
|
+
>
|
|
932
|
+
</td>
|
|
933
|
+
<td style="color: var(--text-muted)">6mo</td>
|
|
934
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
935
|
+
</tr>
|
|
936
|
+
<tr>
|
|
937
|
+
<td><code class="cookie-name" title="euconsent-v2">euconsent-v2</code></td>
|
|
938
|
+
<td style="color: var(--text-muted)">.m6.fr</td>
|
|
939
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
940
|
+
<td class="cell-desc">
|
|
941
|
+
<span title="Didomi — https://privacy.console.didomi.io/"
|
|
942
|
+
>This cookie contains the chain of consent for the IAB's Transparency and
|
|
943
|
+
consent framework as well as the consent information for all IAB standards
|
|
944
|
+
(partners and purposes).</span
|
|
945
|
+
>
|
|
946
|
+
</td>
|
|
947
|
+
<td style="color: var(--text-muted)">6mo</td>
|
|
948
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
949
|
+
</tr>
|
|
950
|
+
</tbody>
|
|
951
|
+
</table>
|
|
952
|
+
</div>
|
|
953
|
+
<div style="margin-bottom: 24px">
|
|
954
|
+
<div
|
|
955
|
+
style="
|
|
956
|
+
font-size: 12px;
|
|
957
|
+
font-weight: 600;
|
|
958
|
+
text-transform: uppercase;
|
|
959
|
+
letter-spacing: 0.04em;
|
|
960
|
+
color: var(--text-muted);
|
|
961
|
+
margin-bottom: 8px;
|
|
962
|
+
display: flex;
|
|
963
|
+
align-items: center;
|
|
964
|
+
gap: 8px;
|
|
965
|
+
"
|
|
966
|
+
>
|
|
967
|
+
After accept
|
|
968
|
+
<span class="count-badge">13</span>
|
|
969
|
+
</div>
|
|
970
|
+
<table class="data-table">
|
|
971
|
+
<thead>
|
|
972
|
+
<tr>
|
|
973
|
+
<th>Name</th>
|
|
974
|
+
<th>Domain</th>
|
|
975
|
+
<th>Category</th>
|
|
976
|
+
<th>Description</th>
|
|
977
|
+
<th>Expiry</th>
|
|
978
|
+
<th>Consent</th>
|
|
979
|
+
</tr>
|
|
980
|
+
</thead>
|
|
981
|
+
<tbody>
|
|
982
|
+
<tr>
|
|
983
|
+
<td><code class="cookie-name" title="gig_canary">gig_canary</code></td>
|
|
984
|
+
<td style="color: var(--text-muted)">cdns.eu1.gigya.com</td>
|
|
985
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
986
|
+
<td class="cell-desc">
|
|
987
|
+
<span title="SAP — https://www.sap.com/privacy"
|
|
988
|
+
>Indicates whether the client is using the canary version of the WebSDK.</span
|
|
989
|
+
>
|
|
990
|
+
</td>
|
|
991
|
+
<td style="color: var(--text-muted)">< 1 day</td>
|
|
992
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
993
|
+
</tr>
|
|
994
|
+
<tr>
|
|
995
|
+
<td><code class="cookie-name" title="gmid">gmid</code></td>
|
|
996
|
+
<td style="color: var(--text-muted)">.login-gigya.m6.fr</td>
|
|
997
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
998
|
+
<td class="cell-desc">
|
|
999
|
+
<span title="SAP — https://www.sap.com/privacy">User cookie.</span>
|
|
1000
|
+
</td>
|
|
1001
|
+
<td style="color: var(--text-muted)">12mo</td>
|
|
1002
|
+
<td><span class="badge badge-warning">Required</span></td>
|
|
1003
|
+
</tr>
|
|
1004
|
+
<tr>
|
|
1005
|
+
<td><code class="cookie-name" title="ucid">ucid</code></td>
|
|
1006
|
+
<td style="color: var(--text-muted)">.login-gigya.m6.fr</td>
|
|
1007
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
1008
|
+
<td class="cell-desc">
|
|
1009
|
+
<span title="SAP — https://www.sap.com/privacy"
|
|
1010
|
+
>Unique computer identifier used for generating reports, and used by the Web
|
|
1011
|
+
SDK to get saved response.</span
|
|
1012
|
+
>
|
|
1013
|
+
</td>
|
|
1014
|
+
<td style="color: var(--text-muted)">12mo</td>
|
|
1015
|
+
<td><span class="badge badge-warning">Required</span></td>
|
|
1016
|
+
</tr>
|
|
1017
|
+
<tr>
|
|
1018
|
+
<td><code class="cookie-name" title="hasGmid">hasGmid</code></td>
|
|
1019
|
+
<td style="color: var(--text-muted)">.login-gigya.m6.fr</td>
|
|
1020
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
1021
|
+
<td class="cell-desc">
|
|
1022
|
+
<span title="SAP — https://www.sap.com/privacy"
|
|
1023
|
+
>Internal cookie for the Web SDK</span
|
|
1024
|
+
>
|
|
1025
|
+
</td>
|
|
1026
|
+
<td style="color: var(--text-muted)">6mo</td>
|
|
1027
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
1028
|
+
</tr>
|
|
1029
|
+
<tr>
|
|
1030
|
+
<td>
|
|
1031
|
+
<code
|
|
1032
|
+
class="cookie-name"
|
|
1033
|
+
title="gig_bootstrap_3_hH5KBv25qZTd_sURpixbQW6a4OsiIzIEF2Ei_2H7TXTGLJb_1Hr4THKZianCQhWK"
|
|
1034
|
+
>gig_bootstrap_3_hH5KBv25qZTd_sURpixbQW6a4OsiIzIEF2Ei_2H7TXTGLJb_1Hr4THKZianCQhWK</code
|
|
1035
|
+
>
|
|
1036
|
+
</td>
|
|
1037
|
+
<td style="color: var(--text-muted)">.m6.fr</td>
|
|
1038
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
1039
|
+
<td class="cell-desc">
|
|
1040
|
+
<span title="SAP — https://www.sap.com/privacy"
|
|
1041
|
+
>If declined, user may be intermittently logged out.</span
|
|
1042
|
+
>
|
|
1043
|
+
</td>
|
|
1044
|
+
<td style="color: var(--text-muted)">12mo</td>
|
|
1045
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
1046
|
+
</tr>
|
|
1047
|
+
<tr>
|
|
1048
|
+
<td><code class="cookie-name" title="didomi_token">didomi_token</code></td>
|
|
1049
|
+
<td style="color: var(--text-muted)">.m6.fr</td>
|
|
1050
|
+
<td><span class="badge badge-muted">strictly-necessary</span></td>
|
|
1051
|
+
<td class="cell-desc">
|
|
1052
|
+
<span title="Didomi — https://privacy.console.didomi.io/"
|
|
1053
|
+
>This cookie contains consent information for personalized purposes and for
|
|
1054
|
+
personalized partners, as well as information specific to Didomi (e.g. user
|
|
1055
|
+
ID).</span
|
|
1056
|
+
>
|
|
1057
|
+
</td>
|
|
1058
|
+
<td style="color: var(--text-muted)">6mo</td>
|
|
1059
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
1060
|
+
</tr>
|
|
1061
|
+
<tr>
|
|
1062
|
+
<td><code class="cookie-name" title="euconsent-v2">euconsent-v2</code></td>
|
|
1063
|
+
<td style="color: var(--text-muted)">.m6.fr</td>
|
|
1064
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
1065
|
+
<td class="cell-desc">
|
|
1066
|
+
<span title="Didomi — https://privacy.console.didomi.io/"
|
|
1067
|
+
>This cookie contains the chain of consent for the IAB's Transparency and
|
|
1068
|
+
consent framework as well as the consent information for all IAB standards
|
|
1069
|
+
(partners and purposes).</span
|
|
1070
|
+
>
|
|
1071
|
+
</td>
|
|
1072
|
+
<td style="color: var(--text-muted)">6mo</td>
|
|
1073
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
1074
|
+
</tr>
|
|
1075
|
+
<tr>
|
|
1076
|
+
<td><code class="cookie-name" title="test_cookie">test_cookie</code></td>
|
|
1077
|
+
<td style="color: var(--text-muted)">.doubleclick.net</td>
|
|
1078
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
1079
|
+
<td class="cell-desc">
|
|
1080
|
+
<span title="Google — https://business.safety.google/privacy/"
|
|
1081
|
+
>This cookie is set by DoubleClick (which is owned by Google) to determine if
|
|
1082
|
+
the website visitor's browser supports cookies.</span
|
|
1083
|
+
>
|
|
1084
|
+
</td>
|
|
1085
|
+
<td style="color: var(--text-muted)">< 1 day</td>
|
|
1086
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
1087
|
+
</tr>
|
|
1088
|
+
<tr>
|
|
1089
|
+
<td><code class="cookie-name" title="__gads">__gads</code></td>
|
|
1090
|
+
<td style="color: var(--text-muted)">.m6.fr</td>
|
|
1091
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1092
|
+
<td class="cell-desc">
|
|
1093
|
+
<span title="Google — https://business.safety.google/privacy/"
|
|
1094
|
+
>This cookie is used by Google for a variety of purposes (e.g., ensuring
|
|
1095
|
+
Frequency Caps work correctly). It includes AdSense if you have AdSense
|
|
1096
|
+
enabled. This cookie is associated with the DoubleClick for Publishers service
|
|
1097
|
+
from Google. Its purpose is to monitor the showing of advertisements on the
|
|
1098
|
+
site, for which the owner may earn some revenue. The main purpose of this
|
|
1099
|
+
cookie is targeting/advertising.</span
|
|
1100
|
+
>
|
|
1101
|
+
</td>
|
|
1102
|
+
<td style="color: var(--text-muted)">13mo</td>
|
|
1103
|
+
<td><span class="badge badge-warning">Required</span></td>
|
|
1104
|
+
</tr>
|
|
1105
|
+
<tr>
|
|
1106
|
+
<td><code class="cookie-name" title="__gpi">__gpi</code></td>
|
|
1107
|
+
<td style="color: var(--text-muted)">.m6.fr</td>
|
|
1108
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1109
|
+
<td class="cell-desc">
|
|
1110
|
+
<span title="Google — https://business.safety.google/privacy/"
|
|
1111
|
+
>Collects information on user behaviour on multiple websites. This information
|
|
1112
|
+
is used in order to optimize the relevance of advertisement on the
|
|
1113
|
+
website.</span
|
|
1114
|
+
>
|
|
1115
|
+
</td>
|
|
1116
|
+
<td style="color: var(--text-muted)">13mo</td>
|
|
1117
|
+
<td><span class="badge badge-warning">Required</span></td>
|
|
1118
|
+
</tr>
|
|
1119
|
+
<tr>
|
|
1120
|
+
<td><code class="cookie-name" title="__eoi">__eoi</code></td>
|
|
1121
|
+
<td style="color: var(--text-muted)">.m6.fr</td>
|
|
1122
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
1123
|
+
<td class="cell-desc">
|
|
1124
|
+
<span title="Google — https://business.safety.google/privacy/"
|
|
1125
|
+
>This cookie is used for security authenticate users, prevent fraud, and
|
|
1126
|
+
protect users as they interact with a service.</span
|
|
1127
|
+
>
|
|
1128
|
+
</td>
|
|
1129
|
+
<td style="color: var(--text-muted)">6mo</td>
|
|
1130
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
1131
|
+
</tr>
|
|
1132
|
+
<tr>
|
|
1133
|
+
<td><code class="cookie-name" title="_fbp">_fbp</code></td>
|
|
1134
|
+
<td style="color: var(--text-muted)">.m6.fr</td>
|
|
1135
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1136
|
+
<td class="cell-desc">
|
|
1137
|
+
<span title="Facebook — https://www.facebook.com/about/privacy/"
|
|
1138
|
+
>Used by Facebook to deliver a series of advertisement products such as real
|
|
1139
|
+
time bidding from third party advertisers</span
|
|
1140
|
+
>
|
|
1141
|
+
</td>
|
|
1142
|
+
<td style="color: var(--text-muted)">3mo</td>
|
|
1143
|
+
<td><span class="badge badge-warning">Required</span></td>
|
|
1144
|
+
</tr>
|
|
1145
|
+
<tr>
|
|
1146
|
+
<td><code class="cookie-name" title="dicbo_id">dicbo_id</code></td>
|
|
1147
|
+
<td style="color: var(--text-muted)">www.m6.fr</td>
|
|
1148
|
+
<td><span class="badge badge-muted">unknown</span></td>
|
|
1149
|
+
<td class="cell-desc">
|
|
1150
|
+
<span title="Outbrain — https://www.outbrain.com/privacy/"
|
|
1151
|
+
>Collects statistics concerning the visitors' use of the website and its
|
|
1152
|
+
general functionality. This is used to optimize and compile reports on the
|
|
1153
|
+
website for comparison through a third party analysis service.</span
|
|
1154
|
+
>
|
|
1155
|
+
</td>
|
|
1156
|
+
<td style="color: var(--text-muted)">< 1 day</td>
|
|
1157
|
+
<td><span class="badge badge-muted">No</span></td>
|
|
1158
|
+
</tr>
|
|
1159
|
+
</tbody>
|
|
1160
|
+
</table>
|
|
1161
|
+
</div>
|
|
1162
|
+
</div>
|
|
1163
|
+
</div>
|
|
1164
|
+
|
|
1165
|
+
<div class="section">
|
|
1166
|
+
<div class="section-header">
|
|
1167
|
+
<h2>Network trackers</h2>
|
|
1168
|
+
<span class="count-badge">37</span>
|
|
1169
|
+
<span class="badge badge-critical">8 before consent</span>
|
|
1170
|
+
</div>
|
|
1171
|
+
<div class="section-body no-pad">
|
|
1172
|
+
<table class="data-table">
|
|
1173
|
+
<thead>
|
|
1174
|
+
<tr>
|
|
1175
|
+
<th>Tracker</th>
|
|
1176
|
+
<th>Category</th>
|
|
1177
|
+
<th>Phase</th>
|
|
1178
|
+
<th>URL</th>
|
|
1179
|
+
</tr>
|
|
1180
|
+
</thead>
|
|
1181
|
+
<tbody>
|
|
1182
|
+
<tr>
|
|
1183
|
+
<td>Google Tag Services</td>
|
|
1184
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1185
|
+
<td><span class="badge badge-critical">before consent</span></td>
|
|
1186
|
+
<td
|
|
1187
|
+
class="cell-url"
|
|
1188
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1189
|
+
>
|
|
1190
|
+
<code>https://www.googletagservices.com/tag/js/gpt.js</code>
|
|
1191
|
+
</td>
|
|
1192
|
+
</tr>
|
|
1193
|
+
<tr>
|
|
1194
|
+
<td>Google DoubleClick</td>
|
|
1195
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1196
|
+
<td><span class="badge badge-critical">before consent</span></td>
|
|
1197
|
+
<td
|
|
1198
|
+
class="cell-url"
|
|
1199
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1200
|
+
>
|
|
1201
|
+
<code>https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m20260…</code>
|
|
1202
|
+
</td>
|
|
1203
|
+
</tr>
|
|
1204
|
+
<tr>
|
|
1205
|
+
<td>Google DoubleClick</td>
|
|
1206
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1207
|
+
<td><span class="badge badge-critical">before consent</span></td>
|
|
1208
|
+
<td
|
|
1209
|
+
class="cell-url"
|
|
1210
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1211
|
+
>
|
|
1212
|
+
<code>https://securepubads.g.doubleclick.net/pagead/managed/dict/m2026022…</code>
|
|
1213
|
+
</td>
|
|
1214
|
+
</tr>
|
|
1215
|
+
<tr>
|
|
1216
|
+
<td>Google AdSense</td>
|
|
1217
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1218
|
+
<td><span class="badge badge-critical">before consent</span></td>
|
|
1219
|
+
<td
|
|
1220
|
+
class="cell-url"
|
|
1221
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1222
|
+
>
|
|
1223
|
+
<code>https://pagead2.googlesyndication.com/pagead/js/rum.js</code>
|
|
1224
|
+
</td>
|
|
1225
|
+
</tr>
|
|
1226
|
+
<tr>
|
|
1227
|
+
<td>Google AdSense</td>
|
|
1228
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1229
|
+
<td><span class="badge badge-critical">before consent</span></td>
|
|
1230
|
+
<td
|
|
1231
|
+
class="cell-url"
|
|
1232
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1233
|
+
>
|
|
1234
|
+
<code
|
|
1235
|
+
>https://pagead2.googlesyndication.com/pagead/gen_204?id=ama_stats&s…</code
|
|
1236
|
+
>
|
|
1237
|
+
</td>
|
|
1238
|
+
</tr>
|
|
1239
|
+
<tr>
|
|
1240
|
+
<td>Facebook SDK</td>
|
|
1241
|
+
<td><span class="badge badge-muted">social</span></td>
|
|
1242
|
+
<td><span class="badge badge-critical">before consent</span></td>
|
|
1243
|
+
<td
|
|
1244
|
+
class="cell-url"
|
|
1245
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1246
|
+
>
|
|
1247
|
+
<code>https://connect.facebook.net/fr_FR/sdk.js</code>
|
|
1248
|
+
</td>
|
|
1249
|
+
</tr>
|
|
1250
|
+
<tr>
|
|
1251
|
+
<td>Facebook SDK</td>
|
|
1252
|
+
<td><span class="badge badge-muted">social</span></td>
|
|
1253
|
+
<td><span class="badge badge-critical">before consent</span></td>
|
|
1254
|
+
<td
|
|
1255
|
+
class="cell-url"
|
|
1256
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1257
|
+
>
|
|
1258
|
+
<code>https://connect.facebook.net/fr_FR/sdk.js?hash=1d43b1045098adf3ab81…</code>
|
|
1259
|
+
</td>
|
|
1260
|
+
</tr>
|
|
1261
|
+
<tr>
|
|
1262
|
+
<td>Google AdSense</td>
|
|
1263
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1264
|
+
<td><span class="badge badge-critical">before consent</span></td>
|
|
1265
|
+
<td
|
|
1266
|
+
class="cell-url"
|
|
1267
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1268
|
+
>
|
|
1269
|
+
<code>https://pagead2.googlesyndication.com/pagead/ping?e=1</code>
|
|
1270
|
+
</td>
|
|
1271
|
+
</tr>
|
|
1272
|
+
<tr>
|
|
1273
|
+
<td>Google AdSense</td>
|
|
1274
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1275
|
+
<td><span class="badge badge-muted">after-reject</span></td>
|
|
1276
|
+
<td
|
|
1277
|
+
class="cell-url"
|
|
1278
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1279
|
+
>
|
|
1280
|
+
<code>https://pagead2.googlesyndication.com/gampad/ads?pvsid=762805352401…</code>
|
|
1281
|
+
</td>
|
|
1282
|
+
</tr>
|
|
1283
|
+
<tr>
|
|
1284
|
+
<td>Google AdSense</td>
|
|
1285
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1286
|
+
<td><span class="badge badge-muted">after-reject</span></td>
|
|
1287
|
+
<td
|
|
1288
|
+
class="cell-url"
|
|
1289
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1290
|
+
>
|
|
1291
|
+
<code>https://pagead2.googlesyndication.com/gampad/ads?pvsid=762805352401…</code>
|
|
1292
|
+
</td>
|
|
1293
|
+
</tr>
|
|
1294
|
+
<tr>
|
|
1295
|
+
<td>Google AdSense</td>
|
|
1296
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1297
|
+
<td><span class="badge badge-muted">after-reject</span></td>
|
|
1298
|
+
<td
|
|
1299
|
+
class="cell-url"
|
|
1300
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1301
|
+
>
|
|
1302
|
+
<code>https://4a1e3b07473ddec5fc49fc6f8d362ece.safeframe.googlesyndicatio…</code>
|
|
1303
|
+
</td>
|
|
1304
|
+
</tr>
|
|
1305
|
+
<tr>
|
|
1306
|
+
<td>Tracking Pixel</td>
|
|
1307
|
+
<td><span class="badge badge-muted">pixel</span></td>
|
|
1308
|
+
<td><span class="badge badge-muted">after-reject</span></td>
|
|
1309
|
+
<td
|
|
1310
|
+
class="cell-url"
|
|
1311
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1312
|
+
>
|
|
1313
|
+
<code>https://collect.tealiumiq.com/event</code>
|
|
1314
|
+
</td>
|
|
1315
|
+
</tr>
|
|
1316
|
+
<tr>
|
|
1317
|
+
<td>Tracking Pixel</td>
|
|
1318
|
+
<td><span class="badge badge-muted">pixel</span></td>
|
|
1319
|
+
<td><span class="badge badge-muted">after-reject</span></td>
|
|
1320
|
+
<td
|
|
1321
|
+
class="cell-url"
|
|
1322
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1323
|
+
>
|
|
1324
|
+
<code>https://collect.tealiumiq.com/event</code>
|
|
1325
|
+
</td>
|
|
1326
|
+
</tr>
|
|
1327
|
+
<tr>
|
|
1328
|
+
<td>Tracking Pixel</td>
|
|
1329
|
+
<td><span class="badge badge-muted">pixel</span></td>
|
|
1330
|
+
<td><span class="badge badge-muted">after-reject</span></td>
|
|
1331
|
+
<td
|
|
1332
|
+
class="cell-url"
|
|
1333
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1334
|
+
>
|
|
1335
|
+
<code>https://collect.tealiumiq.com/event</code>
|
|
1336
|
+
</td>
|
|
1337
|
+
</tr>
|
|
1338
|
+
<tr>
|
|
1339
|
+
<td>Google AdSense</td>
|
|
1340
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1341
|
+
<td><span class="badge badge-muted">after-reject</span></td>
|
|
1342
|
+
<td
|
|
1343
|
+
class="cell-url"
|
|
1344
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1345
|
+
>
|
|
1346
|
+
<code>https://pagead2.googlesyndication.com/bg/7-JEQqPqQyEGd3nK0JmL7-npQZ…</code>
|
|
1347
|
+
</td>
|
|
1348
|
+
</tr>
|
|
1349
|
+
<tr>
|
|
1350
|
+
<td>Google Tag Services</td>
|
|
1351
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1352
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1353
|
+
<td
|
|
1354
|
+
class="cell-url"
|
|
1355
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1356
|
+
>
|
|
1357
|
+
<code>https://www.googletagservices.com/tag/js/gpt.js</code>
|
|
1358
|
+
</td>
|
|
1359
|
+
</tr>
|
|
1360
|
+
<tr>
|
|
1361
|
+
<td>Google DoubleClick</td>
|
|
1362
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1363
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1364
|
+
<td
|
|
1365
|
+
class="cell-url"
|
|
1366
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1367
|
+
>
|
|
1368
|
+
<code>https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m20260…</code>
|
|
1369
|
+
</td>
|
|
1370
|
+
</tr>
|
|
1371
|
+
<tr>
|
|
1372
|
+
<td>Google DoubleClick</td>
|
|
1373
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1374
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1375
|
+
<td
|
|
1376
|
+
class="cell-url"
|
|
1377
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1378
|
+
>
|
|
1379
|
+
<code>https://securepubads.g.doubleclick.net/pagead/managed/dict/m2026022…</code>
|
|
1380
|
+
</td>
|
|
1381
|
+
</tr>
|
|
1382
|
+
<tr>
|
|
1383
|
+
<td>Facebook SDK</td>
|
|
1384
|
+
<td><span class="badge badge-muted">social</span></td>
|
|
1385
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1386
|
+
<td
|
|
1387
|
+
class="cell-url"
|
|
1388
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1389
|
+
>
|
|
1390
|
+
<code>https://connect.facebook.net/fr_FR/sdk.js</code>
|
|
1391
|
+
</td>
|
|
1392
|
+
</tr>
|
|
1393
|
+
<tr>
|
|
1394
|
+
<td>Facebook SDK</td>
|
|
1395
|
+
<td><span class="badge badge-muted">social</span></td>
|
|
1396
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1397
|
+
<td
|
|
1398
|
+
class="cell-url"
|
|
1399
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1400
|
+
>
|
|
1401
|
+
<code>https://connect.facebook.net/fr_FR/sdk.js?hash=1d43b1045098adf3ab81…</code>
|
|
1402
|
+
</td>
|
|
1403
|
+
</tr>
|
|
1404
|
+
<tr>
|
|
1405
|
+
<td>Google AdSense</td>
|
|
1406
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1407
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1408
|
+
<td
|
|
1409
|
+
class="cell-url"
|
|
1410
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1411
|
+
>
|
|
1412
|
+
<code>https://pagead2.googlesyndication.com/pagead/ping?e=1</code>
|
|
1413
|
+
</td>
|
|
1414
|
+
</tr>
|
|
1415
|
+
<tr>
|
|
1416
|
+
<td>Google DoubleClick</td>
|
|
1417
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1418
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1419
|
+
<td
|
|
1420
|
+
class="cell-url"
|
|
1421
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1422
|
+
>
|
|
1423
|
+
<code>https://cm.g.doubleclick.net/partnerpixels?gdpr_consent=CQgVeAAQgVe…</code>
|
|
1424
|
+
</td>
|
|
1425
|
+
</tr>
|
|
1426
|
+
<tr>
|
|
1427
|
+
<td>Google DoubleClick</td>
|
|
1428
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1429
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1430
|
+
<td
|
|
1431
|
+
class="cell-url"
|
|
1432
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1433
|
+
>
|
|
1434
|
+
<code>https://securepubads.g.doubleclick.net/gampad/ads?pvsid=15503692787…</code>
|
|
1435
|
+
</td>
|
|
1436
|
+
</tr>
|
|
1437
|
+
<tr>
|
|
1438
|
+
<td>Google DoubleClick</td>
|
|
1439
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1440
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1441
|
+
<td
|
|
1442
|
+
class="cell-url"
|
|
1443
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1444
|
+
>
|
|
1445
|
+
<code>https://securepubads.g.doubleclick.net/gampad/ads?pvsid=15503692787…</code>
|
|
1446
|
+
</td>
|
|
1447
|
+
</tr>
|
|
1448
|
+
<tr>
|
|
1449
|
+
<td>Google AdSense</td>
|
|
1450
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1451
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1452
|
+
<td
|
|
1453
|
+
class="cell-url"
|
|
1454
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1455
|
+
>
|
|
1456
|
+
<code>https://a8e9d96076a113cd5b9a721e0f16f85d.safeframe.googlesyndicatio…</code>
|
|
1457
|
+
</td>
|
|
1458
|
+
</tr>
|
|
1459
|
+
<tr>
|
|
1460
|
+
<td>Outbrain</td>
|
|
1461
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1462
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1463
|
+
<td
|
|
1464
|
+
class="cell-url"
|
|
1465
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1466
|
+
>
|
|
1467
|
+
<code>https://amplify.outbrain.com/cp/obtp.js</code>
|
|
1468
|
+
</td>
|
|
1469
|
+
</tr>
|
|
1470
|
+
<tr>
|
|
1471
|
+
<td>Facebook SDK</td>
|
|
1472
|
+
<td><span class="badge badge-muted">social</span></td>
|
|
1473
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1474
|
+
<td
|
|
1475
|
+
class="cell-url"
|
|
1476
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1477
|
+
>
|
|
1478
|
+
<code>https://connect.facebook.net/en_US/fbevents.js</code>
|
|
1479
|
+
</td>
|
|
1480
|
+
</tr>
|
|
1481
|
+
<tr>
|
|
1482
|
+
<td>Tracking Pixel</td>
|
|
1483
|
+
<td><span class="badge badge-muted">pixel</span></td>
|
|
1484
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1485
|
+
<td
|
|
1486
|
+
class="cell-url"
|
|
1487
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1488
|
+
>
|
|
1489
|
+
<code>https://collect.tealiumiq.com/event</code>
|
|
1490
|
+
</td>
|
|
1491
|
+
</tr>
|
|
1492
|
+
<tr>
|
|
1493
|
+
<td>Tracking Pixel</td>
|
|
1494
|
+
<td><span class="badge badge-muted">pixel</span></td>
|
|
1495
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1496
|
+
<td
|
|
1497
|
+
class="cell-url"
|
|
1498
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1499
|
+
>
|
|
1500
|
+
<code>https://collect.tealiumiq.com/event</code>
|
|
1501
|
+
</td>
|
|
1502
|
+
</tr>
|
|
1503
|
+
<tr>
|
|
1504
|
+
<td>Tracking Pixel</td>
|
|
1505
|
+
<td><span class="badge badge-muted">pixel</span></td>
|
|
1506
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1507
|
+
<td
|
|
1508
|
+
class="cell-url"
|
|
1509
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1510
|
+
>
|
|
1511
|
+
<code>https://collect.tealiumiq.com/event</code>
|
|
1512
|
+
</td>
|
|
1513
|
+
</tr>
|
|
1514
|
+
<tr>
|
|
1515
|
+
<td>Google AdSense</td>
|
|
1516
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1517
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1518
|
+
<td
|
|
1519
|
+
class="cell-url"
|
|
1520
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1521
|
+
>
|
|
1522
|
+
<code>https://pagead2.googlesyndication.com/bg/7-JEQqPqQyEGd3nK0JmL7-npQZ…</code>
|
|
1523
|
+
</td>
|
|
1524
|
+
</tr>
|
|
1525
|
+
<tr>
|
|
1526
|
+
<td>Outbrain</td>
|
|
1527
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1528
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1529
|
+
<td
|
|
1530
|
+
class="cell-url"
|
|
1531
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1532
|
+
>
|
|
1533
|
+
<code>https://wave.outbrain.com/mtWavesBundler/handler/00244a93dd4b6c51b6…</code>
|
|
1534
|
+
</td>
|
|
1535
|
+
</tr>
|
|
1536
|
+
<tr>
|
|
1537
|
+
<td>Outbrain</td>
|
|
1538
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1539
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1540
|
+
<td
|
|
1541
|
+
class="cell-url"
|
|
1542
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1543
|
+
>
|
|
1544
|
+
<code>https://amplify.outbrain.com/topics</code>
|
|
1545
|
+
</td>
|
|
1546
|
+
</tr>
|
|
1547
|
+
<tr>
|
|
1548
|
+
<td>Outbrain</td>
|
|
1549
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1550
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1551
|
+
<td
|
|
1552
|
+
class="cell-url"
|
|
1553
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1554
|
+
>
|
|
1555
|
+
<code
|
|
1556
|
+
>https://tr.outbrain.com/unifiedPixel?au=false&bust=0028185788252543…</code
|
|
1557
|
+
>
|
|
1558
|
+
</td>
|
|
1559
|
+
</tr>
|
|
1560
|
+
<tr>
|
|
1561
|
+
<td>Outbrain</td>
|
|
1562
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1563
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1564
|
+
<td
|
|
1565
|
+
class="cell-url"
|
|
1566
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1567
|
+
>
|
|
1568
|
+
<code>https://tr.outbrain.com/cachedClickId?marketerId=00244a93dd4b6c51b6…</code>
|
|
1569
|
+
</td>
|
|
1570
|
+
</tr>
|
|
1571
|
+
<tr>
|
|
1572
|
+
<td>Facebook SDK</td>
|
|
1573
|
+
<td><span class="badge badge-muted">social</span></td>
|
|
1574
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1575
|
+
<td
|
|
1576
|
+
class="cell-url"
|
|
1577
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1578
|
+
>
|
|
1579
|
+
<code>https://connect.facebook.net/signals/config/1660821730768627?v=2.9.…</code>
|
|
1580
|
+
</td>
|
|
1581
|
+
</tr>
|
|
1582
|
+
<tr>
|
|
1583
|
+
<td>Google AdSense</td>
|
|
1584
|
+
<td><span class="badge badge-muted">advertising</span></td>
|
|
1585
|
+
<td><span class="badge badge-muted">after-accept</span></td>
|
|
1586
|
+
<td
|
|
1587
|
+
class="cell-url"
|
|
1588
|
+
style="font-size: 11px; color: var(--text-muted); word-break: break-all"
|
|
1589
|
+
>
|
|
1590
|
+
<code
|
|
1591
|
+
>https://pagead2.googlesyndication.com/pagead/sodar?id=sodar2&v=252&…</code
|
|
1592
|
+
>
|
|
1593
|
+
</td>
|
|
1594
|
+
</tr>
|
|
1595
|
+
</tbody>
|
|
1596
|
+
</table>
|
|
1597
|
+
</div>
|
|
1598
|
+
</div>
|
|
1599
|
+
|
|
1600
|
+
<div class="section">
|
|
1601
|
+
<div class="section-header">
|
|
1602
|
+
<h2>IAB TCF</h2>
|
|
1603
|
+
<span class="badge badge-ok">TCF v2</span>
|
|
1604
|
+
<span class="badge badge-muted">CMP 7</span>
|
|
1605
|
+
</div>
|
|
1606
|
+
<div class="section-body">
|
|
1607
|
+
<p
|
|
1608
|
+
style="margin: 0 0 16px; font-size: 12px; color: var(--text-muted); font-style: italic"
|
|
1609
|
+
>
|
|
1610
|
+
Informational only — does not affect the compliance score.
|
|
1611
|
+
</p>
|
|
1612
|
+
<table class="data-table">
|
|
1613
|
+
<thead>
|
|
1614
|
+
<tr>
|
|
1615
|
+
<th>Property</th>
|
|
1616
|
+
<th>Value</th>
|
|
1617
|
+
</tr>
|
|
1618
|
+
</thead>
|
|
1619
|
+
<tbody>
|
|
1620
|
+
<tr>
|
|
1621
|
+
<td style="font-weight: 500; width: 40%">CMP API (<code>__tcfapi</code>)</td>
|
|
1622
|
+
<td><span class="status-ok">✓ Present</span></td>
|
|
1623
|
+
</tr>
|
|
1624
|
+
<tr>
|
|
1625
|
+
<td style="font-weight: 500; width: 40%">
|
|
1626
|
+
Locator frame (<code>__tcfapiLocator</code>)
|
|
1627
|
+
</td>
|
|
1628
|
+
<td><span class="status-ok">✓ Present</span></td>
|
|
1629
|
+
</tr>
|
|
1630
|
+
<tr>
|
|
1631
|
+
<td style="font-weight: 500; width: 40%">Consent string cookie</td>
|
|
1632
|
+
<td><span style="color: var(--text-muted)">—</span></td>
|
|
1633
|
+
</tr>
|
|
1634
|
+
<tr>
|
|
1635
|
+
<td style="font-weight: 500; width: 40%">CMP ID</td>
|
|
1636
|
+
<td>7</td>
|
|
1637
|
+
</tr>
|
|
1638
|
+
</tbody>
|
|
1639
|
+
</table>
|
|
1640
|
+
<div style="margin-top: 20px">
|
|
1641
|
+
<div
|
|
1642
|
+
style="
|
|
1643
|
+
font-size: 12px;
|
|
1644
|
+
font-weight: 600;
|
|
1645
|
+
text-transform: uppercase;
|
|
1646
|
+
letter-spacing: 0.04em;
|
|
1647
|
+
color: var(--text-muted);
|
|
1648
|
+
margin-bottom: 8px;
|
|
1649
|
+
"
|
|
1650
|
+
>
|
|
1651
|
+
Decoded consent string
|
|
1652
|
+
</div>
|
|
1653
|
+
<table class="data-table">
|
|
1654
|
+
<thead>
|
|
1655
|
+
<tr>
|
|
1656
|
+
<th>Field</th>
|
|
1657
|
+
<th>Value</th>
|
|
1658
|
+
</tr>
|
|
1659
|
+
</thead>
|
|
1660
|
+
<tbody>
|
|
1661
|
+
<tr>
|
|
1662
|
+
<td style="font-weight: 500; width: 40%">Version</td>
|
|
1663
|
+
<td>TCF v2</td>
|
|
1664
|
+
</tr>
|
|
1665
|
+
<tr>
|
|
1666
|
+
<td style="font-weight: 500; width: 40%">Created</td>
|
|
1667
|
+
<td>2026-02-28</td>
|
|
1668
|
+
</tr>
|
|
1669
|
+
<tr>
|
|
1670
|
+
<td style="font-weight: 500; width: 40%">Last updated</td>
|
|
1671
|
+
<td>2026-02-28</td>
|
|
1672
|
+
</tr>
|
|
1673
|
+
<tr>
|
|
1674
|
+
<td style="font-weight: 500; width: 40%">CMP ID</td>
|
|
1675
|
+
<td>7</td>
|
|
1676
|
+
</tr>
|
|
1677
|
+
<tr>
|
|
1678
|
+
<td style="font-weight: 500; width: 40%">CMP version</td>
|
|
1679
|
+
<td>1</td>
|
|
1680
|
+
</tr>
|
|
1681
|
+
<tr>
|
|
1682
|
+
<td style="font-weight: 500; width: 40%">Consent language</td>
|
|
1683
|
+
<td>EN</td>
|
|
1684
|
+
</tr>
|
|
1685
|
+
<tr>
|
|
1686
|
+
<td style="font-weight: 500; width: 40%">Vendor list version</td>
|
|
1687
|
+
<td>147</td>
|
|
1688
|
+
</tr>
|
|
1689
|
+
<tr>
|
|
1690
|
+
<td style="font-weight: 500; width: 40%">TCF policy version</td>
|
|
1691
|
+
<td>5</td>
|
|
1692
|
+
</tr>
|
|
1693
|
+
<tr>
|
|
1694
|
+
<td style="font-weight: 500; width: 40%">Service specific</td>
|
|
1695
|
+
<td>Yes</td>
|
|
1696
|
+
</tr>
|
|
1697
|
+
<tr>
|
|
1698
|
+
<td style="font-weight: 500; width: 40%">Publisher country</td>
|
|
1699
|
+
<td>AA</td>
|
|
1700
|
+
</tr>
|
|
1701
|
+
</tbody>
|
|
1702
|
+
</table>
|
|
1703
|
+
</div>
|
|
1704
|
+
<p style="margin-top: 16px; font-size: 13px; color: var(--text-muted)">
|
|
1705
|
+
No purposes with explicit consent.
|
|
1706
|
+
</p>
|
|
1707
|
+
</div>
|
|
1708
|
+
</div>
|
|
1709
|
+
|
|
1710
|
+
<div class="section">
|
|
1711
|
+
<div class="section-header">
|
|
1712
|
+
<h2>Recommendations</h2>
|
|
1713
|
+
<span class="count-badge">3</span>
|
|
1714
|
+
</div>
|
|
1715
|
+
<div class="section-body">
|
|
1716
|
+
<ul class="rec-list">
|
|
1717
|
+
<li class="rec-item">
|
|
1718
|
+
<span class="rec-num">1</span>
|
|
1719
|
+
<span
|
|
1720
|
+
>Do not set any non-essential cookie before consent. Gate the initialisation of
|
|
1721
|
+
third-party scripts on the acceptance callback.</span
|
|
1722
|
+
>
|
|
1723
|
+
</li>
|
|
1724
|
+
<li class="rec-item">
|
|
1725
|
+
<span class="rec-num">2</span>
|
|
1726
|
+
<span
|
|
1727
|
+
>Complete the modal information: processing purposes, identity of sub-processors,
|
|
1728
|
+
retention period, right to withdraw.</span
|
|
1729
|
+
>
|
|
1730
|
+
</li>
|
|
1731
|
+
<li class="rec-item">
|
|
1732
|
+
<span class="rec-num">3</span>
|
|
1733
|
+
<span
|
|
1734
|
+
>Remove or block non-essential cookies after rejection, and verify consent handling
|
|
1735
|
+
server-side.</span
|
|
1736
|
+
>
|
|
1737
|
+
</li>
|
|
1738
|
+
</ul>
|
|
1739
|
+
</div>
|
|
1740
|
+
</div>
|
|
1741
|
+
|
|
1742
|
+
<div class="section">
|
|
1743
|
+
<div class="section-header">
|
|
1744
|
+
<h2>Compliance checklist</h2>
|
|
1745
|
+
<span class="count-badge">12 rules</span>
|
|
1746
|
+
<span class="badge badge-ok">8 ✓</span>
|
|
1747
|
+
<span class="badge badge-critical">3 ✗</span>
|
|
1748
|
+
<span class="badge badge-warning">1 ⚠</span>
|
|
1749
|
+
</div>
|
|
1750
|
+
<div class="section-body no-pad">
|
|
1751
|
+
<table class="data-table">
|
|
1752
|
+
<thead>
|
|
1753
|
+
<tr>
|
|
1754
|
+
<th>Category</th>
|
|
1755
|
+
<th>Rule</th>
|
|
1756
|
+
<th>Status</th>
|
|
1757
|
+
<th>Detail</th>
|
|
1758
|
+
</tr>
|
|
1759
|
+
</thead>
|
|
1760
|
+
<tbody>
|
|
1761
|
+
<tr>
|
|
1762
|
+
<td
|
|
1763
|
+
rowspan="3"
|
|
1764
|
+
style="font-weight: 600; vertical-align: top; background: var(--bg)"
|
|
1765
|
+
>
|
|
1766
|
+
Consent
|
|
1767
|
+
</td>
|
|
1768
|
+
<td>Consent modal detected</td>
|
|
1769
|
+
<td><span class="status-ok">✓ Compliant</span></td>
|
|
1770
|
+
<td style="color: var(--text-muted); font-size: 12px">
|
|
1771
|
+
Detected (.didomi-popup-container)
|
|
1772
|
+
</td>
|
|
1773
|
+
</tr>
|
|
1774
|
+
<tr>
|
|
1775
|
+
<td>No pre-ticked checkboxes</td>
|
|
1776
|
+
<td><span class="status-ok">✓ Compliant</span></td>
|
|
1777
|
+
<td style="color: var(--text-muted); font-size: 12px">None detected</td>
|
|
1778
|
+
</tr>
|
|
1779
|
+
<tr>
|
|
1780
|
+
<td>Unambiguous accept label</td>
|
|
1781
|
+
<td><span class="status-ok">✓ Compliant</span></td>
|
|
1782
|
+
<td style="color: var(--text-muted); font-size: 12px">TOUT ACCEPTER</td>
|
|
1783
|
+
</tr>
|
|
1784
|
+
<tr>
|
|
1785
|
+
<td
|
|
1786
|
+
rowspan="3"
|
|
1787
|
+
style="font-weight: 600; vertical-align: top; background: var(--bg)"
|
|
1788
|
+
>
|
|
1789
|
+
Easy refusal
|
|
1790
|
+
</td>
|
|
1791
|
+
<td>Reject button at first layer</td>
|
|
1792
|
+
<td><span class="status-ok">✓ Compliant</span></td>
|
|
1793
|
+
<td style="color: var(--text-muted); font-size: 12px">Continuer sans accepter →</td>
|
|
1794
|
+
</tr>
|
|
1795
|
+
<tr>
|
|
1796
|
+
<td>Reject ≤ clicks than accept</td>
|
|
1797
|
+
<td><span class="status-ok">✓ Compliant</span></td>
|
|
1798
|
+
<td style="color: var(--text-muted); font-size: 12px">Accept: 1 · Reject: 1</td>
|
|
1799
|
+
</tr>
|
|
1800
|
+
<tr>
|
|
1801
|
+
<td>Button size symmetry</td>
|
|
1802
|
+
<td><span class="status-ok">✓ Compliant</span></td>
|
|
1803
|
+
<td style="color: var(--text-muted); font-size: 12px">Comparable sizes</td>
|
|
1804
|
+
</tr>
|
|
1805
|
+
<tr>
|
|
1806
|
+
<td
|
|
1807
|
+
rowspan="3"
|
|
1808
|
+
style="font-weight: 600; vertical-align: top; background: var(--bg)"
|
|
1809
|
+
>
|
|
1810
|
+
Transparency
|
|
1811
|
+
</td>
|
|
1812
|
+
<td>Granular controls available</td>
|
|
1813
|
+
<td><span class="status-warn">⚠ Warning</span></td>
|
|
1814
|
+
<td style="color: var(--text-muted); font-size: 12px">No granular controls</td>
|
|
1815
|
+
</tr>
|
|
1816
|
+
<tr>
|
|
1817
|
+
<td>Privacy policy in modal</td>
|
|
1818
|
+
<td><span class="status-ok">✓ Compliant</span></td>
|
|
1819
|
+
<td style="color: var(--text-muted); font-size: 12px">
|
|
1820
|
+
https://www.m6.fr/politique-de-confidentialite/cookies-partenaires
|
|
1821
|
+
</td>
|
|
1822
|
+
</tr>
|
|
1823
|
+
<tr>
|
|
1824
|
+
<td>Privacy policy on page</td>
|
|
1825
|
+
<td><span class="status-ok">✓ Compliant</span></td>
|
|
1826
|
+
<td style="color: var(--text-muted); font-size: 12px">
|
|
1827
|
+
https://www.m6.fr/politique-de-confidentialite/cookies-partenaires
|
|
1828
|
+
</td>
|
|
1829
|
+
</tr>
|
|
1830
|
+
<tr>
|
|
1831
|
+
<td
|
|
1832
|
+
rowspan="3"
|
|
1833
|
+
style="font-weight: 600; vertical-align: top; background: var(--bg)"
|
|
1834
|
+
>
|
|
1835
|
+
Cookie behavior
|
|
1836
|
+
</td>
|
|
1837
|
+
<td>No non-essential cookie before consent</td>
|
|
1838
|
+
<td><span class="status-ko">✗ Non-compliant</span></td>
|
|
1839
|
+
<td style="color: var(--text-muted); font-size: 12px">2: gmid, ucid</td>
|
|
1840
|
+
</tr>
|
|
1841
|
+
<tr>
|
|
1842
|
+
<td>Non-essential cookies removed after reject</td>
|
|
1843
|
+
<td><span class="status-ko">✗ Non-compliant</span></td>
|
|
1844
|
+
<td style="color: var(--text-muted); font-size: 12px">2 persisting</td>
|
|
1845
|
+
</tr>
|
|
1846
|
+
<tr>
|
|
1847
|
+
<td>No tracker before consent</td>
|
|
1848
|
+
<td><span class="status-ko">✗ Non-compliant</span></td>
|
|
1849
|
+
<td style="color: var(--text-muted); font-size: 12px">8 tracker(s)</td>
|
|
1850
|
+
</tr>
|
|
1851
|
+
</tbody>
|
|
1852
|
+
</table>
|
|
1853
|
+
</div>
|
|
1854
|
+
</div>
|
|
1855
|
+
|
|
1856
|
+
<div class="footer">
|
|
1857
|
+
Generated by <a href="https://github.com/Slashgear/gdpr-report">gdpr-cookie-scanner</a>
|
|
1858
|
+
on 28 February 2026 at 16:00
|
|
1859
|
+
</div>
|
|
1860
|
+
</div>
|
|
1861
|
+
</body>
|
|
1862
|
+
</html>
|