Analyse: Client prüft Einwilligung vor dem Senden, Fassung der Banner-Wahl, fetch ohne Cookies
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c2cbc4156f
commit
8d64a18d35
5 files changed
+354
-131
No files matched your search
Vendored
+7
-1
@@ -6,6 +6,11 @@
|
||||
|
||||
const CONSENT_KEY = 'wk-consent';
|
||||
const CONSENT_MAX_AGE = 183 * 86400000;
|
||||
const BANNER_VERSION = '2026-10-02';
|
||||
const BANNER_TEXT = 'Um unsere Website zu verbessern, zählen wir Seitenaufrufe mit Land und Gerätetyp, ohne Kennung. Mit Deiner Zustimmung messen wir zusätzlich, von welcher Website Du kommst, wie lange Du bleibst, wie weit Du scrollst und wo Du klickst (Heatmap), mit einer täglich wechselnden Kennung. Die Messung betreibt für uns die WEBklar GbR in Deutschland, ohne Cookies und ohne Werbung. Nach „Ablehnen“ zählen wir nur noch, dass Du abgelehnt hast. Deine Zustimmung kannst Du jederzeit über „Datenschutz-Einstellungen“ mit Wirkung für die Zukunft widerrufen. Details: ';
|
||||
const BANNER_LINK_LABEL = 'Datenschutz';
|
||||
const BANNER_ARIA = 'Einwilligung zur Reichweitenmessung';
|
||||
const SETTINGS_LABEL = 'Datenschutz-Einstellungen';
|
||||
|
||||
function vpClass(width) {
|
||||
const w = Number(width);
|
||||
@@ -92,9 +97,10 @@ function readConsent(storage, now) {
|
||||
if (!raw) return null;
|
||||
const c = JSON.parse(raw);
|
||||
if (!c || c.v !== 1 || (c.a !== 'accept' && c.a !== 'reject') || typeof c.t !== 'number' || !isFinite(c.t)) return null;
|
||||
if (c.bv !== BANNER_VERSION) return null; // andere/fehlende Fassung des Banner-Textes: neu fragen
|
||||
const age = now - c.t;
|
||||
if (age < 0 || age >= CONSENT_MAX_AGE) return null;
|
||||
return { v: 1, a: c.a, t: c.t };
|
||||
return { v: 1, a: c.a, t: c.t, bv: c.bv };
|
||||
} catch (e) { return null; }
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user