Wo Ihre Daten liegen
- Die Anwendung und ihre PostgreSQL-Datenbank laufen auf Servern von Hetzner in Deutschland.
- Aufzeichnungen liegen im Objektspeicher Backblaze B2, in dessen EU-Region (
eu-central-003), in einem privaten Bucket, auf den nur ein Schlüssel für genau diesen Bucket zugreift. Datenbank-Backups gehen in einen zweiten Bucket im selben EU-Konto, mit einem eigenen Schlüssel, der die Aufzeichnungen nicht erreicht. - Fehlerberichte gehen an Sentry, das die Daten unseres Kontos in der EU (Frankfurt) speichert. Transaktions-E-Mails verschickt Brevo in Frankreich.
- Cloudflare steht vor jedem AnyReplay-Hostnamen und liefert TLS, Caching und Schutz vor Angriffen. Das Netz ist weltweit, eine Anfrage kann also auf dem Weg nach Deutschland einen Cloudflare-Standort außerhalb der EU passieren. Unsere Server nehmen Web-Traffic nur von Cloudflare an.
- Jeder Anbieter, der Kundendaten berührt, steht mit Aufgabe und Standort auf der Seite der Unterauftragsverarbeiter. Ein neuer wird 30 Tage vor seinem Start angekündigt, und die Seite hat einen RSS-Feed.
Verschlüsselung
- Bei der Übertragung: TLS überall — vom Browser zu Cloudflare und von Cloudflare zu unseren Servern mit einem Cloudflare-Origin-Zertifikat.
- Im Speicher: Aufzeichnungen im Objektspeicher verschlüsselt der Speicheranbieter (SSE-B2).
- Datenbank-Backups werden auf unserem eigenen Server mit AES-256 verschlüsselt, bevor sie ihn verlassen; der Speicheranbieter kann sie nicht lesen.
- Noch nicht: Die Festplatten der Server selbst sind nicht verschlüsselt. Die Datenbank verlässt sich auf die physische Sicherheit des Rechenzentrums und auf Zugriffskontrollen.
- Passwörter werden mit Argon2id gehasht. Sitzungstoken, Bestätigungs- und Reset-Links, Einladungen und Anmeldecodes werden nur als Hash gespeichert.
Maskierung: was nie aufgezeichnet wird
- Passwörter, Zahlungskartenfelder, Einmalcodes und jeder Wert, der wie eine Kartennummer aussieht, werden auf dem Gerät des Besuchers — im Browser oder in der App auf dem Telefon — maskiert, bevor irgendetwas gesendet wird, in jeder Konfiguration. Keine Einstellung zeichnet sie auf.
- Alle anderen Formularwerte sind ebenfalls standardmäßig maskiert, in jedem SDK. Wer sehen will, was getippt wird, schaltet das mit
maskAllInputs: falseab; die Felder oben bleiben auch dann maskiert. Elemente mit der Klassear-maskwerden maskiert, Elemente mitar-blockgar nicht aufgezeichnet. Siehe Maskierung. - Maskiert wird auf dem Gerät, ein maskierter Wert erreicht uns also nie. Der Recorder kann auch auf eine Einwilligung warten und bis dahin nichts aufzeichnen.
- IP-Adressen von Besuchern werden im Arbeitsspeicher zur Ratenbegrenzung verwendet und nicht gespeichert. Eine Sitzung trägt ein ungefähres Land und eine Stadt, die unser Netzwerkanbieter bei der Durchleitung der Anfrage ermittelt.
- Aufzeichnungen werden automatisch gelöscht, sobald sie die Aufbewahrungsfrist überschreiten, die jede Organisation festlegt — zwischen einem Tag und der Obergrenze ihres Tarifs; eine neue Organisation beginnt mit vierzehn Tagen.
Wiedergabe in der Sandbox
Eine Aufzeichnung ist eine Beschreibung einer Seite, kein Video, und eine Seite kann feindseliges Markup enthalten. Wiedergaben laufen deshalb in einem iframe, dessen Sandbox keine Skripte erlaubt, und aufgezeichnete Skripte werden als wirkungslose Elemente nachgebaut. Eine Aufzeichnung kann im Dashboard keinen Code ausführen und nicht an die Sitzung der prüfenden Person gelangen.
Übersetzung, Argus und der KI-Schalter
Die Übersetzung schickt den sichtbaren Text einer Aufzeichnung, Argus einen schriftlichen Ablauf der Sitzung an den KI-Anbieter, der auf der Seite der Unterauftragsverarbeiter steht — nur wenn jemand in Ihrer Organisation darum bittet. Argus schickt nie, was jemand getippt hat.
Inhaber und Admins können beides in den Einstellungen der Organisation abschalten. Ab diesem Moment geht nichts aus den Aufzeichnungen der Organisation an einen KI-Anbieter, durch niemanden, auch nicht durch AnyReplay selbst.
Wer was sehen kann
- Die Daten jeder Organisation sind von allen anderen getrennt; jede Abfrage ist auf ihre Organisation beschränkt, und automatische Tests prüfen, dass ein Mandant die Daten eines anderen nicht lesen kann.
- Fünf Rollen — Inhaber, Admin, Moderator, Mitglied und Betrachter — legen fest, wer Aufzeichnungen sehen, löschen oder tilgen, Personen einladen, Einstellungen ändern oder die Organisation exportieren darf. Niemand kann eine Rolle vergeben, die so hoch ist wie die eigene.
- Zweistufige Anmeldung mit einem Code per E-Mail, die jede Person einschalten kann, und Anmeldung mit Google. Fehlgeschlagene Anmeldungen sperren ein Konto für eine Weile, und Versuche sind begrenzt.
- Ein Audit-Log hält Anmeldungen, Änderungen an Mitgliedschaften und Rollen, Löschungen, Exporte und andere heikle Aktionen fest; Inhaber und Admins lesen es im Dashboard. Was AnyReplay über interne Werkzeuge tut, landet in einem eigenen Audit-Protokoll.
- AnyReplay greift auf Kundendaten nur zu, um den Dienst zu betreiben, oder wenn ein Kunde um Hilfe bittet.
Ihre Daten: mitnehmen und löschen
Ein Inhaber kann alles, was die Organisation hat — Projekte, Sitzungen, Ereignisse, die Aufzeichnungen selbst, Übersetzungen, Notizen und das Audit-Log — als ein Archiv herunterladen, unter Einstellungen → Daten exportieren oder über die API. Ein Export löscht nichts. Siehe Daten exportieren.
Wer eine Organisation schließt, löscht sie nach einer Frist von 30 Tagen, in der ein Inhaber noch exportieren kann. Was wir versprechen, falls AnyReplay selbst je eingestellt wird, steht auf der Seite Über uns.
Wie wir entwickeln
- Vor jedem Release laufen der komplette Build, die Typprüfung und die automatischen Tests; die API-Tests nutzen eine echte PostgreSQL-Engine, auch die Tests für Berechtigungen und Mandantentrennung. Noch nicht: Das Deployment selbst lehnt einen Build mit fehlschlagenden Tests nicht ab.
- Abhängigkeiten sind in einer Lock-Datei festgeschrieben und werden genau so installiert.
- Der Browser-Recorder hat ein Größenbudget, das der Build durchsetzt; seine gemessene Größe und seine Kosten stehen auf der Performance-Seite.
- Die Recorder-SDKs sind Open Source unter der MIT-Lizenz; was auf Ihrer Website läuft, lässt sich Zeile für Zeile lesen.
Backups und Wiederherstellungsprüfungen
- Die Datenbank wird jede Nacht gesichert, auf unserem Server mit AES-256 verschlüsselt, bevor das Backup ihn verlässt, und in den separaten Backup-Bucket in der EU geschrieben. Backups werden 30 Tage aufbewahrt.
- Einmal pro Woche wird das neueste Backup automatisch in eine Wegwerf-Datenbank zurückgespielt, und ihre Zeilen werden gezählt. Ein ungeprüftes Backup ist eine Hoffnung, kein Backup.
- Aufzeichnungen schützt die Versionierung des Buckets, nicht das nächtliche Backup. Eine Aufzeichnung, die wir löschen — Aufbewahrungsfrist, gelöschte Sitzung oder gelöschtes Projekt, Löschantrag —, verlässt den Dienst sofort; der Speicheranbieter verbirgt sie sofort und entfernt ihre Bytes sieben Tage später, sodass sich eine ungewollte Löschung in dieser Zeit noch rückgängig machen lässt.
- Eine externe Verfügbarkeitsprüfung läuft stündlich, eine Prüfung des Servers alle fünfzehn Minuten; Anwendungsfehler werden gemeldet, sobald sie auftreten.
Zwischen dem 16. September und dem 15. Oktober 2026 sind das nächtliche Backup und die wöchentliche Wiederherstellungsprüfung wegen eines Konfigurationsfehlers jede Nacht fehlgeschlagen, und der Alarm ging zwischen anderen unter. Am 15. Oktober wurde das behoben; jedes Deployment gibt jetzt das Ergebnis des letzten Backups und der letzten Prüfung aus. Einzelheiten im Changelog.
Sicherheitsvorfälle
Betrifft ein Sicherheitsvorfall Kundendaten, informieren wir die Inhaber der betroffenen Organisationen unverzüglich und innerhalb von 48 Stunden, nachdem wir davon erfahren haben — mit dem, was wir wissen und was wir tun —, und halten sie auf dem Laufenden. Die Zusage ist Teil unseres Auftragsverarbeitungsvertrags.
Compliance
- Wir haben keine SOC-2- oder ISO-27001-Zertifizierung und werden keine behaupten, bevor ein Prüfer sie bestätigt.
- Ein Auftragsverarbeitungsvertrag nach DSGVO steht jedem Kunden offen und lässt sich im Dashboard annehmen.
- Unsere Datenschutzerklärung beschreibt, was wir erfassen und warum. Antworten auf Sicherheitsfragebögen gibt es auf Anfrage.
Eine Schwachstelle melden
Wenn Sie glauben, eine Sicherheitslücke in AnyReplay gefunden zu haben, schreiben Sie an [email protected], mit genug Details, damit wir sie nachstellen können — auf Englisch oder Türkisch. Wir bestätigen Ihre Meldung innerhalb von drei Werktagen und halten Sie auf dem Laufenden, während wir sie beheben.
Im Rahmen: anyreplay.com einschließlich des Dashboards, api.anyreplay.com, in.anyreplay.com und cdn.anyreplay.com sowie die AnyReplay-Recorder-Pakete. Nicht im Rahmen: Denial-of-Service- und Lasttests, Social Engineering gegenüber unseren Mitarbeitenden oder Kunden, physische Angriffe und die Infrastruktur unserer Anbieter.
Safe Harbor. Wenn Sie sich in gutem Glauben an diese Richtlinie halten — nur mit Ihrem eigenen Konto und Ihren eigenen Daten testen, nicht mehr fremde Daten einsehen, ändern oder behalten, als nötig ist, um das Problem zu zeigen, den Dienst nicht beeinträchtigen und uns angemessen Zeit zur Behebung geben, bevor Sie es anderen erzählen —, gehen wir rechtlich nicht gegen Sie vor, bitten auch niemanden darum und betrachten Ihre Untersuchung als autorisiert.
Ein bezahltes Bug-Bounty-Programm gibt es noch nicht. Wenn Sie möchten, nennen wir Sie gern öffentlich, sobald das Problem behoben ist.