← Zurück zum Blog

Session Replay richtig gemacht: Datenschutzorientierte Aufzeichnung

Session Replay ist eines der mächtigsten Werkzeuge im Arsenal eines Produktteams. Zu beobachten, wie echte Nutzer durch Ihre Benutzeroberfläche navigieren, offenbart Probleme, die kein A/B-Test und keine Funnel-Analyse aufdecken kann. Doch Session Replay wirft auch ernsthafte Datenschutzfragen auf. Nutzersitzungen aufzuzeichnen bedeutet, potenziell sensible Interaktionen zu erfassen, und Fehler dabei können Datenschutzverordnungen verletzen, das Vertrauen der Nutzer untergraben und Ihr Unternehmen einem rechtlichen Risiko aussetzen.

Dieser Artikel erklärt, wie Session Replay auf technischer Ebene funktioniert, wo Datenschutzrisiken entstehen und wie die Architektur von Traceflair diese adressiert.

Wie Session Replay tatsächlich funktioniert

Ein verbreiteter Irrglaube ist, dass Session-Replay-Tools ein Video des Nutzerbildschirms aufzeichnen. Das tun sie nicht. Videoaufzeichnung würde riesige Dateien erzeugen und Bildschirmaufnahme-Berechtigungen erfordern, die Browser JavaScript nicht gewähren. Stattdessen funktioniert Session Replay durch die Aufzeichnung des DOM.

Der initiale Snapshot

Wenn eine Sitzung beginnt, serialisiert der Recorder den gesamten DOM-Baum in ein strukturiertes Format. Jedes Element, jedes Attribut, jeder Textknoten und jeder berechnete Style wird als JSON-ähnliche Datenstruktur erfasst. Dieser Snapshot repräsentiert den Ausgangszustand der Seite.

Mutation Observation

Nach dem initialen Snapshot nutzt der Recorder die MutationObserver-API des Browsers, um Änderungen zu überwachen. Jedes Mal, wenn sich das DOM ändert, sei es durch Nutzerinteraktion, JavaScript-Ausführung oder Netzwerkantworten, erfasst der Observer die Mutation als kompaktes Delta:

// Vereinfachter Mutations-Datensatz
{
  type: "childList",
  target: nodeId_42,
  addedNodes: [{ tag: "div", attributes: { class: "modal" }, ... }],
  removedNodes: [nodeId_38],
  timestamp: 1709654321000
}

Der Recorder erfasst auch Nutzerinteraktionen (Klicks, Scrolls, Mausbewegungen, Tastatureingaben) und Netzwerkaktivität als zeitgestempelte Events. Zusammen bilden der initiale Snapshot sowie der Strom von Mutationen und Events eine vollständige Aufzeichnung, die durch Rekonstruktion des DOM in einem iframe wiedergegeben werden kann.

Die Recorder-Architektur von Traceflair

Das Recorder-Paket von Traceflair enthält 44 einzelne Aufnahme-Module, die jeweils für einen bestimmten Aspekt der Aufzeichnung verantwortlich sind: DOM-Mutationen, Eingabewerte, Scroll-Positionen, Netzwerk-Requests, Konsolen-Logs, CSS-Übergänge, Canvas-Rendering und mehr. Dieses modulare Design bedeutet, dass jedes Modul unabhängig Datenschutzregeln und den Consent-Status respektieren kann.

Die Datenschutzrisiken naiver Sitzungsaufzeichnung

Ein Session-Replay-Tool, das einfach alles aufzeichnet, erzeugt mehrere Risikokategorien.

Erfassung personenbezogener Daten

Textinhalte im DOM enthalten häufig personenbezogene Daten (PII): Namen, E-Mail-Adressen, Telefonnummern, physische Adressen und manchmal sogar teilweise Kreditkartennummern auf Bestätigungsseiten. Ein naiver Recorder erfasst all dies als Klartext im Snapshot und Mutations-Strom.

Aufzeichnung von Nutzereingaben

Formularfelder erfassen die sensibelsten Nutzerdaten: Passwörter, Kreditkartennummern, Sozialversicherungsnummern, medizinische Informationen. Ohne explizite Input-Maskierung zeichnet ein Session-Replay-Tool jeden Tastenanschlag in jedem Feld auf.

Inhalte Dritter

Eingebettete Widgets, Chat-Fenster und iframes von Drittanbietern können Inhalte enthalten, deren Aufzeichnung Ihnen rechtlich nicht gestattet ist. Das Aufzeichnen dieser Elemente kann gegen Nutzungsbedingungen oder Datenverarbeitungsvereinbarungen verstoßen.

Regulatorische Risiken

Gemäß der DSGVO stellen Sitzungsaufzeichnungen eine Verarbeitung personenbezogener Daten dar. Unter dem CCPA können sie als "Verkauf" personenbezogener Informationen gelten, wenn sie mit einem Drittanbieter-Analysetool geteilt werden. Das Aufzeichnen ohne ordnungsgemäße Einwilligung oder Datenverarbeitungsverfahren kann zu erheblichen Bußgeldern führen.

Der datenschutzorientierte Ansatz von Traceflair

Traceflair wurde von Grund auf mit Datenschutz als zentraler Anforderung entwickelt, nicht als nachträglicher Zusatz. So funktioniert es.

Drei Consent-Modi

Jede Traceflair-Installation muss einen Consent-Modus angeben. Es gibt keinen Standard, der stillschweigend alles aufzeichnet. Die drei Modi decken das gesamte Spektrum regulatorischer Anforderungen ab:

Opt-in-Modus ist der strengste. Es werden keine Daten erhoben, bis der Nutzer ausdrücklich zustimmt. Dies ist für DSGVO-Konformität bei Session Replay erforderlich:

<script
  src="https://cdn.traceflair.com/tracker.js"
  data-site-id="your-site-id"
  data-consent="opt-in">
</script>

Opt-out-Modus erhebt standardmäßig Daten, stoppt aber sofort, wenn der Nutzer seine Einwilligung widerruft. Dies eignet sich für Rechtsordnungen mit impliziten Einwilligungsrahmen:

<script
  src="https://cdn.traceflair.com/tracker.js"
  data-site-id="your-site-id"
  data-consent="opt-out">
</script>

Implied-Modus ist für Kontexte, in denen keine Einwilligung erforderlich ist, etwa interne Tools oder authentifizierte Unternehmensanwendungen, bei denen Nutzer der Überwachung durch Arbeitsvertragsbedingungen zugestimmt haben:

<script
  src="https://cdn.traceflair.com/tracker.js"
  data-site-id="your-site-id"
  data-consent="implied">
</script>

Der Consent-Status wird in localStorage unter dem Schlüssel traceflair_consent gespeichert. Jedes Plugin prüft diesen Status, bevor Daten erhoben werden. Eine Änderung des Consent-Modus zur Laufzeit wirkt sich sofort auf alle aktiven Plugins aus.

Automatische PII-Erkennung

Der Recorder von Traceflair enthält eine heuristische PII-Erkennung, die häufige Muster in DOM-Textinhalten identifiziert und maskiert: E-Mail-Adressen, Telefonnummern, numerische Sequenzen, die Kreditkarten- oder Sozialversicherungsnummern ähneln. Diese Muster werden durch Platzhaltertext in der Aufzeichnung ersetzt, bevor die Daten den Browser verlassen.

Input-Maskierung

Alle Eingabefelder mit type="password" werden standardmäßig maskiert, ohne dass eine Konfiguration erforderlich ist. Für andere sensible Felder maskiert Traceflair die Eingabewerte, sodass die Aufzeichnung zeigt, dass ein Nutzer in ein Feld getippt hat und wie viele Zeichen eingegeben wurden, aber nicht, was getippt wurde. Dies bewahrt die Verhaltenseinsicht (Hat der Nutzer gezögert? Hat er seine Eingabe korrigiert?), ohne die tatsächlichen Daten zu erfassen.

Das Attribut data-traceflair-ignore

Für Seitenbereiche, die niemals aufgezeichnet werden sollen, stellt Traceflair das Attribut data-traceflair-ignore bereit. Das Hinzufügen dieses Attributs zu einem beliebigen Element schließt den gesamten Teilbaum vom DOM-Serializer, dem Mutation Observer, dem Click-Tracking und der Rage/Dead-Click-Erkennung aus:

<!-- Dieser gesamte Bereich ist für den Recorder unsichtbar -->
<div data-traceflair-ignore>
  <h2>Kontodaten</h2>
  <p>Name: Jane Smith</p>
  <p>E-Mail: jane@example.com</p>
  <p>SVN: ***-**-1234</p>
</div>

Dieses Attribut wird vom Serializer beim initialen Snapshot, vom Mutation Observer während der laufenden Aufzeichnung und von Click-Tracking- und Rage/Dead-Click-Detektoren geprüft. Es bietet einen umfassenden Ausschlussmechanismus mit einer einzigen Deklaration.

Self-Hosting eliminiert Drittanbieter-Risiken

Wenn Sie Traceflair selbst hosten, verlassen Sitzungsaufzeichnungen niemals Ihre Infrastruktur. Es ist kein Drittanbieter als Datenverarbeiter beteiligt. Dies vereinfacht die DSGVO-Konformität erheblich, da Sie die volle Kontrolle über Datenspeicherung, Aufbewahrung und Löschung behalten. Viele der schwierigsten Datenschutzfragen rund um Session Replay entfallen, wenn Sie sowohl der Datenverantwortliche als auch der Datenverarbeiter sind.

Praktische Konfiguration für DSGVO-Konformität

Für eine typische europäische Website würden Sie Traceflair wie folgt für DSGVO-konformes Session Replay konfigurieren:

<!-- 1. Mit Opt-in-Consent laden -->
<script
  src="https://cdn.traceflair.com/tracker.js"
  data-site-id="your-site-id"
  data-consent="opt-in">
</script>

<!-- 2. Sensible Bereiche ausschließen -->
<section data-traceflair-ignore>
  <!-- Zahlungsformulare, Anzeigen personenbezogener Daten etc. -->
</section>

<!-- 3. Consent erteilen, nachdem der Nutzer das Cookie-Banner akzeptiert -->
<script>
  document.getElementById('accept-cookies').addEventListener('click', function() {
    // Traceflair beginnt erst nach diesem Aufruf mit der Aufzeichnung
    window.Traceflair.consent.grant();
  });
</script>

Mit dieser Konfiguration werden keine Daten erhoben, bis der Nutzer auf Akzeptieren klickt. Sensible Seitenbereiche werden vollständig von der Aufzeichnung ausgeschlossen. Und wenn Sie selbst hosten, bleiben die aufgezeichneten Daten auf Ihren Servern.

Session Replay ohne Kompromisse

Session Replay muss kein Datenschutzrisiko sein. Mit der richtigen Architektur ist es möglich, die Verhaltenseinblicke zu erfassen, die Ihr Produktteam braucht, und dabei den Datenschutz der Nutzer und regulatorische Anforderungen vollständig zu respektieren. Traceflair beweist, dass dies nicht nur eine theoretische Möglichkeit, sondern eine praktische Realität ist.

Wenn Sie Session Replay mit Datenschutzkontrollen in Aktion sehen möchten, starten Sie mit Traceflair oder erkunden Sie die vollständige Funktionsliste. Mehr über unsere Philosophie erfahren Sie in Warum wir Traceflair entwickelt haben.

Ihre Nutzer sagen Ihnen etwas. Hören Sie zu.

Kostenlos starten. Keine Kreditkarte nötig. In unter 5 Minuten eingerichtet.

Kostenlos starten