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
@@ -3,6 +3,11 @@
|
||||
|
||||
export const CONSENT_KEY = 'wk-consent';
|
||||
export const CONSENT_MAX_AGE = 183 * 86400000;
|
||||
export const BANNER_VERSION = '2026-10-02';
|
||||
export 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: ';
|
||||
export const BANNER_LINK_LABEL = 'Datenschutz';
|
||||
export const BANNER_ARIA = 'Einwilligung zur Reichweitenmessung';
|
||||
export const SETTINGS_LABEL = 'Datenschutz-Einstellungen';
|
||||
|
||||
export function vpClass(width) {
|
||||
const w = Number(width);
|
||||
@@ -89,9 +94,10 @@ export 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