Clear-Site-Data: Browser-Daten sicher löschen

Ein HTTP-Header, der beim Logout alle Cookies, Caches und Storage-Daten im Browser löscht — sicherer als manuelles Cookie-Löschen und in 10 Minuten implementiert.

Web Security · 3 Punkte
Web Security · Grundlagen

Was ist Clear-Site-Data?

Clear-Site-Data löscht beim Logout sämtliche Browser-Daten Ihrer Website mit einem einzigen HTTP-Header — Cookies, localStorage, sessionStorage, IndexedDB, Cache und Service Worker. Er ist das ideale Werkzeug für sichere Logout-Implementierungen: Ein einziger Header ersetzt das fehleranfällige manuelle Löschen einzelner Cookies und Storage-Einträge. Der Wolf-Agents Web Security Check prüft Clear-Site-Data als Teil der 166 Prüfpunkte.

Der Header wird ausschließlich auf Logout-Endpoints gesetzt, nicht auf normalen Seiten. Auf einer regulären Seite würde Clear-Site-Data die aktive Session des Nutzers sofort zerstören. Richtig eingesetzt verhindert er, dass nach dem Logout personenbezogene Daten im Browser zurückbleiben — besonders kritisch an Shared Devices in Hotels, Bibliotheken oder Kiosken.

1 Header Ersetzt manuelles Löschen von Cookies, Storage und Cache — eine Zeile statt zehn
3 Pkt. Im Wolf-Agents Web Security Check — Anfänger-Schwierigkeit, in 10-15 Minuten implementiert
Shared Devices Hotel, Bibliothek, Kiosk — ohne Clear-Site-Data findet der nächste Nutzer Ihre Session-Daten
Angriffsszenario

Session-Übernahme nach Logout

Ohne Clear-Site-Data bleiben nach dem Logout personenbezogene Daten im Browser. An Shared Devices kann der nächste Nutzer diese Daten über die DevTools einsehen oder eine Race Condition ausnutzen.

1

Nutzer loggt sich ein

Am Hotel-Business-Center — der Browser speichert Session-Cookies, localStorage-Daten mit Profil und IBAN, sessionStorage mit der letzten Transaktion.

2

Logout ohne Clear-Site-Data

Der Server invalidiert die Session serverseitig und setzt den Session-Cookie auf abgelaufen. Aber: localStorage, sessionStorage und Cache bleiben unberührt.

3

Nächster Nutzer öffnet DevTools

Application-Tab → Local Storage: Profilname, IBAN, letzte Transaktion — alles lesbar. Bei einer Race Condition sogar die Session wiederherstellbar.

Mit Clear-Site-Data:
Logout-Response Sicher
# Der Browser löscht sofort alle Daten dieser Origin
Clear-Site-Data: "cache", "cookies", "storage"

Der nächste Nutzer findet einen sauberen Browser vor — keine Cookies, kein Storage, kein Cache.

Referenz

Verfügbare Direktiven

Jede Direktive löscht einen bestimmten Speicherbereich. Die Werte müssen in Anführungszeichen stehen — "cache" ist korrekt, cache ohne Anführungszeichen wird ignoriert.

Direktive Löscht Details
"cache" HTTP-Cache Prefetch, bfcache, WebGL Shader, compiled JS
"cookies" Alle Cookies Gesamte Domain inkl. Subdomains + HTTP-Auth
"storage" Web Storage localStorage, sessionStorage, IndexedDB, Service Workers
"*" Alles Alle obigen + zukünftige Typen — für Notfall-Reset

Empfohlene Verwendung

Logout "cache", "cookies", "storage"
Passwort-Änderung "cookies", "storage"
Account-Löschung (DSGVO Art. 17) "*"
Nur auf Logout-Endpoints verwenden!

Clear-Site-Data auf normalen Seiten (Homepage, Dashboard) zerstört die aktive Session. Beschränken Sie den Header ausschließlich auf Logout-, Passwort-Änderungs- und Account-Löschungs-Endpoints.

Kompatibilität

Browser-Support

Clear-Site-Data wird von allen modernen Chromium-basierten Browsern vollständig unterstützt. Firefox hat Einschränkungen bei der "cache"-Direktive. Implementieren Sie einen JavaScript-Fallback für ältere Browser.

Browser cache cookies storage
Chrome 61+ Ja Ja Ja
Edge 79+ Ja Ja Ja
Firefox 63+ Teilweise Ja Ja
Safari 17+ Ja Ja Ja

Firefox: Die "cache"-Direktive wurde in v94 entfernt und erst in v138 wiederhergestellt. Globale Abdeckung: ca. 94%.

JavaScript-Fallback für ältere Browser

logout-fallback.js Fallback
// Client-seitiger Fallback für Browser ohne Clear-Site-Data
localStorage.clear();
sessionStorage.clear();

// IndexedDB löschen
indexedDB.databases().then(dbs =>
  dbs.forEach(db => indexedDB.deleteDatabase(db.name))
);

// Service Worker deregistrieren
navigator.serviceWorker?.getRegistrations()
  .then(regs => regs.forEach(r => r.unregister()));

// Caches leeren
caches?.keys().then(names =>
  names.forEach(name => caches.delete(name))
);
Implementierung

Best Practices und Compliance

Clear-Site-Data allein reicht nicht — kombinieren Sie den Header mit serverseitiger Session-Invalidierung und einem Redirect für einen vollständig sicheren Logout. Regulatorisch erfüllt Clear-Site-Data Anforderungen aus DSGVO Art. 32 (Sicherheit der Verarbeitung — Verhinderung unbefugten Zugriffs auf Session-Daten), DSGVO Art. 17 (Recht auf Löschung — clientseitige Datenlöschung bei Account-Löschung) und dem OWASP Session Management Cheat Sheet (vollständige Bereinigung bei Session-Beendigung).

  1. Immer mit Cache-Control kombinieren: Cache-Control: no-store verhindert, dass die Logout-Response selbst gecacht wird.
  2. Session serverseitig invalidieren: Clear-Site-Data ist clientseitig — der Server muss die Session zusätzlich in der Datenbank als ungültig markieren.
  3. POST statt GET für Logout: Verhindert CSRF-Angriffe durch automatisch geladene GET-Requests über <img>-Tags oder Links.
  4. Redirect nach dem Logout: Der Clear-Site-Data Header muss in der Response enthalten sein — erst der Browser-Empfang löst die Löschung aus.
  5. Nur HTTPS: Clear-Site-Data funktioniert ausschließlich über HTTPS. Auf HTTP-Verbindungen wird der Header vom Browser ignoriert.

Wie steht Ihre Domain bei Clear-Site-Data?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.

Häufig gestellte Fragen

Was ist der Clear-Site-Data Header?

Clear-Site-Data ist ein HTTP-Response-Header, der den Browser anweist, alle gespeicherten Daten einer Website zu löschen — Cookies, localStorage, sessionStorage, IndexedDB, Cache und Service Worker. Er wird ausschließlich auf Logout-Endpoints gesetzt, um eine vollständige clientseitige Bereinigung bei der Session-Beendigung sicherzustellen.

Warum reicht Set-Cookie mit abgelaufenem Datum nicht für einen sicheren Logout?

Set-Cookie mit einem vergangenen Ablaufdatum löscht nur den einen benannten Cookie. Daten in localStorage, sessionStorage, IndexedDB, Cache und Service Worker bleiben erhalten. Am nächsten Shared Device (Hotel, Bibliothek) kann der Folgenutzer diese Daten über die DevTools einsehen. Clear-Site-Data löscht alle Speicherbereiche in einem Schritt.

Kann Clear-Site-Data meine Website kaputt machen?

Ja — wenn Sie den Header auf normalen Seiten statt nur auf dem Logout-Endpoint setzen. Clear-Site-Data löscht alle Cookies, Storage und Cache der gesamten Origin. Auf einer normalen Seite würde das die aktive Session des Nutzers sofort zerstören. Beschränken Sie den Header ausschließlich auf Logout- und Passwort-Änderungs-Endpoints.

Welche Browser unterstützen Clear-Site-Data?

Chrome (ab Version 61), Edge (ab 79) und Firefox (ab 63, mit Einschränkungen bei der cache-Direktive) unterstützen Clear-Site-Data. Safari hat seit Version 17 experimentelle Unterstützung. Die globale Abdeckung liegt bei ca. 94%. Implementieren Sie einen clientseitigen JavaScript-Fallback für ältere Browser.

Wie viele Punkte bringt Clear-Site-Data im Wolf-Agents Web Security Check?

Clear-Site-Data wird mit bis zu 3 Punkten im Wolf-Agents Web Security Check bewertet. Geprüft wird, ob der Header auf dem Logout-Endpoint gesetzt ist und ob alle relevanten Direktiven (cache, cookies, storage) enthalten sind. Das Kapitel ist als Anfänger-Schwierigkeit eingestuft — die Implementierung dauert 10 bis 15 Minuten.

Ist Clear-Site-Data für DSGVO-Compliance relevant?

Ja. Bei einer Kontolöschung nach DSGVO Art. 17 (Recht auf Löschung) ergänzt Clear-Site-Data die serverseitige Datenlöschung durch eine vollständige clientseitige Bereinigung. Auch Art. 32 (Sicherheit der Verarbeitung) wird bedient: Der Header verhindert, dass personenbezogene Daten nach dem Logout im Browser verbleiben.