Cookies

Zur Konfiguration einer CMP werden nachfolgend alle Daten aufgelistet, die die Rätsel im Browser ablegen. Es gibt 4 Kategorien: Notwendig, Präferenzen, Statistiken und Marketing. Die Rätsel nutzen ausschließlich notwendige Einträge und Einträge für Präferenzen.

Eine CMP-Lösung erfasst in der Regel nur HTTP Cookies und den HTML Local Storage. Session Storage, IndexedDB und der Zwischenspeicher bleiben davon unberührt. Sie sind hier dennoch vollständig aufgeführt, da sie für eine Datenschutzerklärung relevant sind.


Namensschema

Einträge werden nach folgendem Muster benannt: [product identifier]-[bereich]-[name]. Ein Präferenz-Eintrag für die Einstellung des Dark-Modes unter Sudoku lautet sdk-pref-darkmode.

Die Product Identifier lauten wie folgt:

Produkt Identifier
Worteck wrdl
Sudoku sdk
Wortwabe wrtwb
Kreuzworträtsel xwrt
Kinonym knnym

Als Bereich kommen user, pref und storage vor. Einige Einträge weichen vom Muster ab: [product identifier]-token, [product identifier]-rank-shown, [product identifier]-record-shown und [product identifier]-streak-shown tragen keinen Bereich. Der Eintrag supporter:checkout trägt keinen Identifier.


Notwendige Einträge

Notwendige Einträge sind Voraussetzung für den Betrieb der Rätsel. Werden sie unterdrückt oder gelöscht, gehen Spielstände und Statistiken der Nutzer:innen verloren, wodurch die Spiele nicht nutzbar sind.

Die Spalte Gilt für nennt die Rätsel, in denen ein Eintrag vorkommt, und die Bedingung, unter der er entsteht.

Eintrag Beschreibung Typ Gilt für Ablauf Bei Löschung
[product identifier]-user-stats Speichert die Statistiken der Nutzer:innen HTML Local Storage Alle Persistent, bleibt auch nach dem Abmelden Alle Statistiken gehen verloren
[product identifier]-user-games Speichert die Eingaben der Nutzer:innen zu den täglichen Rätseln HTML Local Storage Alle Persistent, bleibt auch nach dem Abmelden Alle Spielstände gehen verloren
[product identifier]-storage-uploaded Vermerkt den Stand der zuletzt übertragenen Daten, damit unveränderte Daten nicht erneut gesendet werden HTML Local Storage Alle, mit Anmeldung Persistent Die nächste Synchronisation überträgt alle Daten erneut
[product identifier]-storage-imported Vermerkt, dass die lokalen Daten gerade aus dem Konto übernommen wurden HTML Local Storage Alle, mit Anmeldung Einmalig, wird direkt nach dem Lesen entfernt Ohne Folge
[product identifier]-streak-decay-anchored Vermerkt, dass der Verfall der Serie auf diesem Gerät bereits berücksichtigt wurde HTML Local Storage Worteck, mit Verfall der Serie Persistent Die Serie kann fälschlich verfallen
[product identifier]-token Speichert die Anmeldung beim integrierten Anmelde-Interface HTTP Cookie Alle, mit Anmeldung 7 Tage, wird beim Abmelden entfernt Nutzer:innen werden abgemeldet
XSRF-TOKEN Wird von Laravel gesetzt und bei einer Anmeldung über eine Session gelesen HTTP Cookie Alle, mit Anmeldung über eine Session Laravel-Standard Die Anmeldung schlägt fehl
Name aus der SSO-Konfiguration Speichert das Token einer externen Anmeldung. Der Eintrag wird gelesen und beim Abmelden entfernt, jedoch nicht von den Rätseln gesetzt HTTP Cookie Alle, mit externer Anmeldung Wird extern bestimmt Nutzer:innen werden abgemeldet
[product identifier]-token Sichert den Rahmen der externen Anmeldung ab. Der Eintrag trägt denselben Namen wie das Cookie, erfüllt aber eine andere Aufgabe HTML Session Storage Alle, mit externer Anmeldung Bis zum Schließen des Tabs Die Anmeldung beginnt von vorn
supporter:checkout Vermerkt die Rückkehr aus einem Bezahlvorgang HTML Session Storage Alle, mit Bezahlfunktion Einmalig, wird direkt nach dem Lesen entfernt Die Bestätigungsseite erkennt die Rückkehr nicht

Präferenzen

Unter Präferenzen fallen Einstellungen, die für den Betrieb eines Rätsels nicht notwendig sind. Präferierte Einstellungen können von Nutzer:innen dauerhaft gespeichert werden, wenn sie ihre Zustimmung zur Speicherung dieser Einträge zulassen.

Ebenfalls unter Präferenzen fallen Einträge, die den zuletzt angezeigten Stand einer Statistik festhalten. Sie dienen allein der Animation und lassen sich ohne Datenverlust entfernen.

Eintrag Beschreibung Typ Gilt für Ablauf Bei Löschung
[product identifier]-pref-darkmode Speichert die Einstellung zum Dark-Mode HTML Local Storage Alle Persistent Der Dark-Mode fällt auf die Voreinstellung zurück
[product identifier]-pref-contrast Speichert die Einstellung für einen stärkeren Kontrast der Farben HTML Local Storage Worteck Persistent Der Kontrast fällt auf die Voreinstellung zurück
[product identifier]-pref-hardmode Speichert die Einstellung, ob Nutzer:innen bevorzugt im schwierigen Modus rätseln HTML Local Storage Worteck Persistent Der schwierige Modus ist wieder abgeschaltet
[product identifier]-pref-handwritten Speichert die Einstellung, ob Zahlen in Schreibschrift dargestellt werden HTML Local Storage Sudoku Persistent Die Schreibschrift fällt auf die Voreinstellung zurück
[product identifier]-pref-helpmode Speichert die Einstellung, ob die Tastatur bereits verbrauchte Ziffern kennzeichnet HTML Local Storage Sudoku Persistent Die Kennzeichnung fällt auf die Voreinstellung zurück
[product identifier]-pref-wordlistsort Speichert die gewählte Sortierung der Wortliste HTML Local Storage Wortwabe Persistent Die Sortierung fällt auf die Voreinstellung zurück
[product identifier]-pref-streak-decay-info Vermerkt, dass der Hinweis zum Verfall der Serie gesehen wurde HTML Local Storage Worteck, mit Verfall der Serie Persistent Der Hinweis erscheint erneut
[product identifier]-rank-shown Speichert den zuletzt angezeigten Stand der Serie HTML Local Storage Worteck Persistent Die Animation läuft einmalig falsch
[product identifier]-record-shown Speichert die zuletzt angezeigte längste Serie, um einen neuen Rekord zu erkennen HTML Local Storage Worteck Persistent Ein neuer Rekord wird einmalig nicht hervorgehoben
[product identifier]-streak-shown Speichert den zuletzt angezeigten Stand der Serie HTML Local Storage Kinonym Persistent Die Animation läuft einmalig falsch
[product identifier]-stats-shown-local, [product identifier]-stats-shown-cloud Speichert die zuletzt angezeigten Werte der Statistik, getrennt nach lokalem Spielstand und Spielstand im Konto HTML Local Storage Alle Persistent Die Animation läuft einmalig falsch

IndexedDB

Die täglichen Rätsel werden im Browser des Clients abgelegt, um schneller und offline zur Verfügung zu stehen. Die Speicherung der Rätsel ist ebenfalls notwendig.

Der Name der Datenbank entspricht dem Product Identifier, der Objektspeicher darin trägt den Namen puzzles. In den Entwicklertools des Browsers erscheint diese Kombination als [product identifier]#puzzles.

Gespeichert werden alle Rätsel der zukünftigen und vergangenen Tage gemäß der Anzahl an Tagen, die das Archiv für Nutzer:innen zugänglich ist. Rätsel außerhalb dieses Zeitraums werden beim Aufruf automatisch entfernt, beim Einspielen einer neuen Version wird der Objektspeicher geleert. Die Datenbank entsteht nur in der Produktions- und in der Stage-Umgebung.

Wird die Datenbank gelöscht, lädt das Rätsel die Daten beim nächsten Aufruf erneut.


Zwischenspeicher der App

Die Rätsel werden als progressive Web-App ausgeliefert und legen dafür einen Zwischenspeicher an. Er enthält die Dateien der App sowie bereits geladene Seiten, Bilder und Antworten der Schnittstelle.

Eintrag Inhalt
[product identifier]-precache-v2-[revision] Dateien der App
[product identifier]-runtime-[revision] Zur Laufzeit geladene Dateien
[product identifier]-pages Aufgerufene Seiten
[product identifier]-images Geladene Bilder
[product identifier]-api Antworten der Schnittstelle, darunter Rätseldaten

Der Bestandteil [revision] wechselt mit jeder Version der App. Nicht mehr benötigte Zwischenspeicher werden beim Einspielen einer neuen Version automatisch entfernt.