Sicherheit & Architektur
Wie das Datenschutzversprechen tatsächlich gebaut ist.
Pulse behauptet, deine rohen Messwerte verlassen dein Telefon nie. Das ist eine starke und eine enge Behauptung, also sagt diese Seite genau, was sie abdeckt, was dein Telefon trotzdem verlässt, welche Schlüssel wo liegen, was auf unseren Servern steht, was wir und Apple weiterhin lesen können, und wie du das alles selbst prüfen kannst.
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. Kein Messwert, kein Score, kein Diagramm und kein Verlauf erreicht unsere Server, weil es keinen Codepfad gibt, der so etwas senden würde. Der Satz selbst reist sehr wohl: Er ist für dein Gegenüber geschrieben, er ist aus deinen Gesundheitsdaten abgeleitet, und er kommt über euren geteilten iCloud-Bereich bei ihm an. Dieser Unterschied ist das ganze Thema dieser Seite.
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 erreicht Betriebsdaten, keine Gesundheitsdaten: pseudonyme Kennungen, Push-Token, Mitteilungseinstellungen, kurzlebige Serverprotokolle und das, was du uns selbst geschickt hast. Sie erreicht keinen Messwert und keinen lesbaren Text einer verschlüsselten Nachricht, weil wir beides nicht haben.
Der Weg, den ein Tag nimmt
Fünf Schritte. Die ersten drei passieren auf deinem Telefon, nur der vierte geht zu jemandem hinüber, und der fünfte ist die eine Antwort, die zurückkommen kann.
-
01
Gemessen
Deine Apple Watch, oder ein WHOOP-Band sobald diese Unterstützung kommt, schreibt Messwerte in Apple Health auf deinem iPhone. Apple Health ist eine Datenbank auf deinem Telefon, kein Dienst von uns.
-
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.
-
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.
-
04
Ein Satz geht hinüber
Der entstandene Satz, ein grobes Stimmungslabel und der Anzeigename, den du gewählt hast, gehen über iCloud zu deinem Gegenüber, in einen Bereich, der mit genau einer Person geteilt ist. Name und Bild sind Ende-zu-Ende-verschlüsselt. Der Satz und das Stimmungslabel sind es nicht, Apple kann sie dort also lesen.
-
05
Eine Antwort kann zurückkommen
Am nächsten Morgen kann die Person, um die es im Hinweis ging, beantworten, ob geholfen hat, wie ihr Gegenüber da war, indem sie eine von vier festen Optionen wählt. Nur diese Option geht zurück, durch denselben geteilten Bereich, ohne Messwert und ohne freien Text dahinter.
Jedes Datum, und wo es liegt
Drei Listen: was auf deinem Gerät bleibt, was in den Raum hinübergeht, den du mit deinem Gegenüber teilst, und was unsere Anwendung speichert. Jeder Eintrag sagt, was ihn schützt, und wo dieser Schutz aufhört.
Auf deinem Gerät, und nicht auf unseren Servern
Im iOS-Schlüsselbund, lesbar erst nachdem das Telefon seit dem Start einmal entsperrt wurde. Die Gesundheitszeilen sind bewusst nicht Teil deines iCloud-Backups. Dein Chat-Schlüssel ist die Ausnahme, die synchronisiert, über deinen iCloud-Schlüsselbund, damit deine eigenen anderen Geräte ihn nutzen können.
-
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 die App eine Kurve zeichnen kann.
-
Zyklusdaten
Nur gelesen, wenn du die zyklusbewusste Unterstützung (Rhythmus-Bewusstsein) einschaltest, die standardmäßig aus ist; ohne sie wird dein Hinweis ganz ohne Zyklusdaten berechnet. Die iCloud-Spiegelung ist dafür im Code deaktiviert, das Protokoll selbst synchronisiert also nie, und Symptome und Notizen verlassen das Gerät überhaupt nicht. Die Phase verlässt es nur, wenn du zusätzlich den getrennten Schalter für den Perioden- und Zykluskalender einschaltest, der in der Tabelle unten eine eigene Zeile hat.
-
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. Workouts und aktive Energie werden nur gelesen, um Training aus dieser Prüfung herauszuhalten, und Pulse fragt höchstens dreimal am Tag.
-
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, wofür die WHOOP-Unterstützung erst kommen muss. 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 Tageshinweis, seine vorgeschlagenen Gesten, ein grobes Stimmungslabel, dein Anzeigename und Foto, und deine Ortszeit, wenn du sie teilst, mit einem Live-Status „schläft wahrscheinlich“; halten deine Schalter einen Wert zurück, an seiner Stelle ein neutraler Hinweis „gerade nichts Neues“ | Geteilte iCloud-Zone, für dein Gegenüber nur lesbar. Name, Foto und Ortszeit sind Ende-zu-Ende verschlüsselt. Der Hinweis und das Stimmungslabel sind aus Gesundheitsdaten abgeleitet und sind es nicht, Apple kann sie also lesen. Hinweise laufen am Ende des Tages ab. Der Schlafstatus gilt eine Stunde und ist ebenfalls nicht Ende-zu-Ende verschlüsselt. |
| Nachrichten, Fotos, GIFs, Sprachnachrichten, Gesten, Bitten, Einträge in „Unsere Geschichte“, Kalendertermine, die Einkaufsliste, gemeinsame Notizen, Antworten auf die Frage des Tages | 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, bei einem Wunsch zu einem echten Ort auch dessen Adresse und Kartenposition; dazu der Tag, ab dem ihr zählt | Im Klartext in eurem geteilten Bereich, Apple kann sie also lesen. Nie Gesundheitsdaten. Kommentare, Reaktionen und das stille Urteil jedes Einzelnen sind Ende-zu-Ende-verschlüsselt. |
| Die Frage des Tages und beide Antworten | Jede Antwort wird auf deinem Gerät Ende-zu-Ende verschlüsselt wie eine Chat-Nachricht; lesbar ist nur der Tag, zu dem sie gehört. Sie verfallen binnen 48 Stunden aus dem geteilten Raum. |
| 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. |
| Dein Perioden- und Zykluskalender, wenn du diesen Schalter einschaltest: die aktuelle Phase, die Tage dieser Periode, die für die nächste vorhergesagten Tage und das Eisprungfenster | Unverschlüsselt in deiner geteilten Zone, Apple kann ihn also lesen. Dies ist die einzige Zeile dieser Tabelle mit Gesundheitsdaten, weshalb der Schalter von jedem anderen getrennt ist, standardmäßig aus ist und den Kalender in dem Moment vom Gerät deines Gegenübers löscht, in dem du ihn ausschaltest. Symptome und deine Notizen reisen nie mit. |
Was Apple hier lesen kann, und was nicht
Euer geteilter Raum ist ein Bereich in iCloud, Apple speichert also alles aus der Tabelle oben. Chat, Fotos, GIFs, Sprachnachrichten, Gesten, Bitten, eure gemeinsame Geschichte, Kalendereinträge, Know-Us-Einträge, Ungesagt-Notizen, die du sendest, samt dem, was darauf zurückgesagt wird, und die Kommentare zu einem Watchlist-Eintrag kommen dort als Chiffrat an, das dein Telefon erzeugt hat, und Apple kann es so wenig öffnen wie wir. Der Satz des Tages, das Stimmungslabel daneben, die Frage des Tages mit beiden Antworten sowie einfache Watchlist- und Wunschlisteneinträge und, falls du den Schalter eingeschaltet hast, ein geteilter Zykluskalender sind durch die Freigaberegeln des Bereichs geschützt statt durch diese Verschlüsselung, Apple ist also technisch in der Lage, sie zu lesen. Das ist die Grenze zwischen beidem, und deshalb steht auf dieser Seite nie, dass niemand etwas sehen kann.
Was unsere Anwendung bewusst speichert
Die App hat kein Kontosystem, also gibt es auf unserer Seite kein Profil, kein Nachrichtenarchiv und keine Gesundheitsakte. Unten steht, was die Anwendung bewusst aufbewahrt. Gewöhnliche Betriebsspuren, technische Protokolle, Warteschlangen, der Relay-Zustand, den ein offener Chat braucht, existieren wie bei jedem gehosteten Dienst, und die letzte Zeile sagt das, statt es dich annehmen zu lassen.
| Eintrag | Wozu es ihn gibt | Bleibt bis |
|---|---|---|
| Eine pseudonyme iCloud-Kennung, ein Push-Token, die Plattform, drei Schalter für Benachrichtigungen und ein Fingerabdruck des Schlüssels, den nur du und dein Partner habt; dazu, nur wenn du Benachrichtigungen zu Ankündigungen einschaltest, diese Wahl und deine App-Sprache | Damit eine Mitteilung beim richtigen Telefon ankommt. | Du löschst dein Konto in der App, der Push-Dienst von Google oder Apple meldet den Token als ungültig, oder dein iPhone hat ihn 180 Tage lang nicht erneuert. |
| 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 und ein Protokoll ihrer Anmeldungen | Damit wir diese Seiten veröffentlichen können. Ohne Bezug zur App, die keinen Login hat. | Das Konto wird gelöscht. Das Anmeldeprotokoll wird 12 Monate aufbewahrt. |
| Eine Funktionsidee von der Funktionsseite: der Titel und was du sonst angibst, eine Beschreibung, ein Link, dein Name, deine E-Mail | Damit ein Mensch sie liest, dir antwortet und den Überblick behält, was schon vorgeschlagen wurde. | Du bittest uns, sie zu löschen, oder die Idee ist erledigt. |
| Live-Activity-Token, kurzlebige technische Protokolle und der Relay-Zustand, den ein offener Chat braucht | Damit eine Geste die Dynamic Island erreicht, damit die Seite betrieben und Missbrauch untersucht werden kann, und damit zwei offene Chats in Echtzeit miteinander sprechen. | Token gehen, wenn du die Funktion abschaltest, dein Konto löschst oder nach 180 Tagen ohne Erneuerung. Protokolle werden nach 14 Tagen gelöscht. Weitergeleitete Signale werden nie aufgeschrieben. |
| Ein Absturzbericht, nur wenn du ihn gelesen und auf Senden getippt hast: App- und iOS-Version, Gerätemodell, Sprache, der letzte Tab, technische Details und deine optionale Notiz | Damit wir die Ursache finden und beheben können. Er enthält nie eine iCloud-ID, einen Namen, einen Gesundheitswert oder eine Nachricht. | 90 Tage, danach wird er automatisch gelöscht. |
| Wie oft jede Version der App geöffnet wurde: eine Tagessumme pro Build und pro Stunde der Woche, ohne Kennung und ohne Eintrag pro Telefon | Damit wir wissen, welche Versionen noch genutzt werden und wann eine alte abgeschaltet werden kann. | Bis zu 13 Monate, dann werden die Tagessummen automatisch gelöscht. |
| Nur wenn du „Pulse verbessern helfen“ einschaltest: eine tägliche Liste anonymer Zähler (welche Bildschirme und Aktionen genutzt wurden, wie oft), die zu einer Tagessumme addiert wird | Damit wir sehen, welche Teile von Pulse genutzt werden. Es wird keine Kennung, kein Zeitstempel und kein Inhalt gesendet, ein Zähler lässt sich also weder dir zuordnen noch wieder herausrechnen. | Bis zu 13 Monate als Tagessummen. Schaltest du es aus, wird nichts mehr gesendet. |
Was bewusst fehlt: jeder Gesundheitswert, jeder Nachrichtentext, jeder Name aus der App, jeder Standort, jede Werbe-ID. Pseudonyme Kennungen sind Pseudonyme, keine Anonymität: Ein Paar davon zeigt uns, dass zwei Konten verbunden sind, und genau das ist die Metadaten-Grenze weiter unten.
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. Die versiegelten Bytes einer Chatnachricht können außerdem in ihrer Push-Mitteilung mitreisen, über unseren Server und Googles Firebase Cloud Messaging, damit das iPhone deines Gegenübers sie öffnen kann, bevor die App geöffnet wird; keiner von beiden kann sie lesen, und unser Server behält sie nicht.
- Mitteilungen
- Der sichtbare Teil einer Push-Mitteilung ist bewusst inhaltslos: ein fester Titel und Text, geschrieben von unserem Server, plus ein Typ-String, nie die Nachricht. Ein Chat-Push kann diese Nachricht zusätzlich versiegelt mitführen, wie unter Transport beschrieben; niemand zwischen den beiden iPhones kann sie öffnen. 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.
Aus dem Journal: Was Ende-zu-Ende-Verschlüsselung für eine Paar-App bedeutet
Wer sonst noch etwas bekommt
Jede Stelle, die etwas erhält, mit dem, was sie tatsächlich bekommt. Mehrere davon existieren nur für Leute, die eine bestimmte Funktion nutzen.
| Empfänger | Was dort ankommt | Wann |
|---|---|---|
| Apple | Zweierlei innerhalb deiner eigenen iCloud: verschlüsselte Pakete, die Apple nicht öffnen kann, und lesbare Einträge im geteilten Bereich, die es kann, also dein Satz des Tages, das Stimmungslabel, Watchlist- und Wunschlisteneinträge und der Tag, ab dem ihr zählt. Dazu die Zustellung von Mitteilungen. Und nur wenn du sie nutzt: Apple Karten (die Ortssuchen, die du eintippst, und die Gegend, in der ihr Dates plant) und die iTunes Search API (ein Watchlist-Titel, wenn dein Telefon nach einem Cover sucht). | Immer. Dort liegt euer geteilter Raum. |
| Google (Firebase Cloud Messaging) | Ein Push-Token sowie Titel, Text und Typ einer inhaltsfreien Benachrichtigung; bei einer Chatnachricht unter Umständen auch diese Nachricht, versiegelt mit Ende-zu-Ende-Verschlüsselung, die Google nicht öffnen kann. Firebase Crashlytics ist ebenfalls eingebunden, hält einen Absturz aber nur auf deinem Telefon fest und sendet den Bericht erst, wenn du nach dem Absturz auf „Senden“ tippst: Stack-Trace, Gerätemodell, iOS-Version und eine zufällige Installationskennung, nie Gesundheitsdaten, Nachrichteninhalte oder Kontaktdaten. Firebase Analytics und Werbung sind im Build deaktiviert. | Wenn eine Benachrichtigung an dich geht, und nach einem Absturz nur, wenn du auf „Senden“ tippst. |
| 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, sobald diese Unterstützung kommt. |
| 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 Analytics-, Session-Replay- oder Attributions-SDK. Die Absturzberichterstattung ist die eine diagnostische Ausnahme, und sie steht in der Tabelle oben, statt hier stillschweigend zu fehlen. Die beiden eigenen Zähler in der Tabelle oben sind keine SDKs, tragen keine Kennung und senden nichts an Dritte.
- Kein Zahlungs- oder Abo-Dienstleister
- Kein generatives Modell und kein Sprachmodell schreibt oder liest deine Worte, weder in der App noch auf dem Server. Die optionale Übersetzen-Aktion bei einer Nachricht nutzt Apples eingebaute Übersetzung.
Wovor dich das nicht schützt
Der Teil, den die meisten Seiten weglassen, und hier mit Absicht der längste. Nichts davon ist ein Fehlerbericht; alles ist entweder ein bewusster Tausch oder eine bekannte Grenze, von der du lieber von uns hörst, als sie selbst zu entdecken.
-
Der Satz des Tages ist aus deinen Gesundheitsdaten abgeleitet, und er verlässt dein Telefon
Er muss es. Er ist für dein Gegenüber geschrieben. Er reist in eurem geteilten iCloud-Bereich, neben dem Stimmungslabel, und er ist nicht zusätzlich Ende-zu-Ende-verschlüsselt wie der Chat, Apple ist also technisch in der Lage, ihn zu lesen. Wir sagen das deutlich, weil „auf dem Gerät ausgewertet“ leicht als „nichts über deine Gesundheit geht je hinaus“ gehört wird, und nur das Erste davon stimmt. Was nicht reist, ist der Messwert hinter dem Satz: kein Puls, keine HRV, keine Schlafstunden. Die einzige Gesundheitsangabe, die für sich allein reisen kann, ist der Zykluskalender: ein getrennter, standardmäßig ausgeschalteter Schalter mit einer eigenen Zeile in der Tabelle oben.
-
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.
-
Kopien in einem Kalender liegen außerhalb der Verschlüsselung
Spiegelst du eure Pläne in einen Kalender, schreibt Pulse gewöhnliche Kalendereinträge: Titel, Zeiten, Orte und Notizen, lesbar. Ein Kalender, der mit iCloud, Google oder Outlook synchronisiert, legt sie bei diesem Dienst ab, und alle, mit denen du ihn teilst, können sie sehen. Pulse fragt, bevor es in einen solchen Kalender schreibt, aber sobald die Kopie dort liegt, gelten die Regeln dieses Kalenders, nicht unsere. Wir sagen das ausdrücklich, weil der gemeinsame Kalender selbst Ende-zu-Ende-verschlüsselt ist und ein Leser sonst vernünftigerweise annehmen würde, die Kopie sei es auch.
-
Manche geteilten Einträge sind absichtlich im Klartext
Watchlist- und Wunschlisteneinträge, ein Titel, eine Art, ein Link, ein Status, bei einem Wunsch zu einem echten Ort auch Adresse und Kartenposition, synchronisieren als einfache Datensätze in eurem geteilten Bereich, weil sie vor dem Schlüsselaustausch fließen, der den Chat schützt. Ebenso der Tag, ab dem ihr zählt. Apple kann sie lesen; Gesundheitsdaten enthalten sie nie. Die Kommentare und Reaktionen auf Watchlist-Einträge sind verschlüsselt.
-
Apple liegt unter all dem
Euer geteilter Raum ist ein iCloud-Bereich, deine Schlüssel liegen im iCloud-Schlüsselbund, und deine Messwerte liegen in Apple Health. Die verschlüsselten Einträge sind für Apple genauso undurchsichtig wie für uns. Der Rest des geteilten Bereichs ist es nicht, wie die beiden Zeilen darüber beschreiben. Pulse zu benutzen heißt, Apple so weit zu vertrauen, und eine Architektur, die etwas anderes behauptet, würde eine andere App beschreiben.
-
Wir behaupten keine Forward Secrecy
Der Chat-Schlüssel entsteht aus einer Curve25519-Einigung zwischen euren beiden Identitätsschlüsseln, nicht aus der Ratsche pro Nachricht, die ein reiner Messenger benutzt. Wir behaupten deshalb keine Forward Secrecy: Ein privater Schlüssel, der von einem Gerät genommen wird, könnte die Nachrichten öffnen, die er geschützt hat, nicht nur die nächste. Wir benennen die Grenze lieber, als „Ende-zu-Ende-verschlüsselt“ eine Eigenschaft tragen zu lassen, die wir nicht gebaut haben.
-
Deine Schlüssel hängen an deinem Apple-Konto
Dein privater Schlüssel liegt in deinem iCloud-Schlüsselbund, damit deine eigenen Geräte ihn erreichen. Das ist es, was ein neues Telefon funktionieren lässt, ohne dass wir je eine Kopie halten, und es ist zugleich eine Abhängigkeit: Wer dein Apple-Konto kontrolliert und ihm ein Gerät hinzufügen kann, ist an einer Stelle, an der wir nicht helfen können, weil kein Passwort von uns im Weg steht. Lass die Zwei-Faktor-Anmeldung dieses Kontos an.
-
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.
-
Ein Gegenüber ist nicht immer ein sicherer Mensch
Pulse ist für zwei Menschen gebaut, die einander gewählt haben, und nichts darin kann unterscheiden, ob sich jemand Sorgen um dich macht oder dich kontrolliert. Wenn dich jemand drängt, die App zu installieren, das Teilen wieder einzuschalten oder dein Telefon herzugeben, ist das kein Problem, das Verschlüsselung löst. Pause und Trennen sind einen Tipp entfernt, die Pause kann unsichtbar sein, und du schuldest niemandem eine Erklärung dafür.
-
Die Pause stoppt, was kommt, nicht was schon da ist
Die Pause stoppt alles Neue, und sie kann es tun, ohne dein Gegenüber zu informieren. Sie greift nicht zurück: Ein Satz oder eine Nachricht, die schon angekommen ist, liegt auf dem anderen Gerät, und kein Knopf von uns holt sie zurück. Das Trennen entfernt die geteilten Einträge und kann aus demselben Grund das andere Telefon nicht leeren. So verhält sich jeder Messenger, und es ist gut, das vor dem Tag zu wissen, an dem es zählt.
-
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.
-
Eine Verbindung kann enden, ohne dass einer von euch sie beendet
Pulse hält nach dem geteilten Bereich deines Partners Ausschau, denn ein ausdrückliches Ende kann untergehen: Sie können die Verbindung beenden, während dein Handy offline ist, und ohne diese Prüfung bliebe ein Gerät für immer mit niemandem "verbunden". Ein geteilter Bereich, der dauerhaft nicht erreichbar ist, gilt daher irgendwann als beendete Verbindung, wobei deine Daten bleiben. Wir nennen das hier, weil die App diese Entscheidung für dich trifft, und weil wir sie einmal gründlich falsch getroffen haben: eine frühere Version handelte nach drei Prüfungen, etwa einer Minute, und da das Beenden auf dem einen Handy genau das entfernt, wonach das andere Ausschau hält, konnte eine kurze Störung beide Menschen binnen Minuten trennen. Jetzt braucht es sieben durchgehende Tage, eine einzige Sichtung setzt die Uhr zurück, und was die App nicht sicher feststellen kann, Offline-Sein eingeschlossen, zählt gar nicht.
Wie du das selbst prüfst
Du solltest uns das nicht glauben müssen, und auf iOS musst du es weitgehend auch nicht.
-
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.
-
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.
-
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.
-
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, unser Relay solange ein Chat offen ist, GIPHY wenn du die GIF-Suche öffnest, Apple Karten wenn du nach einem Ort suchst, Apples iTunes-Suche wenn die Watchlist ein Cover sucht, und WHOOP falls du ein Band verbunden hast. Nicht zu sehen ist ein Messwert.
-
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 entweder eine Prüfung des ausgelieferten Codes gegen das, was diese Seite und die Richtlinie behaupten, oder eine Korrektur dieser Behauptungen, mit dem, was gefunden und geändert wurde.
-
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.
-
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.
-
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.
-
13. September 2026
Eine Textprüfung der ganzen Website, keine neue Prüfung des Codes, das Datum oben bleibt daher unverändert. Korrigiert wurden Behauptungen, die breiter geworden waren als die Architektur: der Satz des Tages, beschrieben als bliebe er auf dem Gerät, die Frage des Tages, auf der Funktionsseite als Ende-zu-Ende-verschlüsselt wie der Chat beschrieben, ein als vollständig bezeichnetes Serververzeichnis ohne Funktionsideen und Live-Activity-Token, und eine Antwort zu behördlichen Anordnungen, die nahelegte, wir hätten überhaupt nichts. Apples Sicht auf den geteilten Bereich wurde ausdrücklich gemacht, und die Grenzen zu Forward Secrecy, Apple-Konto, Druck durch eine Person und Pause kamen dazu.
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.
Lies den Rest.
Die Datenschutzerklärung trägt die rechtliche Fassung von allem hier, samt deiner Rechte und wie du sie wahrnimmst.