Sicherheit & Architektur

Wie das Datenschutzversprechen tatsächlich gebaut ist.

Pulse behauptet, deine rohen Gesundheitsdaten verlassen dein Telefon nie. Das ist eine starke Behauptung, also sagt diese Seite genau, was sie bedeutet, welche Schlüssel wo liegen, was auf unseren Servern steht, was wir trotzdem sehen, und wie du das alles selbst prüfen kannst.

Zuletzt am 29 August 2026 gegen den Code geprüft Umfang: die iOS- und watchOS-App und der Server dahinter. Geschrieben aus dem Code von beidem, nicht aus einer Roadmap.

Die Behauptung, genau formuliert

Dein Puls, deine Herzratenvariabilität, dein Schlaf und deine Bewegung werden auf deinem iPhone aus Apple Health gelesen, auf diesem iPhone gegen deinen eigenen laufenden Normalzustand ausgewertet und zu einem Satz. Der Satz ist das Einzige, was reist. Kein Messwert, kein Score, kein Diagramm und kein Verlauf erreicht unsere Server, weil es keinen Codepfad gibt, der so etwas senden würde.

Das ist ein engeres Versprechen als „wir sind privat“, und es ist das, das sich prüfen lässt. Der Rest dieser Seite ist die Prüfung.

Vier Dinge, die daraus folgen

  • Wir können dir deinen eigenen Gesundheitsverlauf nicht in einem Web-Dashboard zeigen, weil wir ihn nicht haben.
  • Wir können deinen Chat nicht wiederherstellen, wenn du Schlüssel und alle Geräte verlierst, weil der Schlüssel nie unserer war.
  • Wir können keine Cloud-Funktionen über deinen Inhalt bauen, weil unsere Server ihn nicht lesen können.
  • Eine behördliche Anordnung an uns bringt eine pseudonyme Kennung und einen Push-Token. Mehr gibt es nicht herauszugeben.

Der Weg, den ein Tag nimmt

Vier Schritte, und nur der vierte verlässt das Gerät.

Die gestrichelte Grenze ist dein Gerät. Nichts darin wird irgendwohin übertragen. DEIN IPHONE security.flow.node_1 security.flow.node_2 security.flow.node_3 wird nie übertragen Puls · HRV · Schlaf · Bewegung · Zyklus ein Satz Deine iCloud Dein Gegenüber Unser Server inhaltsloser Push
Die gestrichelte Grenze ist dein Gerät. Nichts darin wird irgendwohin übertragen.
  1. 01

    Gemessen

    Deine Apple Watch, oder ein verbundenes WHOOP-Band, schreibt Messwerte in Apple Health auf deinem iPhone. Apple Health ist eine Datenbank auf deinem Telefon, kein Dienst von uns.

  2. 02

    Gelesen, mit Erlaubnis

    Pulse liest die Typen, die du im Health-Berechtigungsdialog von iOS freigegeben hast, und nur die. Nimm einen dort weg, und die App arbeitet mit dem Rest weiter.

  3. 03

    Auf dem Gerät ausgewertet

    Heute wird gegen deine eigenen letzten Wochen verglichen, von Code, der auf deinem iPhone läuft. In diesem Schritt gibt es keinen Server und nirgends ein Modell.

  4. 04

    Ein Satz geht hinüber

    Der entstandene Satz, ein grobes Stimmungslabel und der Anzeigename, den du gewählt hast, gehen über deine eigene iCloud zu deinem Gegenüber, in einen Bereich, der mit genau einer Person geteilt ist.

Jedes Datum, und wo es liegt

Drei Listen, weil es genau drei Orte gibt, an denen Daten liegen können: dein Gerät, der Raum, den du mit deinem Gegenüber teilst, und unser Server. Einen vierten gibt es nicht.

Auf deinem Gerät, und sonst nirgends

Im iOS-Schlüsselbund, lesbar erst nachdem das Telefon seit dem Start einmal entsperrt wurde, und bewusst nicht Teil deines iCloud-Backups.

  • Puls, Ruhepuls, HRV, Schlaf, Schritte, Trainings- und Stehzeit, Atemfrequenz, Sauerstoffsättigung, Achtsamkeitsminuten

    Aus Apple Health gelesen. Ein rollender 90-Tage-Verlauf bleibt auf dem Telefon, damit der Verläufe-Tab eine Kurve zeichnen kann.

  • Zyklusdaten

    Nur wenn du Rhythmus-Bewusstsein einschaltest, was standardmäßig aus ist. Die iCloud-Spiegelung ist dafür im Code deaktiviert, es synchronisiert also nie, und der Name der Phase verlässt das Gerät nicht.

  • Fenster ungewöhnlicher Herzzeichen

    Auf dem Gerät bemerkt. Nichts wird geteilt, bevor du diesen einzelnen Moment freigibst, und ein Filter entfernt Zahlen und Zyklusvokabular aus der Formulierung, bevor überhaupt etwas hinausgehen kann.

  • Dein privater Chat-Schlüssel

    Auf deinem Gerät erzeugt, in deinem iCloud-Schlüsselbund abgelegt, damit deine eigenen anderen Geräte ihn nutzen können. Nie zu uns hochgeladen.

  • WHOOP-Zugriffs- und Aktualisierungs-Token

    Nur wenn du ein Band verbindest. Im App-Schlüsselbund, als nur für dieses Gerät markiert, synchronisiert also nie, und beim Trennen auch bei WHOOP widerrufen.

  • Dein Einwilligungsnachweis und die eigene Mitteilungsliste der App

    Ein versionierter Nachweis mit Zeitstempel darüber, wozu du Ja gesagt hast, jederzeit widerrufbar. Ein Widerruf stoppt jede Gesundheitsverarbeitung sofort.

Was zu deinem Gegenüber geht

Über deine eigene iCloud, in einem privaten Bereich, der mit einer namentlich benannten Person geteilt ist. Der Bereich ist nicht öffentlich: Ein Link darauf nützt niemandem, dessen iCloud-Identität nicht auf der Teilnehmerliste steht.

Was Schutz
Der Satz des Tages, seine Vorschläge, ein grobes Stimmungslabel, dein Anzeigename und dein Bild Geteilter Bereich, nur lesbar. Name und Bild sind Ende-zu-Ende-verschlüsselt. Sätze verfallen am Ende des Tages.
Nachrichten, Fotos, GIFs, Gesten, Bitten, Einträge in „Unsere Geschichte“, Kalendertermine Auf deinem Gerät Ende-zu-Ende-verschlüsselt. Weder wir noch Apple können sie lesen.
Watchlist- und Wunschlisteneinträge: ein Titel, eine Art, ein Link, ein Cover, ein Status Im Klartext in eurem geteilten Bereich, nie Gesundheitsdaten. Kommentare, Reaktionen und das stille Urteil jedes Einzelnen sind Ende-zu-Ende-verschlüsselt.
Die Frage des Tages und beide Antworten Nur der geteilte Bereich. Nicht zusätzlich Ende-zu-Ende-verschlüsselt wie der Chat. Siehe die Grenzen weiter unten.
Tippmarker, Lesebestätigungen und das Signal „gemeinsam halten“ Live weitergereicht, solange der Chat offen ist, nirgends gespeichert. Das Haltesignal ist ein einziges Ja oder Nein ganz ohne Inhalt.

Alles, was auf unserem Server liegt

Das ist die vollständige Liste, keine Zusammenfassung davon. Die App hat kein Kontosystem, also gibt es auf unserer Seite kein Profil, kein Nachrichtenarchiv und keine Gesundheitsakte aufzuzählen.

Eintrag Wozu es ihn gibt Bleibt bis
Eine pseudonyme iCloud-Kennung, ein Push-Token, die Plattform und drei Ein-/Aus-Schalter für Mitteilungen Damit eine Mitteilung beim richtigen Telefon ankommt. Du löschst dein Konto in der App, oder Apple meldet den Token als tot.
Eine Nachricht aus dem Kontaktformular: Name, E-Mail, optional Land und was du geschrieben hast Damit ein Mensch dir antworten kann. Das Gespräch endet. Sie geht per Mail an unser Postfach; protokolliert wird nur das Thema.
Sitzungs-Cookie und CSRF-Token der Website Damit die Seite funktioniert. Unbedingt erforderlich; ein Analyse- oder Werbe-Cookie existiert nicht. Die Browsersitzung endet.
Administratorkonten für diese Website Damit wir diese Seiten veröffentlichen können. Ohne Bezug zur App, die keinen Login hat. Das Konto wird gelöscht.

Was bewusst fehlt: jeder Gesundheitswert, jeder Nachrichtentext, jeder Name aus der App, jeder Standort, jede Werbe-ID.

Das Verschlüsselungsmodell

Benannt statt angedeutet, damit man darüber streiten kann.

Schlüsselaustausch
Curve25519, über Apples CryptoKit. Jede Seite erzeugt ein Identitätsschlüsselpaar auf dem eigenen Gerät, und beide einigen sich direkt auf ein gemeinsames Geheimnis. Zu keinem Zeitpunkt läuft Schlüsselmaterial über unsere Server.
Nachrichtenverschlüsselung
AES-GCM, über CryptoKit, das nicht nur verschlüsselt, sondern auch authentifiziert: Ein veränderter Geheimtext lässt sich gar nicht erst öffnen, statt zu etwas anderem zu entschlüsseln.
Wo die Schlüssel liegen
Dein privater Schlüssel liegt in deinem iCloud-Schlüsselbund, an deine Apple-ID gebunden und für deine eigenen Geräte verfügbar. Wir haben keine Kopie und keine Möglichkeit, eine anzufordern. Lokal zwischengespeicherte Gesundheitswerte liegen im Geräteschlüsselbund in der Klasse „nur dieses Gerät“, was sie aus deinem iCloud-Backup heraushält.
Transport
Verschlüsselte Pakete reisen über Apples CloudKit. Solange ihr beide den Chat offen habt, können dieselben bereits verschlüsselten Bytes zusätzlich einen schnelleren Weg über unser eigenes Echtzeit-Relay nehmen. Es signiert und leitet weiter und speichert nichts.
Mitteilungen
Push-Mitteilungen sind bewusst inhaltslos: ein fester Titel und Text plus ein Typ-String, nie die Nachricht. Eine Bitte um etwas Privates steht nie ausgeschrieben auf einem Sperrbildschirm, wo jemand neben dir sie lesen kann.
Die WHOOP-Anmeldung
Dein Telefon spricht direkt mit WHOOP. Unser Server führt nur den Token-Tausch aus, weil WHOOP ein Client-Geheimnis verlangt und ein Geheimnis in einer iOS-App von jedem gelesen werden kann, der sie herunterlädt. Aus diesem Tausch wird nichts gespeichert: kein Token, keine WHOOP-Nutzer-ID, keine Zeile. Die Weiterleitung landet auf einer Domain, die diese App über Associated Domains beansprucht hat, der Autorisierungscode kann also nicht von einer anderen App auf dem Gerät abgefangen werden.

Wer sonst noch etwas bekommt

Die vollständige Liste, mit dem, was jede Stelle tatsächlich erhält. Mehrere davon existieren nur für Leute, die eine bestimmte Funktion nutzen.

Empfänger Was dort ankommt Wann
Apple Verschlüsselte Pakete und Sätze innerhalb deiner eigenen iCloud, und die Zustellung von Mitteilungen. Immer. Dort liegt euer geteilter Raum.
Google (Firebase Cloud Messaging) Ein Push-Token und ein inhaltsloser Titel, Text und Typ. Firebase-Analyse und -Werbung sind im Build deaktiviert; verlinkt sind nur der Kern und der Messaging-Teil. Wenn dir eine Mitteilung geschickt wird.
GIPHY Deine GIF-Suchbegriffe. Das GIF, das du dann sendest, reist Ende-zu-Ende-verschlüsselt wie jede Nachricht. Nur solange die GIF-Suche offen ist. Öffnest du sie nie, geht nichts hin.
WHOOP Deine eigene Anmeldung und deine eigenen Messwerte, von deinem Telefon direkt bei WHOOP gelesen. Nur wenn du ein Band verbindest.
Fastmail Die Kontaktnachricht, die du uns geschrieben hast. Nur wenn du uns schreibst.

In beiden Codebasen nachweislich nicht vorhanden

  • Kein Analyse-SDK, welcher Art auch immer
  • Kein Werbe- oder Attributions-SDK
  • Keine Werbe-ID und keine Tracking-Abfrage, weil es nichts zu verfolgen gibt
  • Kein fremder Absturzberichterstatter; Diagnose nur über Apples Framework auf dem Gerät
  • Kein Zahlungs- oder Abo-Dienstleister
  • Kein Sprachmodell, weder in der App noch auf dem Server
  • Kein app-übergreifendes Tracking und keine Tracking-Domains im Datenschutzmanifest

Wovor dich das nicht schützt

Der Teil, den die meisten Seiten weglassen. Nichts davon ist ein Fehlerbericht; alles ist entweder ein bewusster Tausch oder eine bekannte Grenze, von der du lieber von uns hören solltest.

  • Wir sehen Metadaten, und Verschlüsselung beseitigt sie nicht

    Wir sehen, dass ein Konto existiert, dass zwei Konten verbunden sind, dass eine Nachricht einer bestimmten Größe zu einer bestimmten Zeit zwischen ihnen bewegt wurde, und den Token, den Apple zum Zustellen braucht. Wir behalten so wenig wie möglich und verkaufen nichts davon, aber „wir können eure Nachrichten nicht lesen“ und „wir wissen nichts über euch“ sind verschiedene Sätze, und nur der erste stimmt bei irgendjemandem.

  • Die Frage des Tages ist nicht Ende-zu-Ende-verschlüsselt

    Deine Antwort und die deines Gegenübers reisen wie ein Satz des Tages in eurem geteilten iCloud-Bereich, statt zusätzlich verschlüsselt zu werden wie der Chat. Sie verfallen binnen 48 Stunden aus dem geteilten Raum und bleiben höchstens sieben Tage auf jedem Gerät. Wir sagen das ausdrücklich, weil es die eine Eigenschaft ist, die ein Leser sonst vernünftigerweise annehmen würde.

  • Manche geteilten Einträge sind absichtlich im Klartext

    Watchlist- und Wunschlisteneinträge, ein Titel, eine Art, ein Link, ein Status, synchronisieren als einfache Datensätze in eurem geteilten Bereich, weil sie vor dem Schlüsselaustausch fließen, der den Chat schützt. Gesundheitsdaten enthalten sie nie. Die Kommentare und Reaktionen darauf sind verschlüsselt.

  • Das Verbinden hinterlässt eine kurze öffentliche Spur

    Solange eine Einladung offen ist, ist ein Datensatz mit einer pseudonymen iCloud-Kennung, deinem gewählten Anzeigenamen und einem kurzen Code für andere angemeldete Nutzer des iCloud-Containers der App lesbar. Codes verfallen nach 48 Stunden, und die Datensätze werden bei Annahme, beim Trennen und beim Löschen des Kontos bereinigt. Der geteilte Bereich selbst ist so nicht offen: Er ist auf die iCloud-Identität deines Gegenübers beschränkt, ein abgegriffener Link öffnet also nichts.

  • Der Mitteilungs-Endpunkt ist mit einem Schlüssel geschützt, der in der App mitreist

    Das heißt, er ist kein echtes Geheimnis. Der schlimmste Fall ist, dass jemand eine inhaltslose Mitteilung auf einem Telefon erscheinen lassen könnte, dessen pseudonyme Kennung er ohnehin schon kennt; der Endpunkt gibt eine Zustellzahl zurück und verrät nichts über die Person. Er ist ratenbegrenzt, und ihn mit einer Geräteprüfung zu härten steht auf der Liste, ist aber nicht erledigt.

  • Deine eigenen Geräte, und die Menschen in ihrer Nähe

    Wer dein Telefon entsperren kann, kann deine Nachrichten lesen, und das gilt für jede Messenger-App. Schalte die Face-ID-Sperre in der App ein, wenn dir das wichtig ist. Ebenso schützt Ende-zu-Ende-Verschlüsselung die Leitung, nicht die Person, der du etwas geschickt hast.

  • Noch keine unabhängige Prüfung

    Die Prüfung, aus der diese Seite gebaut ist, haben wir selbst gemacht, gegen unseren eigenen Code, an den unten genannten Daten. Das ist mehr als eine Absicht und weniger als ein externes Audit, und es anders zu nennen wäre der erste unehrliche Satz auf dieser Seite. Eine unabhängige Prüfung wollen wir beauftragen, und wenn es so weit ist, steht das Datum hier.

Wie du das selbst prüfst

Du solltest uns das nicht glauben müssen, und auf iOS musst du es weitgehend auch nicht.

  1. 01

    Schalte den App-Datenschutzbericht ein

    In den iOS-Einstellungen unter Datenschutz & Sicherheit hält der App-Datenschutzbericht fest, welche Domains eine App kontaktiert und welche Sensoren sie anfasst. Nutze Pulse eine Woche und lies, was dort steht. Du suchst das Fehlen von Analyse- und Werbedomains.

  2. 02

    Lies den Health-Berechtigungsdialog

    Einstellungen, dann Health, dann Datenzugriff & Geräte, dann Pulse. Dort steht jeder Typ, den die App lesen und schreiben darf. Nimm etwas weg und sieh zu, wie die App mit weniger weiterarbeitet.

  3. 03

    Prüfe das Datenschutzlabel im App Store

    Apple verlangt, dass das Label zum Code passt, und unseres nennt einen Namen, eine pseudonyme Nutzerkennung und einen Gerätetoken, alle als App-Funktionalität markiert, keines als Tracking.

  4. 04

    Sieh dir den Verkehr selbst an

    Wenn du der Typ Mensch bist, der einen Proxy besitzt, richte ihn auf die App. Zu sehen sind iCloud, unser Push-Endpunkt und, falls du ein Band verbunden hast, WHOOP. Nicht zu sehen ist ein Messwert.

  5. 05

    Frag uns etwas Konkretes

    Vage Datenschutzfragen bekommen überall vage Antworten. Eine konkrete zu einem bestimmten Ablauf bekommt von uns eine konkrete, und wenn die Antwort unangenehm ist, kommt sie trotzdem.

Wann das zuletzt geprüft wurde

Jeder Eintrag ist eine Prüfung des ausgelieferten Codes gegen das, was die Seite und die Richtlinie behaupten, mit dem, was gefunden und behoben wurde.

  1. 2. Juli 2026

    Vollständige Prüfung beider Repositories. Gefunden und behoben: eine unvollständige Empfängerliste, eine Behauptung „wir speichern nichts“, die für den Push-Eintrag nicht stimmte, und eine Kontolöschung, die diesen Eintrag nicht entfernte. Das Datenschutzlabel im App Store wurde im selben Zug korrigiert.

  2. 24. Juli 2026

    Prüfung des Echtzeit-Relays und zweier neuer Funktionen. Das Relay wurde als zusätzlicher Übertragungsweg offengelegt, und es steht jetzt ausdrücklich da, dass die Frage des Tages nicht wie der Chat Ende-zu-Ende-verschlüsselt ist.

  3. 29. August 2026

    Prüfung der gemeinsamen Watchlist und des WHOOP-Imports. WHOOP wurde als benannter Empfänger für alle aufgenommen, die ein Band verbinden, und es ist dokumentiert, dass Linkvorschauen und Cover ausschließlich vom Gerät des Absenders geholt werden.

Etwas gefunden?

Verantwortungsvolle Offenlegung ist willkommen und wird genannt. Schreib an [email protected] mit genug Details zum Nachstellen, und gib uns ein faires Zeitfenster vor einer Veröffentlichung. Wir zahlen keine Bug-Bounty, dafür sind wir zu klein, um das ehrlich zu versprechen, aber wir schicken dir auch keinen Anwalt.

Sicherheitskontakt [email protected] Maschinenlesbar unter /.well-known/security.txt

Lies den Rest.

Die Datenschutzerklärung trägt die rechtliche Fassung von allem hier, samt deiner Rechte und wie du sie wahrnimmst.