Cookie-Banner und Einwilligung
Meistens kein Banner.Aber nicht wegen der Cookies.
Viele Anbieter schreiben: cookiefrei, also kein Banner. Das Ergebnis stimmt oft, die Begründung fast nie. Entscheidend ist nicht das Cookie, sondern ob auf Informationen zugegriffen wird, die im Endgerät bereits gespeichert sind. In Minimal und Standard speichern wir nichts auf dem Endgerät, und was wir lesen, lag vorher nicht dort. Im Modus Full schreiben wir eine Kennung, und dort brauchst du eine Einwilligung. Hier steht die ganze Herleitung, samt der Gegenauffassung.
Die Behauptung
Kein Cookie, kein Banner. Richtig geraten, falsch begründet.
Cookiefrei, also einwilligungsfrei, also kein Banner. Diese Kette steht bei fast jedem datenschutzfreundlichen Analyse-Tool. Das Ergebnis stimmt in vielen Fällen, der Weg dorthin nicht, und wer sich auf die falsche Begründung stützt, merkt das erst, wenn jemand nachfragt.
§ 25 Abs. 1 TDDDG knüpft nicht an Cookies an, sondern an zwei Vorgänge: das Speichern von Informationen im Endgerät und den Zugriff auf Informationen, die dort bereits gespeichert sind. Ein Cookie ist nur der bekannteste Fall des ersten. Kein Cookie zu setzen erledigt damit die eine Hälfte der Frage, nicht beide.
Die zweite Hälfte entscheidet über den Banner: wird auf etwas zugegriffen, das im Endgerät gespeichert ist? Für Minimal und Standard lautet unsere Antwort nein, weil dort nur Statuswerte gelesen werden, die der Browser im Moment des Seitenaufrufs selbst erzeugt. Für den Modus Full lautet sie ja, weil dort eine Kennung geschrieben wird.
Wir stellen beides dar, auch die strengere Auffassung, die zu einem anderen Ergebnis kommt. Verantwortlich für die Einbindung bist du, nicht wir. Eine Behauptung in einer Feature-Liste hilft dir in einem Verfahren nicht, eine nachvollziehbare Herleitung schon.
Worauf es ankommt
Vier Fragen, nicht eine.
Ob du einen Banner brauchst, hängt an vier Punkten. Cookies sind nur einer davon, und der unwichtigste.
Cookie oder nicht ist zweitrangig
§ 25 spricht von Informationen, nicht von Cookies. Entscheidend ist, ob etwas im Endgerät gespeichert oder von dort gelesen wird, unabhängig vom Träger.
Gespeichert oder zur Laufzeit erzeugt
Ein Cookie liegt vorher da. Ein Messwert entsteht erst beim Seitenaufbau. Nur der erste Fall ist nach dem Wortlaut ein Zugriff auf gespeicherte Informationen.
Fingerprinting oder nicht
Statusabfragen kippen in die Einwilligungspflicht, sobald daraus ein Wiedererkennungsmerkmal wird. Deshalb übermitteln wir Klassen statt Rohwerte.
Welches Preset
Minimal und Standard schreiben nichts auf das Gerät. Full schreibt eine Kennung in den sessionStorage, und dort ist die Einwilligung erforderlich.
Ebene 1: § 25 TDDDG
Speichern oder Zugriff, und was davon wir tun.
Die Speicherung von Informationen in der Endeinrichtung des Endnutzers oder der Zugriff auf Informationen, die bereits in der Endeinrichtung gespeichert sind, sind nur zulässig, wenn der Endnutzer auf der Grundlage von klaren und umfassenden Informationen eingewilligt hat.
Gesetz über den Datenschutz und den Schutz der Privatsphäre in der Telekommunikation und bei digitalen Diensten
Zwei Tatbestände, ein Wort dazwischen: oder. Speichern reicht, Zugriff reicht, beides muss nicht zusammenkommen. Ob die Informationen personenbezogen sind, spielt für § 25 keine Rolle. Die Norm schützt das Endgerät, nicht die Daten.
Speichern: in Minimal und Standard tun wir es nicht. Kein Cookie, kein localStorage, kein sessionStorage. Der Schreibpfad wird beim Build aus dem ausgelieferten Bundle entfernt, ist also im Browser nicht vorhanden und nicht bloß abgeschaltet.
Zugriff: hier steht das entscheidende Wort im Gesetz, nämlich Informationen, die „bereits in der Endeinrichtung gespeichert sind“. Was unser Skript liest, lag vorher nirgends. Die Timings entstehen während des Seitenaufbaus, window.innerWidth ist der aktuelle Fensterzustand, navigator.connection eine laufende Schätzung des Browsers. Das sind Abfragen an die Laufzeitumgebung, nicht an einen Speicher.
Grenzwertig wird es, wenn aus solchen Abfragen ein Wiedererkennungsmerkmal wird, also Fingerprinting. Deshalb übermitteln wir vom Viewport nur eine von sechs Klassen statt des Pixelwerts. Die Entropie sinkt dadurch so weit, dass eine Wiedererkennung aus dieser Kombination praktisch ausgeschlossen ist. Im Modus Full liegt der Fall anders: dort wird eine Kennung in den sessionStorage geschrieben, und ein Schreibvorgang ist unstreitig erfasst. Die Ausnahmen in § 25 Abs. 2 tragen dafür nicht: Nr. 1 erfasst nur die reine Übertragung einer Nachricht, und Nr. 2 verlangt, dass der Zugriff unbedingt erforderlich ist, damit der Anbieter einen vom Nutzer ausdrücklich gewünschten Dienst bereitstellen kann. Eine Performance-Messung ist dieser Dienst nicht.
Die Gegenauffassung, im Wortlaut
Unsere Einordnung ist nicht die einzige vertretbare. Es gibt eine strengere Lesart, und sie ist gut belegt. Hier ist sie, mit dem, was daraus folgen würde, damit du beides gegeneinander halten kannst statt uns zu glauben.
DSK, Orientierungshilfe für Anbieter digitaler Dienste
Im Unterschied zu den datenschutzrechtlichen Vorschriften begründet § 25 Abs. 1 TDDDG ein Einwilligungserfordernis für das Speichern und/oder Auslesen von Informationen auf bzw. aus einem Endgerät unabhängig von einem Personenbezug der Informationen.
Das gilt auch für uns. § 25 hängt nicht am Personenbezug, „wir verarbeiten keine personenbezogenen Daten“ ist hier kein Argument. Die Frage ist allein, ob ein Speichern oder ein Zugriff auf Gespeichertes vorliegt.
DSK, zum Auslesen per JavaScript
Auch ist es als Zugriff von Informationen auf Endeinrichtungen der Endnutzer:innen zu werten, wenn aktiv beispielsweise mittels JavaScript-Code Eigenschaften eines Endgerätes ausgelesen und für die Erstellung eines Fingerprints an einen Server übermittelt werden.
Die strengere Lesart zieht diesen Satz auf jedes Auslesen per JavaScript. Er steht allerdings im Kontext Fingerprinting, und genau dort liegt unsere Abgrenzung: Klassen statt Rohwerte, keine Wiedererkennung, kein Fingerprint.
EDSA, Leitlinien 2/2023, lokale Verarbeitung
Dies kann beispielsweise bei einer vom Webbrowser bereitgestellten API der Fall sein, bei der lokal generierte Ergebnisse aus der Ferne abgerufen werden können.
Das ist der stärkste Punkt gegen uns. Der EDSA bezieht auch lokal erzeugte Ergebnisse einer Browser-API ein. Folgt man ihm, wäre auch unsere Performance-Messung erfasst und eine Einwilligung nötig.
EDSA, Leitlinien 2/2023, Zugriff
Ein solcher Zugriff fällt eindeutig in den Anwendungsbereich von Artikel 5 Absatz 3 ePrivacy RL, da die zugreifende Stelle das Endgerät ausdrücklich anweist, die Informationen zu übermitteln.
Auch dieser Satz stützt die strenge Lesart. Wir halten ihm den deutschen Normtext entgegen, der Informationen verlangt, die bereits gespeichert sind. Welche Auslegung sich durchsetzt, ist gerichtlich nicht geklärt.
EDSA, Leitlinien 2/2023, Speichern und Zugriff
Die Speicherung von Informationen und der Zugriff auf bereits gespeicherte Informationen müssen nicht beide vorliegen, damit Artikel 5 Absatz 3 ePrivacy RL Anwendung findet.
Deshalb genügt „wir setzen keine Cookies“ nicht als Begründung. Der zweite Tatbestand muss eigenständig geprüft werden, und genau das ist der Abschnitt oben.
Selbst nachlesen
Unser Ergebnis
In den Modi Minimal und Standard ist nach unserer Einschätzung keine Einwilligung nach § 25 TDDDG erforderlich: es wird nichts im Endgerät gespeichert, und die gelesenen Statuswerte lagen vorher nicht dort. Im Modus Full ist sie erforderlich, weil dort eine Kennung geschrieben wird. Diese Einschätzung ist mit unserem externen Datenschutzbeauftragten geprüft. Ein Restrisiko bleibt, weil zu dieser Konstellation kein Urteil vorliegt.
Was auf dem Gerät passiert
Zeile für Zeile, ohne Beschönigung.
Drei Erfassungs-Presets, und was jedes davon auf dem Endgerät des Besuchers tatsächlich tut. Die vorletzte Zeile ist die Trennlinie.
| Minimal | Standard | Full | |
|---|---|---|---|
| Beacon-Skript im Browser ausgeliefertliegt im Browser-Cache, wie jedes Skript einer Seite | |||
| Performance-API gelesenLCP, INP, CLS, TTFB, Navigation- und Resource-Timing, beim Seitenaufbau erzeugt | |||
| Viewport-Klasse und Verbindungsklasse gelesen | |||
| Fehlerobjekte gelesenTyp und Anzahl, Stack-Frames ab Standard | |||
| Etwas auf das Gerät geschriebennur Full, eine tab-gebundene Session-ID in sessionStorage._fms | |||
| Cookie gesetzt | |||
| Langlebige oder seitenübergreifende ID | |||
| Einwilligung nach § 25 TDDDG erforderlichwegen des Schreibvorgangs in Full, nicht wegen Cookies |
Die Trennlinie ist die Zeile „Etwas auf das Gerät geschrieben“. Darüber stehen Werte, die beim Seitenaufbau entstehen und vorher nicht im Gerät lagen. Darunter steht ein Schreibvorgang, und der ist unstreitig einwilligungspflichtig.
Ebene 2: DSGVO
Anwendbar, und zwar wegen der IP.
§ 25 TDDDG regelt den Zugriff auf das Gerät, die DSGVO die Verarbeitung danach. Beide werden getrennt geprüft, und die Antworten dürfen auseinanderfallen: kein Zugriff nach TDDDG, aber DSGVO anwendbar, ist genau unser Fall.
Die Payload-Werte selbst halten wir für nicht personenbeziehbar: nur das Land statt der IP, Klassen statt Rohwerten, Pfad ohne Query-String, keine User-ID, keine langlebige Wiedererkennung. Anwendbar ist die DSGVO trotzdem, und zwar wegen eines Datums, das wir gar nicht abfragen. Die IP-Adresse wird bei jeder Anfrage im HTTP-Header mitgesendet, und sie ist nach dem EuGH-Urteil Breyer ein personenbezogenes Datum.
Rechtsgrundlage ist die Interessenabwägung nach Art. 6 Abs. 1 lit. f DSGVO, nicht die Einwilligung. Auf der einen Seite stehen Stabilität, Performance-Messung, Basisstatistik und Fehlersuche, auf der anderen das Schutzinteresse des Besuchers. Das Risiko für ihn ist gering: kein Cross-Site-Tracking, keine Profilbildung, kein Fingerprinting. Diese Abwägung würde kippen, sobald es um eine Analyse des Nutzerverhaltens im Sinne einer Profilbildung geht. Dafür verlangt die Rechtsprechung durchgängig eine Einwilligung, von Planet49 über die BGH-Entscheidung zur Cookie-Einwilligung bis zum EuGH-Urteil zu Meta. Sie trägt hier gerade deshalb, weil fastmon kein Profil baut.
Diese Abwägung trägt nur unter Bedingungen, und die halten wir ein: IP und User-Agent werden ausschließlich zur Entgegennahme der Anfrage verarbeitet und in unter einer Sekunde verworfen, in den gespeicherten Analysedaten steht keine wiederherstellbare IP, und wir geben die Daten nicht an Dritte weiter.
Zwei Einsatzszenarien, zwei Ergebnisse
Große, allgemeine Seiten
Ein Shop mit sechsstelligen Besucherzahlen, generische Pfade wie /kategorie/schuhe, viele Besucher pro Pfad und Land. Ein einzelner Datensatz passt auf tausende Personen.
Personenbeziehbarkeit in der Regel nicht gegeben
Kleine oder sehr spezifische Seiten
Ein B2B-Portal mit wenigen Besuchern am Tag, sprechende Pfade wie /kunden/nordwind-gmbh/vertrag oder /bewerbung/status. Land, Gerät und Pfad zusammen können auf eine Person zulaufen.
Personenbeziehbarkeit möglich, eigene Prüfung nötig
Diese Einordnung ist eine Einzelfallbetrachtung und Aufgabe des Verantwortlichen, also deine. Wir liefern die Datenlage und die Dokumentation dafür, die Bewertung können wir dir nicht abnehmen. Praktisch entscheidet sie über Rechtsgrundlage, Informationspflichten und Löschfristen. In beiden Szenarien gehört fastmon in deine Datenschutzerklärung.
IP-Adresse und Edge
Die Stelle, an der es auch bei uns grenzwertig bleibt.
Die IP-Adresse ist nach der Rechtsprechung des Europäischen Gerichtshofs ein personenbezogenes Datum. Übertragen wird sie bei jedem Seitenaufruf, das ist technisch unvermeidbar und für die Auslieferung der Seite auch unproblematisch. Interessant wird es, wenn man sie benutzt, um daraus etwas abzuleiten.
Genau das tut unser Edge, an mehreren Stellen: Aus der IP löst er den Ländercode auf und prüft, ob sie zu einem Rechenzentrum oder einem verifizierten Crawler gehört. Aus dem User-Agent leitet er grobe Klassen ab: Browser, Hauptversion, Betriebssystem, Gerätetyp, dazu eine Bot-Einstufung. Die Client Hints des Browsers prüft er auf Widersprüche, um gespoofte Zugriffe zu erkennen. Den Referrer verdichtet er auf Medium und Quelle, ohne Suchbegriffe. Und er berechnet den Stitch. Danach verwirft er IP, rohen User-Agent, Client Hints und Referrer-URL, in weniger als einer Sekunde, ohne sie zu speichern oder zu loggen. In die fastmon-Anwendung gelangen nur die Ergebnisse. Das ist der Zweck der Architektur: die Anwendung soll die Rohdaten nie sehen, und automatisierte Tests prüfen, dass das so bleibt.
Und hier liegt der ehrliche Vorbehalt. Jede dieser Ableitungen ist eine Auswertung, und sie findet statt, bevor die Anwendung etwas sieht. Dass wir nur das Extrakt weitergeben, verlagert den Personenbezug aus der Anwendung heraus. Es macht die Ableitung selbst nicht ungeschehen: für den Bruchteil einer Sekunde wurden personenbezogene Daten verarbeitet.
Wir stützen diesen Schritt auf dieselbe Interessenabwägung: kurze Verarbeitung, sofortiges Verwerfen, kein wiederherstellbarer Rest in den gespeicherten Daten. Ob das einer künftigen gerichtlichen Wertung standhält, ist offen. Wir halten es für wahrscheinlicher, dass die Anforderungen mittelfristig steigen als sinken. Wer dir hier Gewissheit verkauft, verkauft dir eine Meinung.
Ein Seitenaufruf, Schritt für Schritt
- 01
Browser fordert das Skript an
Der Request enthält die IP-Adresse, wie jeder HTTP-Request. Technisch bedingte Übertragung, für die Auslieferung unproblematisch.
- 02
Beacon liest im Browser
Performance-API, Viewport-Klasse, Verbindungsklasse, Fehlerobjekte. Statuswerte der Laufzeitumgebung, die vorher nicht im Gerät lagen.
- 03
Edge leitet ab und verwirft
Ländercode und Rechenzentrums-Check aus der IP, Geräteklassen und Bot-Einstufung aus dem User-Agent, Medium und Quelle aus dem Referrer, Stitch. Danach sind IP, User-Agent, Client Hints und Referrer-URL weg, in unter einer Sekunde, ohne Log. Das ist der grenzwertige Schritt.
- 04
Anwendung sieht nur das Extrakt
Land, Klassen, Metriken, Pfad ohne Query-String. Keine rohe IP, kein User-Agent-String, kein persistenter Identifikator.
Der Stitch bleibt grenzwertig
Für die Zählung eindeutiger Besucher berechnet der Edge ein kurzes pseudonymes Signal: HMAC-SHA256 aus IP, User-Agent, dem Hash deiner Einbindung und der Domain, unter einem Salt, der alle 24 Stunden neu erzeugt wird und den Arbeitsspeicher des Edge nie verlässt, kein Log, keine Festplatte, keine API. Pro Domain unterschiedlich. Was das Signal schützt, ist dabei nicht die Mathematik, sondern der Salt: Aus dem gespeicherten Wert allein lässt sich keine IP gewinnen, wer aber den Salt hätte, könnte Kandidaten durchprobieren und einen Verdacht bestätigen. Diesen Salt hat niemand: er existiert nur im laufenden Edge-Prozess, demselben, der die IP bei jedem Request ohnehin sieht und verwirft. Nach der Rotation ist er unwiederbringlich weg, und ab da kann niemand mehr zuordnen, auch wir nicht.
Der Stitch entsteht am Edge und nicht im Browser, ist also keine Frage des § 25, sondern der DSGVO. Wir behandeln ihn als personenbezogenes Datum, Pseudonymisierung statt Anonymisierung, und stützen ihn auf die Interessenabwägung. Das reduziert das Risiko, es beseitigt es nicht: ein Signal, das Seitenaufrufe über 24 Stunden zusammenführt, ist eine Wiedererkennung, und mit sehr spezifischen Pfaden kann daraus ein Personenbezug entstehen. store_stitch=false schaltet das Signal ab, und das Minimal-Preset enthält es ohnehin nicht.
Der Stitch ist auch der Grund, warum fastmon ohne Sessions auskommt. Eine echte Session-ID wäre genauer: sie kennt Inaktivität, übersteht einen IP-Wechsel und trennt Besucher hinter derselben Firmen-IP. Dafür muss sie auf dem Gerät gespeichert werden, und damit beginnt die Einwilligungspflicht. Für Perzentile braucht es gar keine Identität, und für die Besucherzählung ist der Stitch genau genug: geteilte IPs verschmelzen zu einem Besucher, wechselnde IPs zählen doppelt, die absolute Zahl trägt eine kleine Unschärfe, die Trends bleiben stabil. Deshalb raten wir von Sessions ab, solange du sie nicht wirklich brauchst. Erst das Full-Preset schreibt eine Session-ID, und dort gehört die Einwilligung dazu.
Was wir nicht behaupten
Dass die Frage damit für dich erledigt ist. Unsere Einschätzung deckt unsere Architektur ab, nicht deinen Einsatz. Welches Preset du fährst, wie spezifisch deine Pfade sind und wie viele Besucher du hast, entscheidet mit. Diese Bewertung bleibt bei dir, und die Rechtslage kann sich ändern.
Wenn du trotzdem gaten willst
Was ein Opt-out dich kostet.
Manche Betreiber legen fastmon trotzdem hinter die Einwilligung, aus Vorsicht oder weil sie den Modus Full nutzen. Auch dann bist du besser dran als mit cookie-basierten Tools: dort kostet jedes Opt-out zusätzlich die Wiedererkennung, bei uns nur Stichprobe.
Bei fastmon
- Lehnt ein Besucher ab, wird für diesen Besuch nichts gemessen, genau wie es sein muss
- Die Stichprobe wird kleiner, die Verteilung bleibt intakt. Für Perzentile wie den p75 ist das der entscheidende Punkt
- Keine doppelt gezählten Nutzer, keine verwaisten Sessions, weil es ohnehin keine langlebige Wiedererkennung gibt, die zerbrechen könnte
- Deine Zahlen werden kleiner, nicht schief, unabhängig von der Höhe der Opt-out-Rate
Bei cookie-basierten Tools
- Jedes Opt-out kostet zusätzlich die Wiedererkennung, auf der die Nutzerzahlen aufbauen
- Wiederkehrende Besucher werden zu neuen Besuchern, die Unique-Zahlen laufen nach oben weg
- Sessions brechen mitten im Funnel ab und tauchen als neue Sessions wieder auf
- Die Verzerrung wächst mit der Opt-out-Rate und ist nachträglich nicht korrigierbar
Restrisiko
Ein Katz-und-Maus-Spiel, offen ausgesprochen.
Die Geschichte des Web-Trackings ist eine Kette aus Technik und Urteil. Erst wurde einfach gemessen. Dann verlangten Gerichte einen Opt-out in der Datenschutzerklärung. Dann einen Hinweis-Banner. Dann kippte „wer weitersurft, stimmt zu“. Dann kam der Consent-Banner, den wir heute kennen.
Wir gehen davon aus, dass die Anforderungen weiter steigen. Deshalb bauen wir so, dass eine Verschärfung uns nicht kalt erwischt: das Beacon lässt sich vollständig hinter eine Einwilligung schieben, die Presets nach unten schalten, und die Datenbasis ist schmal genug, dass sie auch nach einer Verschärfung noch trägt.
Restrisiko bleibt trotzdem, und zwar bei jedem Tool. Wer moderne IT einsetzt, akzeptiert es an vielen Stellen gleichzeitig, meist ohne darüber zu sprechen: Standardvertragsklauseln für US-Dienste, Transfer-Folgenabschätzungen, deren Grundlage sich ändern kann, Office-Pakete, die kein Unternehmen morgen abschaltet. Die ehrliche Frage ist nicht, ob du Restrisiko trägst, sondern welches, wie groß es ist, und ob du es bewusst getragen hast.
Unser Beitrag dazu ist Nachvollziehbarkeit. Kein Anbieter mit US-Jurisdiktion im Datenpfad, damit die Transfer-Frage bei uns gar nicht erst entsteht. Rohdaten, die die Anwendung nie erreichen. Und eine Seite wie diese, auf der die Gegenauffassung im Wortlaut steht.
Wie sich der Maßstab verschoben hat
- Stufe 1
Gemessen wurde einfach, ohne Information an den Besucher
- Stufe 2
Opt-out in der Datenschutzerklärung, per Urteil verlangt
- Stufe 3
Hinweis-Banner nach dem Motto „wer weitersurft, stimmt zu“
- Stufe 4
Diese Konstruktion gekippt, echter Consent-Banner nötig
- Stufe 5
Streit darüber, was als Zugriff auf das Endgerät gilt. Hier stehen wir
- Stufe 6
Offen. Unsere Einschätzung ist die eine Lesart, die strengere existiert daneben
Was du tun solltest
Sechs Schritte, dann ist es dokumentiert.
Keine Raketentechnik, aber es muss gemacht und nachweisbar sein. Am besten in dieser Reihenfolge.
- 01
Preset bewusst wählen
Minimal und Standard bleiben schreibfrei. Full schreibt eine Kennung und braucht dann eine Einwilligung. Das ist der eigentliche Hebel, alles andere folgt daraus.
- 02
fastmon in deine Datenschutzerklärung
Anbieter, Zweck, Rechtsgrundlage (Art. 6 Abs. 1 lit. f), Aufbewahrung und Empfänger. In Minimal und Standard ist das der Schritt, der den Banner ersetzt.
- 03
Bei Full hinter die Einwilligung legen
Über deine Consent-Management-Plattform oder über grantConsent(), damit die Kennung erst nach Opt-in geschrieben wird. Kategorie Statistik, nicht „technisch notwendig“.
- 04
Personenbeziehbarkeit für deinen Fall bewerten
Wie spezifisch sind deine Pfade, wie viele Besucher hast du pro Pfad und Land? Das Ergebnis dokumentieren. Das ist der Teil, den dir niemand abnimmt.
- 05
Keine personenbezogenen Daten in erfassbare Felder
Nicht in URL-Pfade, Query-Strings, UTM-Parameter, Tag-Werte und Fehler-Kontexte. Kundennummern, Namen und E-Mail-Adressen gehören nicht in eine URL, die gemessen wird.
- 06
Aufbewahrung auf dein Maß setzen
90 Tage sind der Default, kürzer ist einstellbar. Länger nur, wenn du begründen kannst, warum du die Daten so lange brauchst.
Interaktiver Check
Brauchst du einen Banner? Drei Fragen.
Drei Fragen in der Reihenfolge, in der auch eine Datenschutzbeauftragte prüft: erst was auf dem Gerät passiert, dann was in deinen Web-Adressen steht, dann wie viele Menschen dahinterstehen.
Die drei möglichen Ergebnisse
Kein Banner nötig
Nach unserer Einschätzung brauchst du keine Einwilligung: es wird nichts auf dem Endgerät gespeichert, die gelesenen Werte entstehen erst beim Seitenaufruf, und deine Datenlage lässt keinen Personenbezug entstehen. An die Stelle des Banners tritt die Nennung in deiner Datenschutzerklärung.
- fastmon in die Datenschutzerklärung: Anbieter, Zweck, Rechtsgrundlage Art. 6 Abs. 1 lit. f, Aufbewahrung, Empfänger
- Das Ergebnis dieser Prüfung dokumentieren, damit du es später begründen kannst
- Personenbezogene Daten aus URL-Pfaden, Query-Strings und UTM-Parametern heraushalten
Einwilligung nötig
Das Full-Preset schreibt eine tab-gebundene Session-ID in den sessionStorage. Ein Schreibvorgang auf dem Endgerät ist unstreitig von § 25 Abs. 1 TDDDG erfasst, und die Ausnahmen des Abs. 2 greifen für eine Performance-Messung nicht. Entweder du holst die Einwilligung ein, oder du wechselst auf Standard.
- fastmon in deiner Consent-Management-Plattform anlegen, Kategorie Statistik, nicht „technisch notwendig“
- Das Beacon erst nach Opt-in laden, oder session_consent auf deferred setzen und nach Zustimmung grantConsent() aufrufen
- Alternativ auf das Standard-Preset wechseln, dann entfällt der Schreibvorgang ganz
Grenzwertig, eigene Prüfung nötig
Nach § 25 TDDDG brauchst du nach unserer Einschätzung keine Einwilligung, weil nichts auf dem Endgerät gespeichert wird. Die DSGVO-Frage ist bei dir aber offen: mit sprechenden Pfaden oder wenigen Besuchern kann die Summe der Merkmale auf eine einzelne Person zulaufen. Diese Bewertung liegt bei dir, wir können sie dir nicht abnehmen.
- Sprechende Pfade entschärfen: IDs und Namen raus aus der URL, oder collect_query_keys ausschalten
- store_stitch abschalten, dann trägt die gespeicherte Zeile kein Besuchersignal mehr
- Wenn Unsicherheit bleibt: fastmon hinter die Einwilligung legen und in der CMP als Statistik führen
- Die Bewertung mit deiner Datenschutzbeauftragten dokumentieren
Dieses Ergebnis ist unsere Auffassung auf Basis deiner Angaben und keine Rechtsberatung. Lass es vor dem Livegang von deiner Datenschutzbeauftragten oder einer Juristin bestätigen. Verantwortlich für die Einbindung bleibst du als Betreiber der Website.
Die Auswertung läuft vollständig in deinem Browser. Wir erfahren weder deine Antworten noch dein Ergebnis.
Das Sternchen
Was das Sternchen in unserem Footer bedeutet.
Auf jeder Seite steht hinter „keine Cookies“ ein Sternchen. Das ist die Kurzfassung von allem, was oben steht. Hier ist die Langfassung, Satz für Satz.
- „In den Modi Minimal und Standard setzt fastmon kein Cookie und speichert nichts auf dem Endgerät“ heißt genau was?
- Dass in diesen beiden Modi kein Cookie gesetzt und nichts geschrieben wird, weder localStorage noch sessionStorage. Der Schreibpfad ist im ausgelieferten Skript nicht enthalten, er wird beim Build entfernt. Das ist prüfbar, nicht nur zugesagt.
- „Gelesen werden nur Statuswerte, die der Browser zur Laufzeit selbst erzeugt“ heißt genau was?
- Dass die gelesenen Werte vor dem Seitenaufruf nirgends im Gerät lagen. Timings entstehen beim Seitenaufbau, die Fensterbreite ist der aktuelle Zustand, die Verbindungsklasse eine laufende Schätzung. Nach unserer Einschätzung ist das kein Zugriff auf gespeicherte Informationen im Sinne des § 25 TDDDG. Die strengere Gegenauffassung steht oben im Wortlaut.
- „Im Modus Full wird eine Kennung geschrieben“ heißt genau was?
- Dass Full eine tab-gebundene Session-ID in sessionStorage._fms ablegt, die beim Schließen des Tabs verfällt. Das ist ein Schreibvorgang, und dafür brauchst du eine Einwilligung. Minimal und Standard tun das nicht.
FAQ
Cookie-Banner und Einwilligung, beantwortet.
Die Fragen, die eine Datenschutzbeauftragte zuerst stellt, mit den Antworten, die wir auch dann geben, wenn sie unbequem sind.
Wenn ich einen Banner nutze: muss fastmon namentlich drinstehen?
Ein bestimmter Produktname ist nicht zwingend. Zwingend ist, dass klar hervorgeht, welche Daten zu welchem Zweck durch wen verarbeitet werden und wie lange sie aufbewahrt werden. Das sind die normalen Anforderungen an eine Einwilligung. In der Praxis ist die namentliche Nennung der einfachste Weg, sie zu erfüllen, und sie hilft dir zugleich bei den Informationspflichten aus Art. 13 und 14 DSGVO.
Warum reicht „wir setzen keine Cookies“ nicht als Begründung?
Weil § 25 TDDDG zwei Vorgänge nennt: Speichern im Endgerät und Zugriff auf dort bereits Gespeichertes. Laut EDSA müssen nicht beide vorliegen. Kein Cookie zu setzen erledigt den ersten. Der zweite muss eigenständig geprüft werden, und genau diese Prüfung machen die meisten Anbieter nicht, wenn sie mit Cookiefreiheit argumentieren.
Wir verarbeiten doch keine personenbezogenen Daten. Zählt das für § 25?
Nein. Die Datenschutzkonferenz hält ausdrücklich fest, dass § 25 unabhängig von einem Personenbezug greift, die Norm schützt das Endgerät und nicht die Daten. Für § 25 kommt es nur darauf an, ob gespeichert oder auf Gespeichertes zugegriffen wird. Der Personenbezug entscheidet die zweite, davon getrennte Frage nach der DSGVO.
Was genau liest das Beacon aus dem Browser?
Die Performance-API für LCP, INP, CLS, TTFB und die Timings, die Fensterbreite als eine von sechs Klassen, die Verbindungsklasse, den Referrer, die Seiten-URL sowie Fehlertyp und -anzahl. Alle diese Werte entstehen im Moment des Seitenaufrufs, keiner lag vorher im Gerät. navigator.userAgent rufen wir nicht auf, IP und User-Agent erreichen uns nur als HTTP-Header.
Es gibt doch die strengere Auffassung. Warum folgt ihr ihr nicht?
Weil der deutsche Normtext Informationen verlangt, die bereits in der Endeinrichtung gespeichert sind, und das trifft auf Laufzeitwerte nicht zu. Die strengere Lesart des EDSA bezieht lokal erzeugte Ergebnisse einer Browser-API mit ein; wir stellen sie oben im Wortlaut dar, weil sie vertretbar ist. Sollte sie sich durchsetzen, ändert sich unsere Empfehlung, und das Beacon lässt sich vollständig hinter eine Einwilligung schieben.
Ist das Auslesen der Fensterbreite nicht Fingerprinting?
Genau dort verläuft die Grenze, und deshalb übermitteln wir keinen Pixelwert, sondern eine von sechs Klassen. In Kombination mit Land, Browser-Familie und Geräteklasse bleibt die Entropie so niedrig, dass eine Wiedererkennung praktisch ausgeschlossen ist. Kein Canvas, keine Font-Enumeration, keine Sensoren, kein Audio.
Und der Stitch?
Der entsteht am Edge und nicht im Browser, ist also keine § 25-Frage, sondern eine der DSGVO. Wir behandeln ihn als personenbezogenes Datum und stützen ihn auf die Interessenabwägung nach Art. 6 Abs. 1 lit. f. HMAC-SHA256, Salt rotiert alle 24 Stunden und verlässt den Arbeitsspeicher des Edge nie, pro Domain unterschiedlich, nicht umkehrbar. Grenzwertig bleibt er trotzdem, mit sehr spezifischen Pfaden kann ein Personenbezug entstehen. store_stitch=false schaltet ihn ab.
Warum ist die DSGVO überhaupt anwendbar, wenn die Werte anonym sind?
Wegen der IP-Adresse. Die wird bei jeder Anfrage im HTTP-Header mitgesendet, auch wenn wir sie nicht abfragen, und sie ist nach dem EuGH-Urteil Breyer ein personenbezogenes Datum. Rechtsgrundlage ist die Interessenabwägung nach Art. 6 Abs. 1 lit. f, und sie trägt, weil IP und User-Agent nur zur Entgegennahme verarbeitet und in unter einer Sekunde verworfen werden.
Was passiert mit meinen Zahlen, wenn ich fastmon doch hinter die Einwilligung lege?
Sie werden kleiner, nicht schief. fastmon misst aggregierte Feld-Performance per Stichprobe, und eine kleinere Stichprobe bleibt aussagekräftig, solange sie nicht systematisch verzerrt ist. Weil ohnehin keine langlebige Wiedererkennung existiert, brechen keine Sessions und laufen keine Unique-Zahlen weg. Bei cookie-basierten Tools kostet dich jedes Opt-out zusätzlich die Wiedererkennung.
Braucht ihr einen Auftragsverarbeitungsvertrag?
Wenn in deinem Einsatz personenbezogene Daten verarbeitet werden, ja, dann sind wir Auftragsverarbeiter nach Art. 28 DSGVO. Der AVV wird mit der Registrierung geschlossen und liegt öffentlich vor. Weil über die IP im Header ohnehin personenbezogene Daten im Spiel sind, schließen wir ihn in jedem Fall.
Muss ich fastmon in meiner Datenschutzerklärung nennen?
Ja, das ist der Schritt, der in Minimal und Standard an die Stelle des Banners tritt. Hinein gehören Anbieter, Zweck, Rechtsgrundlage nach Art. 6 Abs. 1 lit. f, Aufbewahrung und Empfänger. Die Informationspflichten aus Art. 13 und 14 DSGVO gelten, sobald personenbezogene Daten verarbeitet werden, und über die IP im Header ist das der Fall.
Wie lange darf ich die Daten aufbewahren?
Löschen, sobald sie für den Zweck nicht mehr gebraucht werden und keine gesetzliche Aufbewahrungspflicht entgegensteht. Wie lang das ist, musst du begründen, und es hängt von deinem Fall ab. In fastmon sind 90 Tage der Default, kürzer ist einstellbar, bis 13 Monate auf Enterprise-Plänen.
Was, wenn ein Gericht das später anders sieht?
Damit rechnen wir, und die Historie oben zeigt, warum. Deshalb hängt bei fastmon nichts an der Annahme, dass die heutige Auslegung hält: das Beacon lässt sich vollständig hinter eine Einwilligung schieben, die Presets nach unten schalten, und die Datenbasis ist schmal genug, dass sie auch dann noch trägt. Was sich ändern würde, ist unsere Empfehlung, nicht dein Setup.
Ist das hier Rechtsberatung?
Nein. Diese Seite beschreibt, wie fastmon gebaut ist und wie wir die Rechtslage lesen, geprüft mit unserem externen Datenschutzbeauftragten. Die Beurteilung für deinen Einsatz triffst du, idealerweise mit deiner eigenen Datenschutzbeauftragten.
Keine Rechtsberatung. Diese Seite gibt den Stand unserer eigenen Prüfung wieder, geprüft mit unserem externen Datenschutzbeauftragten, und beschreibt, wie fastmon gebaut und dokumentiert ist. Zu dieser Konstellation liegt keine gerichtliche Entscheidung vor; ein Restrisiko bleibt. Rechtslage und Aufsichtspraxis ändern sich, und die Beurteilung für deinen konkreten Einsatz obliegt dir als Verantwortlichem. Verbindlich sind Datenschutz und AVV.
100 % EU,
gehostet in Deutschland.
Kein Cloudflare, kein AWS, kein GCP. Read-only im Standard: keine Cookies*, keine langlebigen Identifikatoren.
Light
29 €/Monat
200.000 Pageviews inklusive.
Debugging und alle Features? Standard ab 99 € für 1 Mio. Pageviews. Enterprise auf Anfrage. Alle Pläne ansehen