Evidence: https://saferpage.de/nachweise/stmk.lfi.at/export
Hash: f44c122ef219d3536e7bd644 · Previous: e82da3dbc723d427f6104866Consent Database / Ledger
stmk.lfi.at: Einwilligungen nachweisbar speichern
stmk.lfi.at: Consent-Ledger-Blueprint mit 14 Datenfeldern, 7 Ereignissen, 7 Log-Zeilen und 6 Kategorien für auditierbare Einwilligungsnachweise.
Der Ledger-Blueprint ist eine technische Betreiber-Vorlage. Rechtsgrundlage, Speicherfrist, Zugriffsschutz und Integration in CMP/Backend müssen fachlich freigegeben werden.
Consent Log
Downloadbare Transaktionszeilen mit Hashkette
Evidence: https://saferpage.de/nachweise/stmk.lfi.at/export
Hash: 08aea5389cc0148fea58a35f · Previous: f44c122ef219d3536e7bd644Evidence: https://saferpage.de/nachweise/stmk.lfi.at/export
Hash: 83766c75d64201fcd4d40250 · Previous: 08aea5389cc0148fea58a35fEvidence: https://saferpage.de/nachweise/stmk.lfi.at/export
Hash: 584b05d58048bdfd9005f405 · Previous: 83766c75d64201fcd4d40250Evidence: https://saferpage.de/nachweise/stmk.lfi.at/export
Hash: 9638f7208d938e31fb5f62c2 · Previous: 584b05d58048bdfd9005f405Evidence: https://saferpage.de/nachweise/stmk.lfi.at/export
Hash: 459d5d97ad7bec260636fd3a · Previous: 9638f7208d938e31fb5f62c2Evidence: https://saferpage.de/nachweise/stmk.lfi.at/export
Hash: 9d482a78e181edc17a629cde · Previous: 459d5d97ad7bec260636fd3aExport immer nach Domain, Zeitraum und Rechtsraum filtern; keine domainübergreifenden Rohlogs ohne Zweckfreigabe.
Subject-, IP- und User-Agent-Bezug nur gehasht und mit Zugriffsschutz exportieren.
Jede Zeile enthält previous_hash und row_hash, damit nachträgliche Änderungen auffallen.
DSAR-Export trennt Nachweiszweck, technische Logs und Lösch-/Sperrentscheidungen.
Nachweisfrist und Löschfristen je Zweck dokumentieren; abgelaufene Rohdaten aggregieren oder löschen.
Ereignisse
Welche Consent-Aktionen protokolliert werden
Belegt, welche Version Nutzer gesehen haben.
Felder: domain, banner_version, policy_version, region, created_atZentrale Nachweiszeile für aktive Einwilligung.
Felder: consent_id, categories, services, action, created_atAblehnen muss genauso auditierbar sein wie Akzeptieren.
Felder: consent_id, categories, action, created_atWiderruf überschreibt Downstream-Zustände und muss nachvollziehbar bleiben.
Felder: previous_consent_id, withdrawn_at, categories, source0 Datenschutz-Domain(s) im GPC-Kontext.
Felder: gpc_signal, region, action, created_at0 datenschutzrelevante Browserkontakt(e) aus dem Scan.
Felder: destination, categories, sync_status, created_atVerbindet Betreiberentscheidung mit technischer Scan-Evidenz.
Felder: scan_id, checked_at, result_url, evidence_hashDatenmodell
Minimale Felder für auditierbare Nachweise
Eindeutiger Nachweisdatensatz
Nicht als Klartext-Personenkennung verwenden.Wiedererkennung ohne Klartext-ID
Salt/Rotation und Zugriffsschutz dokumentieren.Betroffene Website
Mandanten-/Domain-Trennung erzwingen.DE/EU/CH/AT oder CMP-Region
Regelbasiertes Verhalten nachvollziehbar machen.Version der Consent-Oberfläche
Bei Text-/Layoutänderung erhöhen.Datenschutz-/Cookie-Hinweis-Version
Mit veröffentlichtem Hinweis und Datum verbinden.Status je Kategorie
Nur notwendige Kategorien speichern.Optionaler Status je Dienst
Dienste aus Anbieterregister synchronisieren.accept, reject, save, withdraw, gpc
Ablehnung und Widerruf gleichwertig protokollieren.Missbrauchs-/Nachweisbezug
Klartext-IP vermeiden; Speicherfrist begrenzen.Technischer Kontext
Nicht für Tracking oder Profiling verwenden.Verweis auf Scan, Screenshot oder Export
Keine sensiblen Rohdaten in öffentliche Exporte schreiben.Zeitpunkt der Entscheidung
Zeitzone und Serverzeit stabil halten.Review-/Ablauffrist
Regelmäßige Erneuerung und Löschung planen.Speicherung
Kontrollen für Datenschutz und Betrieb
Klartext-IP, User-Agent und Personenkennung vermeiden; Hash/Salt und kurze Fristen verwenden.
Banner-, Policy-, Kategorie- und Anbieterregister-Version bei jeder Entscheidung speichern.
Widerruf an Tag Manager, CMP, Analytics, Ads und CRM weitergeben und Synchronisierung protokollieren.
Nachweisfrist, Zweckende, erneute Einwilligung und DSAR-Löschung als Löschtrigger definieren.
Ledger nur für Datenschutz/Compliance/IT freigeben; Exportzugriffe protokollieren.
Snippets
Backend und Banner verbinden
CREATE TABLE consent_ledger_stmk_lfi_at (
consent_id text PRIMARY KEY,
subject_key_hash text NOT NULL,
domain text NOT NULL,
region text NOT NULL,
banner_version text NOT NULL,
policy_version text NOT NULL,
action text NOT NULL CHECK (action IN ('accept','reject','save','withdraw','gpc')),
categories_json jsonb NOT NULL,
services_json jsonb NOT NULL DEFAULT '{}'::jsonb,
gpc_signal boolean NOT NULL DEFAULT false,
ip_hash text,
user_agent_hash text,
evidence_ref text,
created_at timestamptz NOT NULL DEFAULT now(),
expires_at timestamptz
);
CREATE INDEX consent_ledger_stmk_lfi_at_subject_idx ON consent_ledger_stmk_lfi_at (subject_key_hash, created_at DESC);
window.addEventListener('saferpage-consent-update', function (event) {
fetch('/privacy/consent-ledger', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
credentials: 'same-origin',
body: JSON.stringify({
domain: 'stmk.lfi.at',
banner_version: 'v1',
policy_version: 'privacy-notice-current',
action: 'save',
categories: event.detail,
evidence_ref: window.location.href
})
});
});