1. Administrator i kontakt
Lukasz Urbaniak, jednoosobowa działalność gospodarczaKarlstraße 8
27711 Osterholz-Scharmbeck
Niemcy
Pytania dotyczące prywatności: privacy@perfectmode.app
Pomoc ogólna: support@perfectmode.app
2. Podstawowy model przetwarzania
PerfectMode zapisuje dane aplikacji najpierw lokalnie na urządzeniu. Osobiste dane profilu, treningu, odżywiania i postępów są synchronizowane przez Supabase tylko po zalogowaniu się na konto i przy aktywnym dostępie Premium. Ukończone biegi GPS podlegają tej samej kontroli konta/Premium, ale korzystają z osobnej tabeli w chmurze.
Bez konta i aktywnego Premium te obszary pozostają lokalne. Kroki z Health oraz lokalna historia czatu nie należą do Cloud Sync. Zewnętrzna ścieżka Premium AI tworzy jednak dane serwerowe powiązane z kontem, zgodnie z opisem poniżej.
3. Konto i uwierzytelnianie
W przypadku konta Supabase Auth przetwarza adres e-mail, techniczny identyfikator użytkownika (UUID), użytego dostawcę logowania oraz dane sesji, logowania, potwierdzenia, resetowania hasła i PKCE. Sesja jest przechowywana w zabezpieczonej pamięci urządzenia.
Technicznie zintegrowano logowanie e-mailem i hasłem oraz „Zaloguj się przez Apple”. Identyfikator użytkownika służy do przypisania danych w chmurze, uprawnień Premium i użycia funkcji serwerowych do konta.
4. Profil, fitness, trening, odżywianie i postępy
Profil i planowanie
Przetwarzane mogą być: język, wiek, wybrana płeć, wzrost, aktualna i docelowa masa ciała, cel, poziom aktywności, ręcznie podana liczba kroków, poziom treningowy, miejsce i dni treningu. Preferencje trenera mogą obejmować cel treningowy, sposób odżywiania, alergie, dobrowolne informacje Health/Safety i preferencje suplementacji.
Trening
Zapisywane są m.in. przypisanie planu i treningu, sesje, ćwiczenia, serie, powtórzenia, ciężary lub czasy, znaczniki czasu, status, metryki postępu i rekordy osobiste.
Odżywianie
Przetwarzane są dziennik, migawki produktów, ilości, posiłki, kalorie, makroskładniki, własne produkty, ulubione i ostatnie produkty, preferowane jednostki, zapisane posiłki, podsumowania dni, jadłospisy, migawki celów i adaptacyjne wartości kalorii.
Postępy sylwetki
Wpisy mogą zawierać datę, masę ciała oraz opcjonalnie obwód talii, bioder, klatki piersiowej, ramienia i uda.
Dane te są przechowywane lokalnie i synchronizowane jako dokumenty powiązane z kontem tylko przy aktywnym Premium.
5. Biegi GPS i dokładna lokalizacja
Po rozpoczęciu biegu GPS PerfectMode przetwarza dokładne punkty lokalizacji: szerokość i długość geograficzną, znacznik czasu, dokładność i opcjonalnie wysokość. Po udzieleniu odpowiedniego zezwolenia rejestrowanie może trwać w tle przy zablokowanym ekranie.
Aktywny szkic biegu i jego punkty są zapisywane lokalnie. Ukończony bieg zawiera pełną skompresowaną trasę, liczbę punktów, dystans, czas rozpoczęcia i zakończenia, czas całkowity i czas w ruchu, tempo, prędkość, kalorie, międzyczasy, znaczniki czasu, opcjonalny opis i ustawienie widoczności.
Przy zalogowanym koncie i aktywnym Premium pełny bieg, łącznie z całą dokładną trasą, jest synchronizowany z tabelą Supabase run_sessions przypisaną do konta. Biegi są domyślnie prywatne i nie są publikowane automatycznie.
6. Apple HealthKit i Health Connect
Po udzieleniu zgody systemowej PerfectMode odczytuje wyłącznie liczbę kroków z HKQuantityTypeIdentifierStepCount w iOS albo rekordów Steps z Health Connect w Androidzie. PerfectMode nie zapisuje żadnych danych do Apple Health ani Health Connect.
- Wartości dzienne mogą pozostawać do 30 dni w lokalnym, usuwalnym cache.
- Kroki Health nie są synchronizowane przez Cloud Sync.
- Kroki Health nie są przesyłane do OpenAI.
- Odłączenie integracji Health usuwa lokalny cache kroków.
7. Usługi i odbiorcy danych
Supabase
Supabase zapewnia uwierzytelnianie, bazę danych, synchronizację Premium Cloud Sync i Edge Functions. Funkcje brzegowe obsługują m.in. usunięcie konta, zewnętrzną ścieżkę AI, internetowe zapytania o kody kreskowe i webhooki RevenueCat.
RevenueCat i sklepy z aplikacjami
RevenueCat otrzymuje UUID Supabase jako App User ID i przetwarza ofertę, produkt, cenę/walutę, zakup, okres, status odnowienia, entitlement oraz adres zarządzania. Dane o uprawnieniach i zdarzeniach powiązane z kontem trafiają przez webhooki do Supabase. Płatności realizuje Apple App Store lub Google Play; PerfectMode nie przechowuje danych kart płatniczych. Dane fitness, żywieniowe, GPS i Health nie są wysyłane do RevenueCat.
Premium AI Coach, Supabase i OpenAI
Jeśli zewnętrzna funkcja Premium AI jest dostępna, a pytanie nie zostanie obsłużone lokalnie, bieżące pytanie tekstowe, maksymalnie cztery istotne fragmenty rozmowy i wybrany kontekst celu, danych ciała, treningu, odżywiania i postępów są wysyłane do Supabase Edge Function, a następnie do OpenAI.
Ustrukturyzowany pakiet dla OpenAI nie zawiera adresu e-mail, identyfikatora Supabase ani kroków z HealthKit/Health Connect. Tekst wpisany przez użytkownika może jednak zawierać dobrowolnie podane dane osobowe. Żądanie OpenAI używa store: false. Supabase zapisuje w powiązaniu z kontem identyfikator żądania, model, tokeny, koszt, status i treść odpowiedzi w celu ochrony przed nadużyciami, kontroli kosztów i idempotencji. Lokalna historia czatu nie jest domeną Cloud Sync.
Aparat, kody kreskowe i Open Food Facts
Aparat otwiera się wyłącznie w skanerze kodów. PerfectMode odczytuje wykryty kod EAN/UPC; nie wykonuje, nie zapisuje ani nie przesyła zdjęć z aparatu. Znane produkty są rozpoznawane lokalnie. Przy koncie i aktywnym Premium nieznany kod może być sprawdzony przez Supabase Edge Function, wspólny cache produktów i Open Food Facts. Open Food Facts otrzymuje kod, ale nie adres e-mail ani identyfikator użytkownika. Supabase przechowuje limity żądań powiązane z kontem.
Pomoc
Jeśli kontaktujesz się z nami e-mailem, przetwarzamy dobrowolnie przekazane dane kontaktowe i treść w celu obsługi zgłoszenia. Nie przesyłaj haseł ani tokenów uwierzytelniających.
8. Cele i podstawy prawne
W zależności od funkcji dane służą zapewnieniu działania aplikacji i konta, personalizacji treningu i odżywiania, analizie postępów i biegów, udostępnieniu Premium, obsłudze zakupów i pomocy, bezpieczeństwu, zapobieganiu nadużyciom oraz realizacji obowiązków prawnych.
W zależności od konkretnego procesu podstawą może być wykonanie umowy lub działania przed jej zawarciem, zgoda na opcjonalne uprawnienia urządzenia i — jeżeli ma zastosowanie — dane szczególnej kategorii, obowiązek prawny albo uzasadniony interes w bezpiecznym i ekonomicznym działaniu usługi. Zgodę można wycofać na przyszłość, a uprawnienia systemowe zmienić w ustawieniach urządzenia.
9. Okres przechowywania i bezpieczeństwo
Dane lokalne co do zasady pozostają na urządzeniu do czasu usunięcia w aplikacji, wyczyszczenia przez przewidziany proces albo usunięcia danych aplikacji. Cache kroków Health jest zaprojektowany na maksymalnie 30 dni. Dane w chmurze co do zasady pozostają do indywidualnego usunięcia lub usunięcia konta, z uwzględnieniem koniecznych okresów technicznych, umownych i prawnych.
Apple, Google, RevenueCat, Supabase i OpenAI mogą stosować własne zasady przechowywania. PerfectMode korzysta z reguł dostępu powiązanych z kontem i użytkownikiem oraz szyfrowanych połączeń oferowanych przez platformy. Żaden system nie gwarantuje bezpieczeństwa absolutnego.
10. Usunięcie konta i pozostałe dane lokalne
Ścieżka Profil → Konto → Usuń konto usuwa konto Supabase Auth. Kaskady bazy danych usuwają dokumenty aplikacji powiązane z kontem, biegi i trasy w chmurze, dane użycia i odpowiedzi AI, dane entitlementów i webhooków oraz limity zewnętrznych żądań. Następnie usuwana jest lokalna sesja i zwykłe lokalne domeny Cloud Sync.
Obecnie nie są automatycznie usuwane: lokalna historia biegów, aktywny bieg oraz lokalny cache kroków Health. Biegi można usuwać pojedynczo, integrację Health odłączyć, a pozostałe dane lokalne usunąć przez wyczyszczenie danych aplikacji.
Subskrypcja sklepowa nie jest anulowana automatycznie. Autoryzacja „Zaloguj się przez Apple” ani token Apple nie są dodatkowo cofane przez aktualny proces. Historie zakupów i logi dostawców mogą pozostać według ich zasad. Szczegóły: Usunięcie konta.
11. Twoje prawa
Na warunkach określonych prawem możesz żądać dostępu, sprostowania, usunięcia, ograniczenia przetwarzania i przenoszenia danych oraz wnieść sprzeciw. Udzieloną zgodę można wycofać ze skutkiem na przyszłość. Możesz także złożyć skargę do właściwego organu ochrony danych.
Napisz na privacy@perfectmode.app. W celu ochrony przed nieuprawnionym ujawnieniem możemy poprosić o rozsądne potwierdzenie tożsamości.