Datenschutz & Daten · 7 Min. Lesezeit

So prüfen Sie, dass Ihre DNA-Datei den Browser nie verlässt (eine 3-Minuten-Prüfung mit den DevTools)

Eine dreiminütige Prüfung im Netzwerk-Reiter Ihres Browsers: was Sie öffnen, welche Anfragen unser Generator stellt, wie ein Upload bei einem anderen Dienst aussieht und was wir speichern.

Floriel FedryCo-founder & Software Engineer

Öffnen Sie die Entwicklerwerkzeuge Ihres Browsers, wechseln Sie zum Reiter „Netzwerk“ und erstellen Sie dann einen Bericht. Bei Full Human Health sehen Sie, wie das Generator-Modul einmal heruntergeladen wird (rund 36 MB), dazu zwei kleine Anfragen, die einen Credit reservieren und die Reservierung abschließen, und ein Statistik-Ereignis, das den Berichtstyp nennt. Nichts in der Größe Ihrer DNA-Datei verlässt die Seite. Mit denselben drei Minuten testen Sie jeden anderen Dienst.

Das Versprechen und warum man es prüfen sollte

„Auf Ihrem Gerät verarbeitet“ ist inzwischen ein Standardversprechen. Uns eingeschlossen, geben 2026 mindestens sechs Werkzeuge für DNA-Rohdaten dieses Versprechen: Genetic Lifehacks schreibt, dass die Datei Ihr Gerät nie verlässt, GenomeInsight schreibt, dass alles im Browser verarbeitet wird, Allelix (Open Source, AGPL-3.0) schreibt, dass Genotypisierungsdaten Ihren Rechner nie verlassen, snp-browser gleicht die Datei in Browser-Workern ab, und personal-genomics (MIT) läuft lokal. Alle fünf Seiten wurden am 14. Oktober 2026 geprüft.

Ein Versprechen ist kein Beweis, und Code ändert sich mit jedem Deployment. Als wir die Startseite von GenomeInsight am 14. Oktober 2026 abriefen, verwies ihr HTML auf Skripte von Google Tag Manager, Google Analytics, Google Ads und Facebook Pixel. Das ist kein DNA-Upload, und die Analyseseite haben wir nicht getestet, aber eine Website kann ehrliche Angaben zu Ihrer Datei machen und trotzdem eine Menge über Sie versenden. Was eine Seite sendet, erfahren Sie nur, wenn Sie zusehen.

Den Netzwerk-Reiter öffnen und einen Bericht erstellen

  1. Melden Sie sich auf der Kontoseite an und wählen Sie Ihre Rohdatei aus (unsere Download-Anleitung beschreibt jeden Anbieter). Klicken Sie noch nicht auf „PDF auf diesem Gerät erstellen“.
  2. Öffnen Sie die Entwicklerwerkzeuge: F12 oder Strg+Umschalt+J (auf dem Mac Cmd+Option+J) in Chrome und Edge, dann klicken Sie auf den Reiter „Netzwerk“, wie in der Dokumentation von Chrome beschrieben; in Firefox öffnet Strg+Umschalt+E (Cmd+Option+E) direkt die Netzwerkanalyse.
  3. Aktivieren Sie „Preserve log“ (Chrome) bzw. „Persist Logs“ (Firefox) und leeren Sie die Liste.
  4. Kreuzen Sie das Bestätigungskästchen an und klicken Sie dann auf „PDF auf diesem Gerät erstellen“.

Vier Dinge erscheinen, in dieser Reihenfolge:

  • Ein großer Download. Eine .wasm-Datei von unserer eigenen Domain: der Generator, in Rust geschrieben und zu WebAssembly kompiliert, mit dem Katalog darin. Unkomprimiert rund 36 MB; die Spalte „Größe“ zeigt die übertragene Menge, die bei Kompression kleiner sein kann. Er wird nur einmal heruntergeladen und für das nächste Mal zwischengespeichert.
  • POST /api/generations/reserve. Öffnen Sie den Reiter „Payload“ (Chrome) bzw. „Anfrage“ (Firefox): Der Inhalt ist {"reportId":"...","consent":true}, also der Berichtstyp und die Tatsache, dass Sie das Bestätigungshäkchen gesetzt haben, sonst nichts.
  • POST /api/generations/<id>/complete. Kein Inhalt. Diese Anfrage markiert den Credit als verbraucht, sobald das PDF auf Ihrem Gerät existiert.
  • Ein Statistik-Ereignis an /_vercel/insights auf unserer Domain, mit dem Namen report_generated: Berichtstyp, Sprache des PDF, der gewählte Anbieter und die Dauer in Millisekunden. Kein Dateiname, kein Genotyp.

Sortieren Sie nach Größe. Die einzige große Zeile ist der Download; ein Rohdatenexport ist einige Dutzend Megabyte groß und stünde ganz oben, wenn irgendeine Anfrage ihn trüge. Hier läuft kein Google-Skript: Unser Werbe-Tag ist von den Anmelde- und Kontoseiten ausgeschlossen. Stripe erscheint nur als Weiterleitung, wenn Sie Credits kaufen, bevor überhaupt eine Datei geöffnet ist. Schlägt eine Berichterstellung fehl, erscheint zusätzlich ein POST /api/generations/<id>/fail ohne Inhalt, und der Credit wird zurückgebucht; dazu kommt ein Ereignis generation_failed mit dem Berichtstyp und dem Schritt, der fehlschlug (Reservierung, Erstellung oder Abschluss).

Dieselbe Prüfung bei jedem anderen Dienst

Gleiches Vorgehen, eine Regel: Führen Sie die Prüfung auf der Seite durch, die die Datei öffnet, nicht auf der Startseite. Ein Upload ist leicht zu erkennen: ein POST oder PUT ungefähr in der Größe Ihrer Datei, oft als multipart/form-data, oft an einen Speicher-Host oder einen Pfad, der „upload“ enthält. Uploads in Teilstücken erscheinen als mehrere Anfragen von einigen Megabyte; der Filter „WS“ zeigt WebSocket-Verbindungen.

Manche Dienste laden bewusst hoch und sagen das auch. Promethease braucht die Datei auf seinen Servern und löscht sie laut seiner Datenschutzseite, sobald der Bericht ausgeliefert ist; seit dem 8. April 2025 speichert es keine Dateien mehr (geprüft am 14. Oktober 2026). Das Problem ist das Werkzeug, das „auf dem Gerät“ verspricht und trotzdem hochlädt. Eine Einschränkung und eine Ergänzung: Ein sauberes Werkzeug kann sich morgen ändern, wiederholen Sie die Prüfung also nach Updates; und bei Open-Source-Werkzeugen wie Allelix und snp-browser können Sie zusätzlich den Code lesen. Unserer ist noch nicht öffentlich, bei uns ist also der Datenverkehr der Beleg.

Was wir speichern und warum

Unsere Server speichern den Namen und die E-Mail-Adresse, die Sie bei der Registrierung eingegeben haben, einen Passwort-Hash und Ihre Anmeldesitzungen, Ihr Guthaben und die Zahlungsdatensätze von Stripe sowie für jede Berichterstellung den Berichtstyp, den Status und die Zeitstempel. Credits brauchen ein Konto, Erstattungen brauchen einen Nachweis dessen, was fehlschlug, und Stripe braucht eine E-Mail-Adresse für die Quittung. Wir erhalten nie die Datei, die Genotypen, das PDF oder den Dateinamen. Ein Credit wird vor der Erstellung reserviert, damit er bei einer fehlgeschlagenen Erstellung automatisch erstattet wird. Die Sicherheitsseite führt jeden Dienst auf, den wir nutzen, und wie lange jeder Datensatz aufbewahrt wird; die Methodik-Seite erklärt, was der Generator im Arbeitsspeicher mit der Datei macht.

Was eine Content Security Policy hinzufügen würde (wir haben noch keine)

Eine Content Security Policy ist ein Antwort-Header. Ihre Direktive connect-src legt fest, welche URLs die Skripte einer Seite über fetch, XMLHttpRequest, WebSocket, EventSource und sendBeacon kontaktieren dürfen, wie MDN dokumentiert. Auf unsere eigene Domain und Stripe beschränkt, würde sie den Browser selbst dazu bringen, das Senden von Daten an jedes andere Ziel zu verweigern, auch bei einer kompromittierten Abhängigkeit oder einem künftigen Fehler.

Heute senden wir sie nicht: curl -I https://www.full-human.health/en-US liefert einen HSTS-Header und keine Content-Security-Policy (geprüft am 14. Oktober 2026). Die Erlaubnisliste muss Stripe Checkout, die Anmeldung und die Statistik funktionsfähig halten und muss vorher getestet werden; sie steht auf unserer Liste. Sie wäre ein zweites Schloss, kein Ersatz, denn eine solche Richtlinie erlaubt unsere eigene Domain, und nur der Netzwerk-Reiter zeigt, dass nicht einmal wir die Datei erhalten. Ein Audit durch Dritte gibt es bisher ebenfalls nicht. Unsere security.txt nennt Sicherheitsforschern einen Kontakt; die Seite Über uns sagt, wer antwortet.

FAQ

Zeigt der Netzwerk-Reiter alles, was eine Seite sendet?

Er erfasst jede HTTP-Anfrage, jede WebSocket-Nachricht und jeden Beacon des Tabs, auch die von Skripten und Workern. Was eine Browsererweiterung eigenständig sendet, zeigt er nicht. Nutzen Sie deshalb ein privates Fenster. Außerdem zeichnet er nur auf, solange er geöffnet ist: Lassen Sie ihn während der gesamten Erstellung offen.

Warum lädt die Seite rund 36 MB herunter?

Der Generator ist in Rust geschrieben, zu WebAssembly kompiliert und bringt seinen Katalog und den PDF-Renderer mit; allein der Gesundheitskatalog enthält 12.110 Leitassoziationen. Er ist aus demselben Grund groß, aus dem Ihre Datei nirgendwohin muss: Der Katalog kommt zu Ihnen. Ihr Browser speichert ihn zwischen, spätere Berichte überspringen den Download also.

Kann ich die Verbindung während der Erstellung trennen?

Derzeit nicht für den ganzen Durchlauf. Vor jedem Bericht wird ein Credit reserviert und danach abgeschlossen; beide Aufrufe brauchen eine Verbindung. Schlägt der Abschluss fehl, läuft die Reservierung nach 60 Minuten ab und wird bei Ihrem nächsten Besuch erstattet. Einen Credit zu reservieren, bevor Sie offline gehen, und ihn beim erneuten Verbinden abzuschließen, würde den ganzen Durchlauf offline ermöglichen; das haben wir nicht gebaut.

Was genau steht im Statistik-Ereignis?

Der Name des Ereignisses, der Berichtstyp, die Sprache des PDF, der gewählte Anbieter und die Dauer in Millisekunden, dazu der Seitenpfad und die Skriptversion. Wie jede Anfrage trägt es Ihre IP-Adresse und die User-Agent-Angabe Ihres Browsers; Vercel leitet daraus ein Land, eine Angabe zu Browser und Betriebssystem sowie einen Besucher-Hash ab, der nach 24 Stunden verworfen wird, laut seiner Datenschutzseite (geprüft am 14. Oktober 2026). Kein Cookie, kein Dateiname, kein Genotyp.

Ist „läuft im Browser“ dasselbe wie „privat“?

Nein. Eine Seite kann Ihre Datei lokal verarbeiten und trotzdem aus demselben Tab Ihre Identität und Ihr Verhalten an Werbenetzwerke senden, und das Konto dahinter behält, was Sie eingegeben haben. Datenschutz bedeutet: was die Seite sendet, die Ihre Datei verarbeitet, was das Konto speichert und welches Recht gilt. Fragen Sie bei jedem Werkzeug nach allen drei.

Dieser Artikel dient nur der allgemeinen Information und stellt keine medizinische Beratung dar. Sprechen Sie mit einer qualifizierten medizinischen Fachperson, bevor Sie gesundheitliche Entscheidungen auf Grundlage genetischer Daten treffen.

Nichts, was gehackt, verkauft oder herausgegeben werden könnte

Ein DNA-Bericht von einem Dienst, der Ihre DNA nie erhält.

Der Generator läuft in Ihrem Browser-Tab. Unsere Server sehen Ihr Konto und Ihre Zahlung, nie Ihre Datei oder Ihr PDF.

409 Katalogmerkmale · 17 Kategorien · GWAS Catalog Juni 2026

Prüfen Sie es selbst: Öffnen Sie den Reiter „Netzwerk“, während ein Bericht erstellt wird.

ThemenDNA-DatenschutzDNA-RohdatenDevToolsDNA-Analyse im BrowserContent Security PolicyDNA-Rohdaten hochladen