Evidence: https://saferpage.de/nachweise/schulpost.eszc.de/export
Hash: ccb6322cc85f0f0aa3dc2e4b · Previous: 88c06f9445c6dd3f92217f2aConsent Database / Ledger
schulpost.eszc.de: Einwilligungen nachweisbar speichern
schulpost.eszc.de: 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/schulpost.eszc.de/export
Hash: 435e77778962d1c69744375d · Previous: ccb6322cc85f0f0aa3dc2e4bEvidence: https://saferpage.de/nachweise/schulpost.eszc.de/export
Hash: 379efaf4b92dc98e2b234513 · Previous: 435e77778962d1c69744375dEvidence: https://saferpage.de/nachweise/schulpost.eszc.de/export
Hash: e31078e0c88f7c6c732949f2 · Previous: 379efaf4b92dc98e2b234513Evidence: https://saferpage.de/nachweise/schulpost.eszc.de/export
Hash: 0416f3d03cb72872567f2de7 · Previous: e31078e0c88f7c6c732949f2Evidence: https://saferpage.de/nachweise/schulpost.eszc.de/export
Hash: db60e37fc456e118264d46ad · Previous: 0416f3d03cb72872567f2de7Evidence: https://saferpage.de/nachweise/schulpost.eszc.de/export
Hash: 31e6c363a5092a236bf6d54d · Previous: db60e37fc456e118264d46adExport 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_schulpost_eszc_de (
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_schulpost_eszc_de_subject_idx ON consent_ledger_schulpost_eszc_de (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: 'schulpost.eszc.de',
banner_version: 'v1',
policy_version: 'privacy-notice-current',
action: 'save',
categories: event.detail,
evidence_ref: window.location.href
})
});
});