Polityka Prywatności
Obowiązuje od 12 maja 2026. Ostatnia aktualizacja: 30 lipca 2026 (rozbudowa sekcji o powiadomieniach push, dodanie integracji Apple HealthKit i Google Health Connect w natywnej aplikacji mobilnej „Zdrowa Zmiana" oraz wyodrębnienie zasad dotyczących wieku użytkowników i ochrony małoletnich). Niniejsza polityka opisuje, w jaki sposób Fit Test Family (operator serwisów fit-test.pl oraz app.fit-test.pl — aplikacji „Zdrowa Zmiana" w wersji przeglądarkowej oraz natywnej dla iOS i Android) przetwarza dane osobowe oraz dane zdrowotne użytkowników.
- 1. Administrator danych
- 2. Zakres i cele przetwarzania
- 3. Podstawa prawna
- 4. Wiek użytkowników i ochrona małoletnich
- 5. Integracje z zewnętrznymi platformami (Garmin, Polar, Fitbit, Strava)
- 6. Apple HealthKit i Google Health Connect (aplikacja mobilna)
- 7. Powiadomienia push (Web Push, APNs, FCM)
- 8. Udostępnianie danych
- 9. Czas przechowywania
- 10. Prawa użytkownika
- 11. Pliki cookies
- 12. Bezpieczeństwo
- 13. Kontakt
1. Administrator danych
Administratorem danych osobowych jest Mateusz Rynkiewicz, prowadzący działalność gospodarczą pod marką Fit Test Family, z siedzibą przy ul. Kombatantów 34, 66-400 Gorzów Wielkopolski, Polska.
Kontakt: kontakt@fit-test.pl, tel. +48 534 036 313.
2. Zakres i cele przetwarzania
Przetwarzamy następujące kategorie danych:
- Dane identyfikacyjne: imię, nazwisko, adres e-mail, hasło (zaszyfrowane), data urodzenia, płeć.
- Dane antropometryczne i zdrowotne: waga, wzrost, skład ciała, ciśnienie krwi, wyniki badań laboratoryjnych (krew, mleczany), tętno spoczynkowe, HRV, jakość snu.
- Dane treningowe: sesje treningowe, GPS, tętno, moc, kadencja, kalorie, pomiary z urządzeń wearable.
- Dane techniczne: adres IP, identyfikator urządzenia, logi aktywności w aplikacji.
Cele:
- Świadczenie usług platformy „Zdrowa Zmiana" (monitorowanie zdrowia, planowanie treningu, analiza wyników).
- Świadczenie usług medyczno-fizjoterapeutycznych w gabinecie.
- Komunikacja z użytkownikiem (e-mail transakcyjny, powiadomienia push).
- Realizacja umów (subskrypcje, fakturowanie, obsługa zwrotów).
- Statystyki i ulepszanie produktu (zanonimizowane).
3. Podstawa prawna
- Art. 6 ust. 1 lit. b RODO — wykonanie umowy (dostarczenie usługi).
- Art. 6 ust. 1 lit. a RODO — dobrowolna zgoda (np. marketing, integracja zegarka).
- Art. 9 ust. 2 lit. a RODO — wyraźna zgoda na przetwarzanie danych szczególnej kategorii (dane zdrowotne).
- Art. 6 ust. 1 lit. c RODO — obowiązki prawne (księgowość, fakturowanie).
4. Wiek użytkowników i ochrona małoletnich
Minimalny wiek samodzielnego korzystania z platformy „Zdrowa Zmiana" (aplikacja przeglądarkowa app.fit-test.pl oraz natywne aplikacje mobilne na iOS i Android) wynosi 18 lat. Zasada obowiązuje zarówno dla rejestracji konta indywidualnego, jak i dla akceptacji regulaminu oraz udzielania zgód na przetwarzanie danych szczególnej kategorii (zdrowotnych) na podstawie art. 9 ust. 2 lit. a RODO.
Małoletni w wieku 13–17 lat mogą korzystać z platformy wyłącznie za pisemną, uprzednią zgodą rodzica lub opiekuna prawnego. W praktyce oznacza to, że:
- Konto zakładane jest pod adresem e-mail rodzica lub opiekuna prawnego, który jest formalnym użytkownikiem konta i wyraża wszystkie zgody wymagane przez RODO (w tym art. 8 RODO dot. usług społeczeństwa informacyjnego oferowanych dziecku).
- Zgoda rodzica ma formę pisemną — do pobrania jako formularz PDF na stronie fit-test.pl/rodo/zgoda-rodzica.pdf lub w dokumentacji Standardów Ochrony Małoletnich (SOM) prowadzonej przez klub sportowy współpracujący z Fit Test Family.
- Dla zawodników młodzieżowych klubów sportowych (np. kadry wiekowe U18/U23 klubów kajakarskich zrzeszonych w PZKaj) — zgody rodziców/opiekunów zbiera pisemnie trener klubowy i przekazuje je administratorowi danych przed aktywacją konta zawodnika.
- Dane szczególnej kategorii (dane zdrowotne, w tym wyniki badań laboratoryjnych krwi, HRV, dane z Apple HealthKit / Google Health Connect, dane snu) osób poniżej 18. roku życia nie są przetwarzane przez Fit Test Family do momentu ukończenia przez użytkownika 18. roku życia — z wyjątkiem podstawowych danych treningowych (dystans, czas, tętno w formie zagregowanej) niezbędnych do świadczenia usługi treningowej i za pisemną zgodą rodzica/opiekuna.
Standardy Ochrony Małoletnich (SOM): Fit Test Family stosuje wewnętrzne procedury ochrony małoletnich, w tym weryfikację personelu w Rejestrze Sprawców Przestępstw na Tle Seksualnym oraz Krajowym Rejestrze Karnym, zgodnie z Ustawą z dnia 13 maja 2016 r. o przeciwdziałaniu zagrożeniom przestępczością na tle seksualnym i ochronie małoletnich (tzw. „Ustawa Kamilka", nowelizacja z 2024 r.). Pełen dokument SOM dostępny jest pod adresem fit-test.pl/standardy-ochrony-maloletnich.
5. Integracje z zewnętrznymi platformami
Aplikacja „Zdrowa Zmiana" (app.fit-test.pl) umożliwia łączenie konta z zewnętrznymi platformami zdrowotno-sportowymi. Aktywacja każdej integracji wymaga osobnej, wyraźnej zgody użytkownika poprzez przepływ OAuth 2.0.
Garmin Connect (Garmin Health API)
Po połączeniu konta Garmin pobieramy z Garmin Connect następujące dane (zgodnie z zakresami OAuth zaakceptowanymi przez użytkownika):
- Aktywności treningowe (typ, czas, dystans, tętno, moc, GPS, kalorie).
- Dane zdrowotne dzienne (kroki, tętno spoczynkowe, HRV, SpO₂, Body Battery, stres).
- Dane snu (czas snu, fazy, tętno nocne).
Dane Garmin używamy wyłącznie do prezentacji ich użytkownikowi w aplikacji, generowania spersonalizowanych zaleceń treningowych i regeneracyjnych oraz do udostępnienia trenerowi (jeśli użytkownik jest podopiecznym). Nie sprzedajemy danych Garmin osobom trzecim, nie używamy ich do reklamy, nie udostępniamy reklamodawcom ani brokerom danych. Użytkownik może w dowolnej chwili odłączyć konto Garmin w ustawieniach aplikacji — wówczas usuwamy wszystkie zsynchronizowane dane Garmin w ciągu 30 dni.
Polar (Polar AccessLink API)
Zakres analogiczny do Garmin: aktywności, tętno, HRV, sen. Zasady przechowywania, użycia i usuwania identyczne.
Fitbit (Fitbit Web API)
Zakres: aktywności, kroki, tętno, sen. Zasady identyczne.
Strava (Strava API)
Zakres: aktywności sportowe (typ, dystans, moc, tempo, GPS, tętno). Zasady identyczne.
6. Apple HealthKit i Google Health Connect (aplikacja mobilna „Zdrowa Zmiana")
Od 30 lipca 2026 r. natywna aplikacja mobilna „Zdrowa Zmiana" na iOS oraz Android udostępnia opcjonalne integracje z systemowymi agregatorami danych fitness zainstalowanymi na urządzeniu użytkownika:
- Apple HealthKit (iOS 14 i nowsze) — dostęp do danych zgromadzonych w aplikacji Zdrowie (Health.app) firmy Apple Inc.
- Google Health Connect (Android 14 i nowsze) — dostęp do danych zagregowanych w systemowej platformie Health Connect firmy Google LLC, która pełni rolę pośrednika między aplikacjami źródłowymi (Google Fit, Samsung Health, Fitbit dla Android, Xiaomi Mi Fitness, Huawei Health i innymi) a aplikacjami odbierającymi dane.
Zakres pobieranych danych (identyczny dla obu platform, w zakresie zaakceptowanym przez użytkownika w natywnym oknie uprawnień systemu operacyjnego):
- Kroki (dzienna liczba kroków, agregacja godzinowa).
- Tętno (chwilowe pomiary oraz agregaty dzienne).
- Tętno spoczynkowe (RHR).
- Zmienność rytmu zatokowego serca (HRV, ang. heart rate variability).
- Dane snu (godziny rozpoczęcia i zakończenia oraz fazy: sen lekki, głęboki, REM, wybudzenia).
- Aktywne kalorie (energia wydatkowana ponad podstawową przemianę materii).
- Sesje treningowe (typ aktywności, czas trwania, dystans, tętno).
- Masa ciała.
Zasady dostępu — on-demand za wyraźną zgodą: aplikacja pobiera dane wyłącznie po eksplicytnym udzieleniu uprawnień przez użytkownika w natywnym oknie systemowym (iOS „Health Permissions" / Android „Health Connect Permissions") przy pierwszym uruchomieniu integracji. Użytkownik może w każdym momencie wybrać, które kategorie danych udostępnia — dostęp można przyznać selektywnie i cofnąć w dowolnym momencie w Ustawieniach systemu operacyjnego (Ustawienia iOS → Prywatność i ochrona danych → Zdrowie → Zdrowa Zmiana; Ustawienia Android → Aplikacje → Health Connect → Uprawnienia).
Miejsce zapisu i przechowywania: dane odczytane z HealthKit / Health Connect zapisywane są w tabeli daily_progress bazy danych Supabase, z jawnym oznaczeniem źródła w polu source (wartości: 'apple_health' lub 'health_connect') oraz agregacją do poziomu jednego rekordu dziennie na użytkownika. Dane nie opuszczają obszaru Unii Europejskiej — infrastruktura Supabase używana przez Fit Test Family znajduje się w regionie eu-central-1 (Frankfurt, Niemcy).
Cel wykorzystania — wyłącznie treningowo-sportowy (non-medical use): dane z HealthKit i Health Connect wykorzystujemy wyłącznie do celów planowania i analizy treningu, oceny obciążenia treningowego, monitorowania regeneracji oraz personalizacji planów treningowych. Nie wykorzystujemy tych danych do stawiania diagnoz, ani jako danych medycznych do celów zdrowotnych. Aplikacja „Zdrowa Zmiana" nie odczytuje ani nie przetwarza Clinical Health Records (kartoteki zdrowotnej HL7/FHIR z HealthKit) — dostęp do tej kategorii danych został celowo wyłączony po stronie aplikacji.
Kontrola użytkownika:
- Odłączenie integracji na poziomie aplikacji: Mój Profil → Połączenie z aplikacją fitness → Rozłącz Apple Health / Health Connect.
- Cofnięcie autoryzacji na poziomie systemu operacyjnego (patrz wyżej).
- Odłączenie zatrzymuje dalszy odczyt, natomiast dane historyczne zapisane wcześniej w tabeli
daily_progresspozostają w bazie na potrzeby historycznej analizy trendów treningowych.
Prawo do usunięcia (RODO Art. 17): użytkownik może w każdej chwili zażądać trwałego usunięcia wszystkich danych z HealthKit / Health Connect zapisanych w bazie Fit Test Family, wysyłając wniosek na adres mateusz.rynkiewicz@fit-test.pl lub kontakt@fit-test.pl. Żądanie realizujemy w terminie do 30 dni.
7. Powiadomienia push (Web Push, APNs, FCM)
Fit Test Family wysyła powiadomienia push do użytkowników platformy „Zdrowa Zmiana" w celach transakcyjnych i informacyjnych (przypomnienia o zaplanowanych sesjach treningowych, gotowość nowego planu treningowego od trenera, przypomnienia o codziennym check-in, powiadomienia o synchronizacji danych z urządzeń fitness, komunikaty administracyjne). Warunkiem otrzymywania powiadomień jest uprzednie, wyraźne wyrażenie zgody w oknie uprawnień przeglądarki lub systemu operacyjnego.
Stos technologiczny obejmuje trzy kanały dostawy, dobierane automatycznie w zależności od typu urządzenia użytkownika:
Web Push (aplikacja przeglądarkowa / PWA)
- Standard: Web Push Protocol (RFC 8291) z szyfrowaniem aes128gcm oraz podpisami VAPID (RFC 8292).
- Klucze publiczne VAPID przechowywane w konfiguracji Fit Test Family; klucz prywatny nigdy nie opuszcza serwera.
- Adresy endpointów subskrypcji push (URL) oraz klucze publiczne p256dh i auth token użytkownika przechowywane w tabeli
push_subscriptionsbazy Supabase. - Endpointy prowadzą do serwerów dostawców zewnętrznych: Google (Firebase Cloud Messaging) dla przeglądarek Chrome i pochodnych opartych o Chromium, Mozilla (Autopush) dla przeglądarki Firefox, Apple (Apple Web Push Service) dla przeglądarki Safari.
iOS APNs (natywna aplikacja mobilna)
- Dostawca: Apple Push Notification service (APNs) firmy Apple Inc.
- Device token (ok. 64 znaki szesnastkowe) generowany przez system iOS i przekazywany do aplikacji przy każdym uruchomieniu, przechowywany w polu
push_subscriptions.apns_tokenbazy Supabase. - Token nie zawiera danych identyfikujących użytkownika w sposób niezależny od aplikacji — jest identyfikatorem urządzenie-aplikacja.
Android FCM (natywna aplikacja mobilna)
- Dostawca: Firebase Cloud Messaging (FCM) firmy Google LLC.
- Registration token (ok. 163 znaki) generowany przez SDK Firebase i przechowywany w polu
push_subscriptions.fcm_tokenbazy Supabase.
Retencja tokenów: tokeny endpointów są usuwane z bazy Fit Test Family w następujących sytuacjach:
- Wylogowanie użytkownika z aplikacji (logout).
- Odinstalowanie aplikacji z urządzenia (wykrywane pośrednio poprzez odpowiedź dostawcy).
- Zwrócenie przez dostawcę powiadomień kodu HTTP 404 (Not Found) lub 410 (Gone), co oznacza że subskrypcja/token przestały być ważne.
- Wyraźne żądanie użytkownika (odłączenie w ustawieniach aplikacji).
Kontrola użytkownika: możliwość odłączenia powiadomień push znajduje się w Ustawienia → Powiadomienia → Wyłącz push w aplikacji „Zdrowa Zmiana", a niezależnie od tego użytkownik może cofnąć zgodę na poziomie przeglądarki (Ustawienia strony) lub systemu operacyjnego (Ustawienia iOS/Android → Aplikacje → Powiadomienia). Cofnięcie zgody na poziomie systemu unieważnia token — kolejne próby wysyłki będą odrzucone przez dostawcę, a token zostanie automatycznie usunięty z bazy.
Nie wykorzystujemy powiadomień push do celów marketingowych ani reklamowych osób trzecich.
8. Udostępnianie danych
Dane mogą być udostępniane:
- Trenerom prowadzącym użytkownika w ramach platformy (wyłącznie po wyraźnej zgodzie sparowania).
- Procesorom technicznym (Supabase — hosting bazy danych w UE/USA, Stripe — płatności, Resend — wysyłka e-maili) na podstawie umów powierzenia DPA zgodnych z RODO.
- Organom państwowym na podstawie obowiązku prawnego (np. wezwanie sądowe).
Nie sprzedajemy danych marketingowo, nie udostępniamy reklamodawcom ani brokerom.
9. Czas przechowywania
- Dane konta i dane zdrowotne — przez okres trwania umowy + 12 miesięcy po jej zakończeniu (możliwość wcześniejszego usunięcia na żądanie).
- Dane finansowe (faktury) — 5 lat zgodnie z polskim prawem podatkowym.
- Dane integracji Garmin/Polar/Fitbit/Strava — do momentu rozłączenia integracji (max 30 dni po rozłączeniu).
- Dane z Apple HealthKit i Google Health Connect (aplikacja mobilna) — zapisane w tabeli
daily_progresspozostają w bazie przez okres trwania konta; użytkownik może wystąpić o ich trwałe usunięcie w każdym momencie na podstawie art. 17 RODO (patrz sekcja 6 i 10). - Tokeny powiadomień push (VAPID endpoint / APNs token / FCM token) — do momentu wylogowania, odinstalowania aplikacji lub otrzymania od dostawcy błędu 404/410 (patrz sekcja 7).
10. Prawa użytkownika
- Prawo dostępu do danych (art. 15 RODO).
- Prawo do sprostowania (art. 16).
- Prawo do usunięcia („prawo do bycia zapomnianym" — art. 17).
- Prawo do ograniczenia przetwarzania (art. 18).
- Prawo do przenoszenia danych (art. 20) — eksport JSON dostępny w ustawieniach aplikacji.
- Prawo sprzeciwu (art. 21).
- Prawo wycofania zgody w dowolnym momencie.
- Prawo wniesienia skargi do Prezesa UODO (uodo.gov.pl).
Żądania należy kierować na kontakt@fit-test.pl.
11. Pliki cookies
Strona używa cookies niezbędnych (logowanie, sesja) oraz analitycznych (Google Analytics 4, Meta Pixel) — te ostatnie tylko za zgodą banera cookie. Szczegóły w banerze cookie przy pierwszej wizycie.
12. Bezpieczeństwo
Dane są przechowywane na serwerach z szyfrowaniem TLS 1.3 (transport) i AES-256 (at rest). Hasła są haszowane (bcrypt). Dostęp pracowniczy ograniczony do minimum (zasada least privilege). Regularne audyty bezpieczeństwa. Backup codzienny z retencją 30 dni.
13. Kontakt
Mateusz Rynkiewicz — administrator danych
Fit Test Family
ul. Kombatantów 34, 66-400 Gorzów Wielkopolski, Polska
E-mail: kontakt@fit-test.pl
Tel: +48 534 036 313
Privacy Policy
Effective May 12, 2026. Last updated: July 30, 2026 (expanded push notification stack, added Apple HealthKit and Google Health Connect integrations for the native mobile app, and clarified minimum age and safeguarding of minors). This policy describes how Fit Test Family (operator of fit-test.pl and app.fit-test.pl — the "Zdrowa Zmiana" application, both web and native iOS/Android) processes personal and health data.
1. Data Controller
The data controller is Mateusz Rynkiewicz, operating under the trade name Fit Test Family, based at ul. Kombatantów 34, 66-400 Gorzów Wielkopolski, Poland.
Contact: kontakt@fit-test.pl, +48 534 036 313.
2. Scope & Purposes
We process: identification data (name, email, password hash, DOB, sex); anthropometric and health data (weight, height, body composition, blood test results, HRV, sleep); training data (sessions, GPS, HR, power, wearable metrics); technical data (IP, device ID, app logs).
Purposes: providing the platform service; medical-physiotherapy services at our facility; communication; contract fulfillment (subscriptions); aggregated statistics.
3. Legal Basis
- Art. 6(1)(b) GDPR — contract performance.
- Art. 6(1)(a) GDPR — voluntary consent (e.g. marketing, wearable integration).
- Art. 9(2)(a) GDPR — explicit consent for special-category data (health).
- Art. 6(1)(c) GDPR — legal obligations (accounting).
4. Age & Safeguarding of Minors
Minimum age for independent use of the „Zdrowa Zmiana" platform (both web app at app.fit-test.pl and the native iOS/Android mobile apps) is 18 years. Minors aged 13–17 may use the platform only with prior written consent of a parent or legal guardian. In practice, the account is registered under the parent's or guardian's email address and the parent formally holds all GDPR consents (including Art. 8 GDPR concerning information society services offered to a child). For youth athletes of sport clubs (e.g. U18/U23 kayak squads affiliated with PZKaj), the club coach collects written parental consents and forwards them to the data controller prior to account activation. Special-category data (blood test results, HRV, Apple HealthKit / Google Health Connect data, sleep) of users under 18 is not processed by Fit Test Family until the user reaches 18 years of age — except for basic aggregated training data (distance, time, HR) strictly necessary for delivering the training service and only with the parent's written consent.
Safeguarding of Minors Standards (SOM): Fit Test Family applies internal safeguarding procedures, including screening personnel through the Polish Register of Sex Offenders and the National Criminal Register, in line with the Polish Act of 13 May 2016 on Counteracting Threats of Sexual Offences and Protection of Minors (as amended in 2024). The full SOM document is available at fit-test.pl/standardy-ochrony-maloletnich.
5. Third-Party Integrations
The "Zdrowa Zmiana" app (app.fit-test.pl) lets users link their account with third-party health/sport platforms. Each integration requires separate explicit OAuth 2.0 consent.
Garmin Connect (Garmin Health API)
Upon connecting a Garmin account, we retrieve the following data from Garmin Connect (per the OAuth scopes the user approves):
- Training activities (type, duration, distance, HR, power, GPS, calories).
- Daily health metrics (steps, resting HR, HRV, SpO₂, Body Battery, stress).
- Sleep data (duration, stages, nocturnal HR).
Garmin data is used solely to display it back to the user inside the application, to generate personalised training and recovery recommendations, and to share it with the user's coach (if the user is a coached athlete). We do not sell Garmin data to third parties, do not use it for advertising, and do not share it with advertisers or data brokers. Users can disconnect their Garmin account anytime in the app's settings — upon disconnection, all synchronised Garmin data is deleted within 30 days.
Polar (Polar AccessLink API)
Scope analogous to Garmin: activities, HR, HRV, sleep. Storage, use, and deletion rules are identical.
Fitbit (Fitbit Web API)
Scope: activities, steps, HR, sleep. Rules identical.
Strava (Strava API)
Scope: sport activities (type, distance, power, pace, GPS, HR). Rules identical.
6. Apple HealthKit and Google Health Connect (native mobile app)
As of July 30, 2026, the native „Zdrowa Zmiana" mobile app on iOS and Android provides optional integrations with system-level fitness aggregators on the user's device:
- Apple HealthKit (iOS 14+) — access to data stored in Apple's Health app (Health.app).
- Google Health Connect (Android 14+) — access to data aggregated by Google's Health Connect platform, which acts as an intermediary between source apps (Google Fit, Samsung Health, Fitbit for Android, Xiaomi Mi Fitness, Huawei Health and others) and receiving apps.
Data read (identical scope for both platforms, subject to the categories the user grants in the native OS permission prompt): steps, heart rate, resting HR, HRV (heart rate variability), sleep (start/end and stages: light/deep/REM/awake), active calories, workouts (type, duration, distance, HR), body weight.
On-demand access with explicit consent: the app reads data only after the user explicitly grants permission in the native OS prompt (iOS „Health Permissions" / Android „Health Connect Permissions") on first use. Users may grant selected categories only and revoke consent at any time via the OS Settings (iOS Settings → Privacy & Security → Health → Zdrowa Zmiana; Android Settings → Apps → Health Connect → Permissions).
Storage location: data read from HealthKit / Health Connect is stored in the daily_progress table of the Supabase database, with an explicit source label in the source field (values: 'apple_health' or 'health_connect'), aggregated to one record per user per day. Data does not leave the European Union — the Supabase infrastructure used by Fit Test Family resides in the eu-central-1 (Frankfurt, Germany) region.
Non-medical use: HealthKit and Health Connect data is used exclusively for training planning and analysis, training load assessment, recovery monitoring, and personalisation of training plans. We do not use this data for diagnostic purposes or as clinical health data. The „Zdrowa Zmiana" app does not read or process Clinical Health Records (HL7/FHIR health records available in HealthKit) — access to that data category is deliberately disabled on the application side.
User controls: disconnect in-app via My Profile → Fitness App Connection → Disconnect Apple Health / Health Connect; revoke OS-level permissions (see above); disconnection stops further reads while historic data already stored in daily_progress remains available for training trend analysis. To request permanent deletion of all HealthKit / Health Connect data under GDPR Art. 17, contact mateusz.rynkiewicz@fit-test.pl or kontakt@fit-test.pl. Requests are executed within 30 days.
7. Push Notifications (Web Push, APNs, FCM)
Fit Test Family sends push notifications to „Zdrowa Zmiana" users for transactional and informational purposes (training session reminders, new plan availability, daily check-in reminders, sync updates from fitness devices, administrative messages). Delivery requires prior explicit consent granted in the browser or OS permission prompt.
The technology stack comprises three delivery channels, selected automatically based on device type:
- Web Push (browser / PWA): Web Push Protocol (RFC 8291) with aes128gcm encryption and VAPID signing (RFC 8292). Public VAPID keys are held by Fit Test Family; the private key never leaves the server. Subscription endpoint URLs and the user's p256dh and auth keys are stored in the
push_subscriptionstable (Supabase). Endpoints route to third-party providers: Google (Firebase Cloud Messaging) for Chromium-based browsers, Mozilla (Autopush) for Firefox, Apple (Apple Web Push Service) for Safari. - iOS APNs (native mobile app): provider Apple Push Notification service (APNs) from Apple Inc. Device tokens (~64 hex characters) generated by iOS are stored in
push_subscriptions.apns_token. The token identifies a device-app pair and does not on its own identify the user outside the application. - Android FCM (native mobile app): provider Firebase Cloud Messaging (FCM) from Google LLC. Registration tokens (~163 characters) are stored in
push_subscriptions.fcm_token.
Token retention: tokens are deleted from Fit Test Family's database on user logout, app uninstall (detected via provider response), when the provider returns HTTP 404 (Not Found) or 410 (Gone), or on explicit user request. Controls: disable push in-app via Settings → Notifications → Disable push or revoke consent in the browser (Site settings) or OS (Settings → Apps → Notifications). We do not use push notifications for third-party advertising or marketing purposes.
8. Data Sharing
We may share data with: assigned coaches on the platform (only after explicit pairing); technical processors (Supabase — DB hosting in EU/US, Stripe — payments, Resend — email delivery) under GDPR-compliant DPAs; state authorities under legal obligation. We do not sell data for marketing and do not share with advertisers or brokers.
9. Retention
- Account & health data — duration of contract + 12 months post-termination (earlier deletion on request).
- Financial data (invoices) — 5 years per Polish tax law.
- Garmin/Polar/Fitbit/Strava integration data — until disconnection (max 30 days after).
- Apple HealthKit / Google Health Connect data (mobile app) — stored in
daily_progressfor the duration of the account; the user may request permanent deletion at any time under GDPR Art. 17 (see sections 6 and 10). - Push notification tokens (VAPID endpoint / APNs / FCM) — until logout, app uninstall or provider 404/410 response (see section 7).
10. User Rights
Under GDPR: access (Art. 15), rectification (Art. 16), erasure (Art. 17), restriction (Art. 18), portability (Art. 20 — JSON export in app settings), objection (Art. 21), withdraw consent anytime, lodge a complaint with the Polish DPA (uodo.gov.pl). Requests: kontakt@fit-test.pl.
11. Cookies
The site uses essential cookies (login, session) and analytics cookies (Google Analytics 4, Meta Pixel) — the latter only with consent via the cookie banner.
12. Security
Data is stored with TLS 1.3 in transit and AES-256 at rest. Passwords are bcrypt-hashed. Employee access follows least-privilege. Regular security audits. Daily backups, 30-day retention.
13. Contact
Mateusz Rynkiewicz — Data Controller
Fit Test Family
ul. Kombatantów 34, 66-400 Gorzów Wielkopolski, Poland
Email: kontakt@fit-test.pl
Phone: +48 534 036 313