Polityka Prywatności Rodziny Aplikacji SyncPlayer
Niniejszy dokument ma zastosowanie do całej rodziny oprogramowania SyncPlayer, w tym do wydań: HRSyncPlayer (sterowanie tętnem HR), CadenceSyncPlayer (sterowanie kadencją) oraz BodySyncPlayer (wersja combo).
1. Administrator Danych i Kontakt
Administratorem powierzonych lokalnie danych jest Glaucus TC Sp. z o.o., z siedzibą przy ul. 1 Sierpnia 53/76, 02-134 Warszawa, Polska (NIP: 5223294403). Wszelkie wnioski związane z ochroną prywatności (RODO) oraz wsparciem technicznym należy kierować na adres e-mail wsparcia: syncplayer@glaucus.pl (kontakt ogólny spółki: biuro@glaucus.pl).
2. Architektura Zero-Backend i Brak Telemetrii
Wszystkie warianty Aplikacji (HRSyncPlayer, CadenceSyncPlayer, BodySyncPlayer) zostały zaprojektowane w oparciu o rygorystyczny, wspólny model bezpieczeństwa "Zero-Backend".
Nie wykorzystujemy własnych serwerów bazodanowych. Żadne parametry telemetryczne (tętno, kadencja), historia wykonanych treningów, współrzędne GPS ani tokeny uwierzytelniające nie opuszczają Twojego urządzenia w kierunku naszych systemów.
Wymiana danych odbywa się w modelu bezpośrednim (Client-to-Service P2P) wyłącznie między Twoim smartfonem a certyfikowanymi interfejsami dostawców: Spotify AB, Strava Inc., OpenStreetMap oraz Google Play Billing API.
W kodzie oprogramowania zablokowano implementację jakichkolwiek narzędzi śledzących i raportujących, w tym Google Firebase Analytics, Crashlytics, Sentry czy Facebook SDK. Nie profilujemy Twoich zachowań, a awarie aplikacji nie wysyłają zrzutów pamięci do podmiotów trzecich.
3. Zabezpieczenia Kryptograficzne
Wszystkie krytyczne dane sesyjne, w tym długoterminowe tokeny dostępowe OAuth, są szyfrowane sprzętowo na urządzeniu z wykorzystaniem biblioteki Flutter SecureStorage oraz certyfikowanego środowiska Android Keystore (Trusted Execution Environment). Wygenerowane pliki treningowe i historia aktywności zapisywane są w izolowanym środowisku typu App Sandbox, uniemożliwiającym odczyt tych danych przez inne aplikacje zainstalowane w systemie.
4. Zakres Uprawnień Zewnętrznych (OAuth Scopes) – Spotify API
Integracja warstwy odtwarzacza z ekosystemem Spotify odbywa się po wyrażeniu przez Ciebie zgody na dostęp do następujących zasobów API:
- user-read-private: Rozpoznanie statusu konta (Premium/Free) dla odpowiedniego dostosowania interfejsu graficznego.
- user-read-email: Zabezpieczenie tożsamości profilu i weryfikacja poprawności sesji.
- playlist-read-private oraz playlist-read-collaborative: Umożliwienie aplikacji odczytu Twoich playlist na potrzeby algorytmu dopasowania tempa (BPM/HR).
- user-library-read: Odczyt zachowanych przez Ciebie utworów (Ulubione).
- user-read-playback-state oraz user-modify-playback-state: Niezbędne do płynnego zdalnego sterowania odtwarzaniem (Start, Pauza, Następny utwór) w synchronizacji z ruchem fizycznym oraz delegacji odtwarzania na inne urządzenia sprzętowe w standardzie Spotify Connect.
- user-read-currently-playing: Pobieranie tytułu, artysty i grafiki okładki do wyświetlacza w aplikacji.
- app-remote-control oraz streaming: Wymagania formalne środowiska Spotify dla autoryzacji lokalnego strumienia audio.
5. Zakres Uprawnień Zewnętrznych (OAuth Scopes) – Strava API
Włączenie dobrowolnej integracji logów treningowych z platformą Strava wymaga autoryzacji:
- activity:write: Zezwolenie aplikacji na eksport przetworzonego lokalnie pliku treningowego (współrzędne, kadencja, tętno) bezpośrednio do serwisu docelowego.
- read: Jednokierunkowa weryfikacja sparowanego z aplikacją profilu sportowego.
6. Kontrola i Zasady Zezwoleń Systemowych (Android Permissions)
Moduł GPS nie śledzi lokalizacji użytkownika w tle w cyklu całodobowym. Pobieranie koordynatów inicjowane jest wyłącznie ręcznym wciśnięciem przycisku rozpoczęcia treningu.
- Lokalizacja (ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION, ACCESS_BACKGROUND_LOCATION): Odczytywana w celu bieżącej kalkulacji tempa, odległości i naniesienia wektorów na mapę trasy – również po wygaszeniu ekranu.
- Procesy w tle (FOREGROUND_SERVICE, FOREGROUND_SERVICE_LOCATION, FOREGROUND_SERVICE_MEDIA_PLAYBACK, WAKE_LOCK): Gwarantują nieprzerywalność zapisu danych treningowych przez agresywne procesy optymalizacji baterii w Androidzie. Proces aktywny opatrzony jest bezwzględnym powiadomieniem systemowym "SyncPlayer - GPS Aktywny".
- Urządzenia zewnętrzne (BLUETOOTH_SCAN, BLUETOOTH_CONNECT): Skanowanie eteru i odczyt metryk z zewnętrznych pulsometrów HR (HRSyncPlayer/BodySyncPlayer) oraz sensorów rowerowych i kroków. Flaga
neverForLocationblokuje próbę użycia tego modułu do mapowania pozycji przestrzennej. - Aktywność i Pamięć (ACTIVITY_RECOGNITION, READ_MEDIA_AUDIO, READ_EXTERNAL_STORAGE, POST_NOTIFICATIONS): Obsługa wbudowanego krokomierza sprzętowego, autoryzacja dostępu do prywatnych bibliotek plików MP3 oraz wyświetlanie systemowego pilota audio.