Jak chronimy Twoje dane
Najpierw wersja napisana prostym językiem, potem szczegóły techniczne dla tych, którzy chcą sprawdzić naszą pracę.
Prostymi słowami
W skrócie: Twoje dane Premium są szyfrowane kluczami, których nie przechowujemy: są na Twoim iPhonie oraz w utworzonych przez Ciebie linkach i konektorach. Nie mamy klucza głównego i nie możemy sami odszyfrować przechowywanych danych: żaden pracownik, kopia zapasowa ani zrzut bazy danych nie odczyta ich bez Twojego iPhone’a albo jednego z Twoich linków lub konektorów. Są odszyfrowywane tylko na chwilę, w pamięci, gdy Twój iPhone synchronizuje dane albo gdy używany jest jeden z Twoich linków lub konektorów. Odwołaj link, a jego dostęp natychmiast ustaje. Usuń konto, a Twoje dane od razu staną się nieczytelne; zaszyfrowane kopie zapasowe stają się nieczytelne i są usuwane w ciągu około 35 dni.
Co zostaje na Twoim iPhonie
Przy bezpłatnym eksporcie HealthRaw odczytuje dane z Apple Health (aplikacja Zdrowie), na które pozwolisz, i buduje plik eksportu na Twoim iPhonie. Nic nie jest do nas wysyłane. Plik trafia tylko tam, gdzie go wyślesz, jest wyłączony z kopii zapasowych i usuwany po udostępnieniu lub po 24 godzinach. HealthRaw nigdy nie zapisuje danych w Apple Health.
Co wysyła Premium
Tylko wybrane przez Ciebie typy danych zdrowotnych (w przypadku treningów obejmuje to trasy, czyli Twoją lokalizację podczas treningu). Twój iPhone wysyła je szyfrowanym połączeniem na nasze serwery w UE. Są tam przechowywane zaszyfrowane kluczem Twojego konta, który mogą odblokować tylko Twój iPhone oraz Twoje linki lub klucze konektora.
Kto może to odczytać i kiedy
- Ty, w aplikacji.
- Usługi AI, które połączysz, przez prywatny link lub klucz konektora utworzony przez Ciebie. Dziennik dostępu w aplikacji pokazuje każdy odczyt przez Twoje linki lub konektory, przechowywany do 90 dni.
- Nasz serwer, ale tylko na chwilę, w pamięci, gdy Twój iPhone wysyła dane lub gdy używany jest jeden z Twoich linków lub konektorów. Poza tymi momentami przechowywanych danych nie da się odblokować po naszej stronie: nie ma klucza głównego.
- Nie my bez Ciebie. Żaden pracownik, kopia zapasowa ani zrzut bazy danych nie odczyta Twoich przechowywanych danych bez Twojego iPhone’a albo jednego z Twoich linków lub konektorów.
Odwoływanie i usuwanie
- Link lub klucz konektora możesz w dowolnej chwili odwołać albo zastąpić nowym. Jego dostęp ustaje natychmiast.
- Wstrzymaj synchronizację, aby zatrzymać wysyłanie. Dane już wysłane zostają, dopóki ich nie usuniesz.
- Usuń swoje dane w chmurze w aplikacji lub bez aplikacji. Najpierw niszczymy klucze Twojego konta, przez co przechowywane dane od razu stają się nieczytelne, a następnie usuwamy dane. Zaszyfrowane kopie zapasowe stają się nieczytelne i są usuwane w ciągu około 35 dni.
- Jeśli subskrypcja się skończy, Twoje dane zostaną usunięte 30 dni później (kopie zapasowe w ciągu około 35 dni od tego momentu).
Przed czym nie możemy Cię ochronić
- Połączona przez Ciebie AI. Dostaje kopię tego, co odczytuje, i wykorzystuje ją zgodnie z własnymi warunkami. Nie możemy jej wycofać. Sprawdź, czy może wykorzystywać Twoje rozmowy do trenowania.
- Wyciek linku lub klucza. Kto go ma, może odczytywać Twoje dane, dopóki go nie odwołasz. Traktuj go jak hasło.
- Przejęty działający serwer. Atakujący kontrolujący nasz serwer podczas jego pracy mógłby odczytać dane przechodzące przez niego podczas wysyłania i użycia linków lub konektorów. Przechowywane dane pozostają zaszyfrowane. Dlatego nie nazywamy tego szyfrowaniem end-to-end.
- Twoje własne urządzenia. Każdy, kto ma Twojego odblokowanego iPhone’a, oraz każde miejsce, do którego wyślesz plik eksportu.
Czego nigdy nie robimy
Nie sprzedajemy Twoich danych, nie wykorzystujemy ich do reklam, nie trenujemy na nich AI, nie umieszczamy ich w iCloud ani nie udostępniamy nikomu, poza wybraną przez Ciebie AI. Ta strona nie używa plików cookie, analityki ani skryptów podmiotów trzecich.
Szczegóły techniczne
Klucze
- Każde konto ma losowy 256-bitowy klucz danych (DEK). Dane są szyfrowane algorytmem XChaCha20-Poly1305 ze świeżym nonce (jednorazową wartością); dane powiązane (associated data) wiążą każdy fragment z kontem, rodzajem fragmentu, obiektem, typem danych, dniem i wersją. Nagłówki fragmentów zawierają wersje formatu, klucza i opakowania klucza.
- DEK nigdy nie jest przechowywany jawnym tekstem. Istnieje tylko w postaci opakowanych kopii: opakowania urządzenia, którego sekret znajduje się w pęku kluczy (Keychain) iPhone’a (tylko to urządzenie, dostępny po pierwszym odblokowaniu, aby synchronizacja w tle działała), oraz jednego opakowania tokenu na każdy prywatny link lub klucz MCP, wyprowadzanego przy użyciu HKDF z sekretu tokenu. Serwer przechowuje skrót identyfikatora każdego tokenu i opakowany klucz, nigdy sekret tokenu.
- Nie ma klucza głównego przechowywanego na serwerze, więc nic na samym serwerze nie może odszyfrować danych użytkownika. Każda praca po stronie serwera odbywa się podczas wysyłania danych lub odczytu uwierzytelnionego tokenem.
- Klucze używane do skrótów kluczowanych (nazwy typów danych i dni oraz indeks deduplikacji) są wyprowadzane z DEK przy użyciu HKDF z osobnymi etykietami.
- Gdy materiał kluczowy trafia na serwer, przychodzi w treści uwierzytelnionego żądania TLS, jest przechowywany w pamięci tylko na czas tego żądania i nigdy nie jest logowany ani zapisywany na dysku. Nigdy nie jest umieszczany w nagłówkach wysyłania w tle, ponieważ iOS zapisuje je na dysku.
Transport
- Wyłącznie TLS 1.3, z HSTS.
- Aplikacja przypina klucz publiczny serwera (SPKI) i zawiera zapasowy pin, więc błędnie wystawiony certyfikat nie wystarczy, aby przechwycić ruch.
- Wysyłanie odbywa się w idempotentnych partiach, więc ponowienie nigdy nie duplikuje danych.
Przechowywanie
- Każdy bajt danych w bazie i w magazynie obiektów to szyfrogram. Metadane jawnym tekstem ograniczają się do identyfikatora konta, skrótów kluczowanych typu danych i dnia, rozmiarów w bajtach, liczników i czasów wysłania.
- Serwery znajdują się w UE, z szyfrowaniem całych dysków (LUKS).
- Tokeny linków i MCP są oddzielne, tylko do odczytu, ograniczone zakresem, odwoływalne i mogą wygasać.
- Dziennik dostępu (czas, nazwa tokenu, narzędzie lub punkt końcowy) jest szyfrowany kluczem DEK i przechowywany co najwyżej 90 dni.
Logi i kopie zapasowe
- Logi nigdy nie zawierają danych, wartości ani nazw typów danych. Ścieżki z tokenami i nagłówek Authorization są zaciemniane. Logi serwera WWW (Caddy) zawierają adresy IP. Logi są przechowywane co najwyżej 30 dni.
- Kopie zapasowe bazy danych (codzienne zrzuty, razem z fragmentami danych) są szyfrowane i przechowywane w drugiej lokalizacji w UE co najwyżej przez około 35 dni. Opakowane klucze są częścią kopii zapasowych bazy danych, więc kopie zapasowe usuniętego konta stają się nieczytelne i są usuwane w ciągu około 35 dni. Sekrety serwera nigdy nie są uwzględniane w kopiach zapasowych.
Usuwanie (crypto-shredding)
Usunięcie konta niszczy każdą opakowaną kopię jego klucza DEK, a następnie usuwa zaszyfrowane fragmenty i odwołuje wszystkie tokeny. Twój iPhone i Apple Health pozostają źródłem prawdy, więc aplikacja zawsze może wysłać dane ponownie, jeśli wrócisz.
Zgłaszanie podatności
Napisz na adres [email protected]. Odpowiemy i naprawimy, co się da.