Polityka prywatności — No Panic
Data wejścia w życie: Zostanie ustalona przed publikacją w sklepach
Ostatnia aktualizacja: 2026-06-27
Wydawca: No Panic Labs (tymczasowa nazwa robocza do czasu finalizacji podmiotu prawnego), Ukraina.
Kontakt wsparcia: denysdubov88@gmail.com (również jedyny kanał dla wniosków dotyczących prywatności / RODO).
URL kanoniczny: https://denid88.github.io/nopanic-app/privacy-policy.pl.html
Niniejsza Polityka prywatności wyjaśnia, jak No Panic Labs („my", „nas", „nasz") postępuje z informacjami w związku z aplikacją mobilną No Panic („Aplikacja"). Korzystając z Aplikacji potwierdzasz, że zapoznałeś się z niniejszą Polityką.
Zaprojektowaliśmy No Panic tak, aby domyślnie szanowała prywatność:
- Bez konta, bez rejestracji, bez logowania. Aplikacja jest całkowicie anonimowa.
- Bez reklam i bez SDK raportowania błędów. Aplikacja nie odczytuje bezpośrednio Twojego identyfikatora reklamowego (IDFA / GAID). W iOS, jeśli — i tylko jeśli — wyrazisz zgodę na analitykę, Aplikacja wyświetla monit App Tracking Transparency (ATT) firmy Apple, aby Firebase Analytics i Facebook App Events mogły uwzględnić IDFA w pomiarach; odmowa monitu ATT jest w pełni respektowana, a Aplikacja działa nadal tak samo.
- Analityka jest ściśle opt-in. Aplikacja używa Firebase Analytics oraz Facebook App Events do zrozumienia zagregowanego użycia, ale zbieranie jest domyślnie wyłączone i włącza się dopiero po Twojej wyraźnej zgodzie — podczas onboardingu lub później w Ustawieniach → Prywatność. Możesz je wyłączyć w dowolnej chwili, a oba SDK zostaną poinstruowane, aby natychmiast przestały zbierać.
- Wpisy w dzienniku i ulubione pozostają na Twoim urządzeniu. Nigdy nie są do nas przesyłane.
- Opcjonalny Katalog lekarzy. Sekcja Ćwiczenia zawiera opcjonalny katalog specjalistów, który możesz przeglądać anonimowo. Jeśli zdecydujesz się umieścić siebie jako specjalistę, informacje wpisane w formularzu zgłoszenia są wysyłane do naszego zaplecza Supabase i — po ręcznym zatwierdzeniu — wyświetlane publicznie w Aplikacji. Przeglądanie katalogu nie wymaga konta ani nie wysyła żadnych danych osobowych o Tobie.
- Zewnętrzne usługi, z którymi rozmawia Aplikacja, to: dostawca subskrypcji (RevenueCat + Apple / Google), gdy wchodzisz w interakcję z paywallem, Google Fonts przy ładowaniu typografii, zaplecze Supabase obsługujące opcjonalny Katalog lekarzy oraz — tylko jeśli wyraziłeś zgodę — Firebase Analytics i Facebook App Events.
Przeczytaj poniżej, aby poznać szczegóły.
1. Kto jest administratorem
Administratorem danych jest No Panic Labs, z siedzibą na Ukrainie. Kontakt: denysdubov88@gmail.com. Nie wyznaczyliśmy formalnego Inspektora Ochrony Danych — wszystkie wnioski dotyczące prywatności trafiają na ten sam adres.
2. Co Aplikacja przechowuje na Twoim urządzeniu
Aplikacja przechowuje następujące informacje tylko lokalnie na Twoim urządzeniu. Nie otrzymujemy ani nie odczytujemy tych danych.
| Miejsce przechowywania | Zawartość | Dlaczego |
|---|---|---|
SharedPreferences (iOS NSUserDefaults / Android SharedPreferences) — niezaszyfrowane |
Flaga onboarding_completed |
Pominąć onboarding po pierwszym uruchomieniu. |
SharedPreferences |
pro_entitlement_cache — migawka JSON Twojego najnowszego uprawnienia Pro (flaga aktywności, data wygaśnięcia, flaga odnowienia, ID produktu, flaga okresu próbnego) |
Pokazać prawidłowy stan blokady przy zimnym starcie, również offline. |
SharedPreferences |
affirmation_favorites — ID afirmacji oznaczonych jako ulubione |
Pozwolić Ci wracać do ulubionych. |
SharedPreferences |
affirmation_of_day_id + affirmation_of_day_date |
Pokazać stałą „afirmację dnia". |
SharedPreferences |
analytics_consent — boolean; domyślnie false, ustawiana na true tylko po Twojej wyraźnej zgodzie |
Kontroluje zbieranie Firebase Analytics (patrz §3.4). |
Lokalna baza SQLite nopanic_journal.db, tabela journal_entries |
Tekst wpisu dziennika, opcjonalne emoji nastroju, znaczniki czasu utworzenia/aktualizacji, lokalne ID auto-inkrementacji | Zasila funkcję Dziennik. |
Lokalna baza SQLite nopanic_medication.db |
Nazwy leków, dawki, harmonogramy i historia dawek wprowadzone w Monitorze leków | Zasila funkcję Monitor leków. Przechowywane tylko na Twoim urządzeniu; nigdy nie przesyłane do naszych serwerów, usług zewnętrznych ani dostawców analityki. |
| Pamięć podręczna audio zarządzana przez system operacyjny | Buforowany stan odtwarzania dla dołączonych plików audio | Płynne odtwarzanie ćwiczeń. |
| Lokalna pamięć podręczna Firebase Analytics (tylko jeśli udzielono zgody na analitykę) | Pseudonimowy Firebase Instance ID przypisany do aplikacji oraz kolejka zdarzeń czekających na przesłanie | Bufor analityki między przesyłaniami sieciowymi. Czyszczone przy wycofaniu zgody lub odinstalowaniu. |
Wszystkie powyższe są usuwane przy odinstalowaniu Aplikacji lub przy użyciu akcji „Wyczyść dane" / „Odciąż aplikację" Twojego systemu operacyjnego.
Aplikacja nie gromadzi ani nie przechowuje:
- Twojego imienia i nazwiska, adresu e-mail, numeru telefonu ani dokładnej lokalizacji — z wyjątkiem informacji, które dobrowolnie wpisujesz w opcjonalnym formularzu zgłoszenia do Katalogu lekarzy (na przykład Twojego imienia i nazwiska, numeru telefonu, opcjonalnego zdjęcia oraz wymaganego obrazu certyfikatu kwalifikacji), które są wysyłane do naszego zaplecza Supabase, aby Twój wpis mógł być wyświetlany publicznie (patrz §3.6). Ten wyjątek dotyczy wyłącznie sytuacji, gdy zdecydujesz się zgłosić jako specjalista; samo przeglądanie katalogu nie wysyła o Tobie nic;
- identyfikatora reklamowego (IDFA / GAID) — Aplikacja sama nie odczytuje IDFA ani GAID. W iOS, gdy potwierdzisz na ekranie Zgody na analitykę, Aplikacja wyświetla monit App Tracking Transparency (ATT) firmy Apple, aby Firebase Analytics mógł uzyskać dostęp do IDFA na potrzeby pomiarów; jeśli odrzucisz monit ATT lub całkowicie odrzucisz analitykę, IDFA nie jest udostępniany Firebase. W Androidzie Aplikacja nie żąda ani nie odczytuje Google Advertising ID (GAID);
- kontaktów, kalendarzy ani wejścia mikrofonu. Dostęp do zdjęć (oraz, jeśli zdecydujesz, do kamery) następuje wyłącznie wtedy, gdy dołączasz opcjonalne zdjęcie profilowe lub wymagany obraz certyfikatu do zgłoszenia w Katalogu lekarzy (patrz §3.6 i §4); w żadnym innym przypadku Aplikacja nie odczytuje Twojej biblioteki zdjęć ani nie używa kamery;
- historii przeglądania ani jakiegokolwiek użycia poza Aplikacją;
- tokenów push (Aplikacja nie ma powiadomień push).
Dane o lekach — Nazwy, dawki, harmonogramy i historia dawek wprowadzone w Monitorze leków są przechowywane tylko na Twoim urządzeniu w lokalnej bazie danych (SQLite). Nigdy nie są przesyłane do naszych serwerów, usług zewnętrznych ani dostawców analityki. Anonimowe liczby zdarzeń (np. że dawka została zarejestrowana) mogą być wysyłane, jeśli wyraziłeś zgodę na analitykę, ale nigdy nazwa leku ani żaden szczegół identyfikujący.
3. Strony trzecie, które mogą przetwarzać dane o Tobie
Korzystanie z Aplikacji wyzwala minimalny, konkretny zestaw interakcji z stronami trzecimi. Wymieniamy je wyczerpująco.
3.1 Apple (App Store) i Google (Google Play)
- Co przetwarzają: Twoje transakcje zakupu i subskrypcji, paragony transakcji, Twoje konto w sklepie (Apple ID / konto Google) oraz wszelką telemetrię, którą platforma urządzenia zbiera na poziomie systemu operacyjnego.
- Dlaczego: rozliczenia, zarządzanie subskrypcją, zwroty.
- Gdzie: zgodnie z własnymi politykami prywatności Apple i Google.
- Nasza widoczność: możemy zobaczyć anonimowe wyniki zakupów za pośrednictwem RevenueCat (patrz poniżej). Nie widzimy Twojego imienia, e-maila ani szczegółów płatności.
3.2 RevenueCat
- Co przetwarzają: pseudonimowy RevenueCat App User ID, który SDK generuje na Twoim urządzeniu, Twoje zdarzenia zakupu, status subskrypcji, platforma i kraj oraz używany klucz API RevenueCat. Pełny obraz znajdziesz w polityce prywatności RevenueCat.
- Dlaczego: używamy RevenueCat do konfigurowania produktów subskrypcyjnych, sprawdzania, czy aktualnie masz uprawnienie
pro, oraz obsługi przepływów zakupu/przywracania, bez budowania własnego zaplecza walidacji paragonów. - Kiedy Aplikacja łączy się z RevenueCat: przy starcie aplikacji (aby pobrać aktualne uprawnienie i zbuforować je), przy otwieraniu paywalla (aby załadować oferty produktów) oraz po kliknięciu Subskrybuj lub Przywróć.
- Gdzie: serwery RevenueCat. Infrastruktura RevenueCat znajduje się głównie w Stanach Zjednoczonych; transfery są objęte ich standardowymi warunkami ochrony danych.
3.3 Google Fonts (pobieranie czcionki w czasie wykonania)
- Co przetwarzają: standardowe żądanie HTTP do CDN czcionek Google dla kroju „Quicksand", w tym Twój adres IP i podstawowe metadane żądania.
- Dlaczego: Aplikacja używa pakietu
google_fonts, który pobiera plik czcionki przy pierwszym użyciu. Po pobraniu jest on buforowany lokalnie przez pakiet. - Uwaga: jeśli to wyłączysz, część tekstu wróci do czcionek systemowych. W przyszłej wersji możemy dostarczyć czcionkę jako zasób wbudowany, aby usunąć to zewnętrzne wywołanie.
3.4 Firebase Analytics (tylko za zgodą)
- Co to jest: SDK Firebase Analytics Google (
firebase_core+firebase_analytics), zintegrowany, aby pomóc nam zrozumieć zagregowane użycie — z jakich funkcji ludzie korzystają, gdzie porzucają przepływy, które ćwiczenia pomagają najbardziej. Żadna surowa treść (tekst dziennika, ulubione, wiadomości) nigdy nie opuszcza urządzenia. - Model zgody: domyślnie wyłączone. SDK jest inicjalizowane z wyłączonym zbieraniem. Pokazujemy ekran Zgody na analitykę podczas onboardingu i udostępniamy ten sam przełącznik w Ustawieniach → Prywatność. Dopiero po wciśnięciu „Zgadzam się" / włączeniu przełącznika wywołujemy
setAnalyticsCollectionEnabled(true). Wycofanie zgody natychmiast wywołujesetAnalyticsCollectionEnabled(false)i tłumi wszystkie wywołania zdarzeń i właściwości użytkownika w procesie. - App Tracking Transparency (tylko iOS): gdy klikniesz „Zgadzam się" na ekranie Zgody na analitykę w iOS, Aplikacja wywołuje API ATT firmy Apple (za pomocą pakietu
app_tracking_transparency), aby pokazać monit systemowy. Twój wybór decyduje, czy Firebase Analytics może powiązać identyfikator reklamowy (IDFA) ze zdarzeniami analityki. Jeśli klikniesz „Poproś aplikację, aby nie śledziła" (lub miałeś śledzenie wyłączone globalnie), IDFA nigdy nie jest udostępniany Firebase — analityka nadal działa, używając tylko pseudonimowego Firebase Instance ID. Nigdy sami nie odczytujemy IDFA. Dla naszego własnego pomiaru wskaźników opt-in dołączamy wynik (authorized/denied/restricted/not_determined/not_supported) jako parametratt_statusprzy zdarzeniuanalytics_consent_set. Możesz zmienić wybór śledzenia w dowolnej chwili w Ustawieniach iOS → Prywatność i bezpieczeństwo → Śledzenie. - Co jest zbierane (tylko gdy włączone):
- Wyświetlenia ekranów (za pośrednictwem
FirebaseAnalyticsObserverFirebase podłączonego do GoRouter). - Zdarzenia produktowe, które jawnie rejestrujemy — np.
emergency_tapped,panic_flow_started/panic_flow_tip_viewed/panic_flow_completed/panic_flow_exited,exercise_opened/exercise_session_started/exercise_session_completed,games_opened/game_started/game_completed/game_exited,journal_entry_saved(z pogrupowaną liczbą słów typu1-25, nigdy surową liczbą ani tekstem),affirmation_favorited,paywall_shown/paywall_subscribe_tapped/purchase/restore_completed,settings_opened,legal_opened,support_opened,language_changed,onboarding_*,analytics_consent_shown/analytics_consent_set. Pełna lista znajduje się wlib/core/services/analytics_event.dart. - Parametry zdarzeń ograniczone do metadanych nieidentyfikujących: ID scenariuszy, indeksy wskazówek, ID presetów, nazwy ćwiczeń, nazwy gier (np.
snake,tetris,bubble_pop,mandala,memory_pairs), numeryczne wyniki gier (np. długość węża, wyczyszczone linie tetrisa, % trafień w bubble-pop, ruchy w memory-pairs), ID produktu, waluta, wartość planu, czas trwania w sekundach, procent postępu, przedział liczby słów, źródło otwarcia ekranu, kod języka z/na, wynik ATT (att_status:authorized/denied/restricted/not_determined/not_supported). - Właściwości użytkownika:
has_pro(true / false — czy aktualnie masz uprawnienie Pro),app_language(kod języka interfejsu),onboarding_completed(true / false). - Identyfikatory automatycznie zbierane przez Firebase: pseudonimowy Firebase Instance ID (przypisany do aplikacji, resetowany przy odinstalowaniu lub wycofaniu zgody), adres IP (używany do przybliżonej geolokalizacji i następnie odrzucany zgodnie z polityką retencji Google), model urządzenia, wersja systemu operacyjnego, wersja aplikacji.
- Wyświetlenia ekranów (za pośrednictwem
- Co nigdy nie jest wysyłane: tekst dziennika, tytuły dziennika, tekst afirmacji, zawartość wskazówek, notatki, odtwarzane audio, listy ulubionych, dokładna lokalizacja, identyfikator reklamowy, e-mail, telefon ani żaden identyfikator powiązany z Twoim imieniem.
- Gdzie: serwery Firebase Google (Stany Zjednoczone i inne regiony Google), zgodnie z polityką prywatności Google i warunkami przetwarzania danych Firebase.
- Retencja: konfigurujemy projekt Firebase tak, aby używał domyślnego okna retencji danych użytkownika Google (obecnie 14 miesięcy dla danych na poziomie użytkownika); zagregowane dane raportowania są przechowywane bezterminowo.
- Jak wyłączyć: Ustawienia → Prywatność → przełącznik Analityka. Spowoduje to zmianę
analytics_consentnafalse, wywołaniesetAnalyticsCollectionEnabled(false)i SDK przestaje zbierać dane na tym urządzeniu.
3.5 Facebook App Events (tylko za zgodą)
- Co to jest: SDK Facebook App Events firmy Meta Platforms (
facebook_app_events), używany do zagregowanego pomiaru wykorzystania funkcji i kampanii pozyskiwania użytkowników. Żadna surowa treść (tekst dziennika, ulubione, wiadomości) nigdy nie opuszcza urządzenia. - Model zgody: domyślnie wyłączone. SDK jest inicjalizowane z wyłączonym automatycznym logowaniem zdarzeń oraz wyłączonym zbieraniem identyfikatora reklamowego (
FacebookAutoLogAppEventsEnabled = false,FacebookAdvertiserIDCollectionEnabled = falsewInfo.plistoraz odpowiadające im flagimeta-datawAndroidManifest.xml). Ten sam przełącznik zgody w aplikacji, który steruje Firebase Analytics (ekran Zgody na analitykę podczas onboardingu; następnie Ustawienia → Prywatność), steruje też Facebook App Events. Dopiero po wciśnięciu „Zgadzam się" / włączeniu przełącznika wywołujemysetAutoLogAppEventsEnabled(true). Wycofanie zgody wywołujesetAutoLogAppEventsEnabled(false)i tłumi wszystkie wywołania zdarzeń w procesie. - App Tracking Transparency (tylko iOS): nawet przy udzielonej zgodzie w aplikacji, Facebook App Events pozostaje cichy, dopóki wynik ATT firmy Apple nie wynosi
authorized. Jeśli klikniesz „Poproś aplikację, aby nie śledziła" lub miałeś śledzenie wyłączone globalnie, Aplikacja wywołujesetAdvertiserTracking(enabled: false)na SDK, utrzymuje flagę automatycznego logowania jako wyłączoną i nigdy nie wysyła zdarzeń do Meta. W Androidzie nie ma monitu ATT; SDK jest włączane po udzieleniu zgody w aplikacji. - Co jest wysyłane (tylko gdy włączone): te same nazwy zdarzeń i nieidentyfikujące parametry opisane w §3.4, odwzorowane do Meta — np.
emergency_tapped,panic_flow_started/panic_flow_completed,exercise_session_started/exercise_session_completed,paywall_subscribe_tapped,purchase,restore_completed,language_changed,analytics_consent_set. Zakupy dodatkowo zawierają ID produktu, kwotę i walutę w standardowym schemacie zakupu Meta. - Co nigdy nie jest wysyłane: tekst dziennika, tytuły dziennika, tekst afirmacji, zawartość wskazówek, notatki, odtwarzane audio, listy ulubionych, dokładna lokalizacja, e-mail, telefon ani żaden identyfikator powiązany z Twoim imieniem. Nigdy nie wywołujemy
setUserDataanisetUserIDna SDK, więc Meta nigdy nie otrzymuje od nas zhaszowanego e-maila, telefonu ani identyfikatora klienta. - Gdzie: serwery Meta Platforms, Inc. (głównie Stany Zjednoczone i Irlandia), zgodnie z polityką prywatności Meta i warunkami przetwarzania danych.
- Retencja: zgodnie z domyślną polityką retencji zdarzeń aplikacji firmy Meta (patrz polityka prywatności Meta). Wycofanie zgody lub odinstalowanie zatrzymuje dalsze zbieranie.
- Jak wyłączyć: Ustawienia → Prywatność → przełącznik Analityka. Spowoduje to zmianę
analytics_consentnafalse, wywołaniesetAutoLogAppEventsEnabled(false)na SDK Facebooka i SDK przestaje wysyłać zdarzenia z tego urządzenia.
3.6 Supabase (zaplecze Katalogu lekarzy)
- Co to jest: Supabase to hostowana baza danych Postgres oraz usługa przechowywania plików (Storage), obsługiwana przez Supabase, Inc. w imieniu Wydawcy. Zasila ona opcjonalny Katalog lekarzy w sekcji Ćwiczenia — publiczną listę specjalistów. Jest to pierwsze i jedyne zaplecze prowadzone przez Wydawcę, z którym rozmawia Aplikacja. Żadne z Twoich danych na urządzeniu (wpisy dziennika, leki, nawyki, ulubione, analityka) nigdy nie są wysyłane do Supabase — jedynie dane katalogu opisane poniżej.
- Gdy przeglądasz katalog (anonimowo): otwarcie Katalogu lekarzy pobiera z Supabase listę zatwierdzonych specjalistów, przefiltrowaną według języka Aplikacji. Żądanie niesie Twój adres IP oraz publiczny (anon) klucz API Aplikacji, ale żadnego konta ani żadnych danych osobowych o Tobie. Przeglądanie pozostaje anonimowe.
- Gdy zgłaszasz siebie jako specjalistę (całkowicie opcjonalnie, z Twojej inicjatywy): za pomocą przycisku „?" → formularza „Dodaj siebie jako lekarza" informacje, które wpisujesz, są wysyłane do Supabase i przechowywane, aby po ręcznym zatwierdzeniu mogły być wyświetlane w katalogu publicznie. Pola to: imię i nazwisko, specjalizacja(e), lata doświadczenia, opis usług, kraj i miasto (lub flaga „online"), opcjonalny kontaktowy numer telefonu, cena za konsultację oraz jej waluta, czas trwania konsultacji (w minutach), opcjonalne godziny przyjęć, opcjonalne kontakty Viber / Telegram / WhatsApp / Instagram / Threads / TikTok oraz opcjonalne zdjęcie profilowe przesyłane do zasobnika Supabase Storage (
doctor-photos), a także wymagany obraz certyfikatu kwalifikacji przesyłany do oddzielnego zasobnika Supabase Storage (doctor-certificates). Ponieważ celem katalogu jest publiczna lista, te informacje stają się publicznie widoczne po zatwierdzeniu — nie zgłaszaj niczego, czego nie chcesz pokazywać publicznie. - Zatwierdzanie i usuwanie: zgłoszenia są przechowywane jako niezatwierdzone (
approved = false) i pokazywane dopiero po ręcznym zatwierdzeniu przez Wydawcę. Zapis do katalogu wymaga współdzielonego sekretu aplikacji weryfikowanego po stronie serwera; niezależnie od tego każde zgłoszenie jest przechowywane jako niezatwierdzone do czasu przeglądu. Możesz w dowolnej chwili poprosić o poprawienie lub usunięcie wpisu, pisząc na denysdubov88@gmail.com — Wydawca usuwa wówczas rekord oraz wszelkie przesłane zdjęcie lub certyfikat. - Gdzie: infrastruktura chmurowa Supabase (region wybrany dla projektu). Wszelkie transfery międzynarodowe są objęte umową powierzenia przetwarzania danych (DPA) Supabase oraz Standardowymi Klauzulami Umownymi.
3.7 Usługi, które nie są uruchamiane
Dla przejrzystości — Aplikacja nie zawiera:
- Amplitude, Mixpanel, PostHog ani żadnego innego SDK analityki poza Firebase Analytics opisanym w §3.4 i Facebook App Events opisanym w §3.5;
- Sentry, Crashlytics, Bugsnag ani żadnego innego SDK raportowania błędów;
- SDK reklamowych;
- SDK logowania społecznościowego (SDK Facebook App Events opisany w §3.5 nie obejmuje Facebook Login ani żadnych funkcji social graph — tylko podzbiór dotyczący zdarzeń aplikacji / pomiarów);
- SDK TikToka, AppsFlyer, Adjust, Branch ani innych SDK atrybucji;
- usług powiadomień push (komunikaty FCM/APNs nie są zintegrowane, mimo że Firebase Core jest obecny).
4. Uprawnienia żądane przez Aplikację
Aplikacja nie żąda mikrofonu, lokalizacji, kontaktów, kalendarza ani Bluetooth. W iOS Aplikacja żąda dostępu do biblioteki zdjęć (NSPhotoLibraryUsageDescription) — tylko gdy zdecydujesz się dołączyć opcjonalne zdjęcie profilowe lub wymagany certyfikat kwalifikacji podczas zgłaszania siebie do Katalogu lekarzy (patrz §3.6), oraz żąda dostępu do kamery (NSCameraUsageDescription) — tylko gdy zdecydujesz się sfotografować swój certyfikat podczas tego samego zgłoszenia — nigdy w innych przypadkach; zdjęcie profilowe jest opcjonalne, możesz zgłosić się bez niego, a Aplikacja nigdy nie odczytuje Twojej biblioteki zdjęć ani nie używa kamery w żadnym innym czasie. Aplikacja żąda również uprawnienia App Tracking Transparency (ATT) firmy Apple — tylko gdy aktywnie zaakceptujesz analitykę na ekranie Zgody na analitykę, nigdy przy pierwszym uruchomieniu i nigdy jeśli odrzucisz analitykę. Cel opisano w §3.4 i §3.5.
Aplikacja odtwarza dołączone audio za pomocą standardowych API systemu operacyjnego. Aby umożliwić odtwarzanie w tle dla ćwiczenia Sen — tak aby muzyka grała dalej, gdy zablokujesz ekran, a sterowanie na ekranie blokady / Centrum sterowania / Powiadomienia pozostało dostępne — Aplikacja deklaruje następujące możliwości systemu operacyjnego niewymagające monitu: w Androidzie uprawnienia WAKE_LOCK, FOREGROUND_SERVICE i FOREGROUND_SERVICE_MEDIA_PLAYBACK oraz usługę pierwszoplanową odtwarzania mediów (dostarczaną przez pakiet audio_service); w iOS wartość audio w tablicy UIBackgroundModes w Info.plist. Żadna z tych możliwości nie wyświetla interaktywnego monitu o pozwolenie ani nie daje Aplikacji dostępu do Twoich danych — pozwalają jedynie własnemu silnikowi audio Aplikacji grać dalej, gdy Aplikacja działa w tle lub ekran jest wyłączony.
5. Dzieci
Aplikacja nie jest skierowana do dzieci poniżej 13. roku życia i nie zbiera świadomie ich danych osobowych. Jeśli uważasz, że dziecko poniżej minimalnego wieku korzystało z Aplikacji, skontaktuj się z nami, abyśmy mogli pomóc.
6. Twoje prawa (RODO, UA, UK GDPR, CCPA)
Ponieważ Aplikacja nie kojarzy żadnych danych z Twoją tożsamością, wiele tradycyjnych praw (dostęp, eksport, usunięcie „Twoich danych osobowych") nie ma zastosowania w zwykłym sensie — nie ma serwerowego rekordu powiązanego z Tobą. Mimo to masz prawo do:
- Dostęp / przenoszenie: wyeksportuj swoje wpisy Dziennika ręcznie, kopiując je z Aplikacji. Wbudowana funkcja eksportu nie jest jeszcze dostępna; skontaktuj się, jeśli potrzebujesz pomocy.
- Usunięcie: usuń poszczególne wpisy Dziennika z poziomu Aplikacji; usuń wszystkie dane Aplikacji przez odinstalowanie, użycie akcji „Wyczyść dane" / „Odciąż aplikację" / „Resetuj" Twojego systemu lub zresetowanie urządzenia. Jedynym wyjątkiem od stwierdzenia „nie ma serwerowego rekordu powiązanego z Tobą" jest wpis w Katalogu lekarzy, który dobrowolnie zgłosiłeś (patrz §3.6); możesz go w dowolnej chwili usunąć, pisząc na denysdubov88@gmail.com (patrz też Załącznik B).
- Dane subskrypcyjne: dla zapisów zakupów i subskrypcji posiadanych przez Apple, Google lub RevenueCat skorzystaj z praw bezpośrednio u tych dostawców — mogą Cię zidentyfikować po koncie sklepu. Pomożemy, jeśli się z nami skontaktujesz.
- Sprzeciw / ograniczenie / skarga: możesz sprzeciwić się przetwarzaniu lub je ograniczyć. Jeśli jesteś w UE/EOG, Wielkiej Brytanii lub Szwajcarii, możesz również złożyć skargę do swojego krajowego organu ochrony danych. W Polsce organem jest Prezes Urzędu Ochrony Danych Osobowych (UODO). Mieszkańcy Kalifornii mogą korzystać z praw CCPA; nie „sprzedajemy" ani nie „udostępniamy" danych osobowych w celach reklamy behawioralnej między kontekstami.
Aby skorzystać z dowolnego prawa, napisz na denysdubov88@gmail.com.
7. Podstawa prawna (UE/EOG, Wielka Brytania, Szwajcaria)
Tam, gdzie ma zastosowanie RODO lub równoważne prawo, podstawy prawne minimalnego przetwarzania opisanego powyżej to:
- Umowa (art. 6 ust. 1 lit. b RODO) — dostarczanie Aplikacji i, w stosownych przypadkach, przetwarzanie Twojej subskrypcji.
- Uzasadniony interes (art. 6 ust. 1 lit. f RODO) — buforowanie stanu uprawnień, aby Aplikacja działała offline, pobieranie czcionki używanej przez UI i utrzymywanie integralności paywalla.
- Zgoda (art. 6 ust. 1 lit. a RODO) — jedyna podstawa prawna dla Firebase Analytics oraz Facebook App Events. Zbieranie przez oba SDK jest domyślnie wyłączone i włącza się dopiero po Twojej afirmatywnej zgodzie na ekranie Zgody na analitykę (lub w Ustawieniach → Prywatność). Możesz wycofać zgodę w dowolnym momencie tym samym przełącznikiem, bez wpływu na możliwość korzystania z Aplikacji. Wycofanie nie wpływa na zgodność z prawem przetwarzania dokonanego przed wycofaniem.
8. Transfery międzynarodowe
Sama Aplikacja przechowuje dane na Twoim urządzeniu w kraju zamieszkania. Gdy wchodzisz w interakcję z paywallem, RevenueCat i App Store / Google Play mogą transferować dane międzynarodowo (głównie do Stanów Zjednoczonych) w ramach własnych zabezpieczeń (Standardowe Klauzule Umowne i równoważne mechanizmy). Jeśli włączyłeś analitykę, Firebase Analytics również transferuje dane zdarzeń do infrastruktury Google (głównie do Stanów Zjednoczonych) w ramach Standardowych Klauzul Umownych Google i równoważnych mechanizmów, a Facebook App Events transferuje dane zdarzeń do infrastruktury Meta Platforms (głównie do Stanów Zjednoczonych i Irlandii) w ramach Standardowych Klauzul Umownych Meta i równoważnych mechanizmów. Gdy przeglądasz Katalog lekarzy lub zgłaszasz się do niego, Supabase przetwarza żądanie na swojej infrastrukturze chmurowej (region wybrany dla projektu) i może transferować dane międzynarodowo w ramach umowy powierzenia przetwarzania danych Supabase oraz Standardowych Klauzul Umownych.
9. Retencja
- Dane na urządzeniu: przechowywane do czasu ich usunięcia lub odinstalowania Aplikacji.
- RevenueCat: przechowywane zgodnie z polityką retencji RevenueCat dla danych subskrypcyjnych.
- Apple / Google: przechowywane zgodnie z ich politykami.
- Firebase Analytics (tylko jeśli wyraziłeś zgodę): dane na poziomie użytkownika przechowywane przez domyślne 14-miesięczne okno skonfigurowane w naszym projekcie Firebase; zagregowane dane raportowania przechowywane bezterminowo. Wycofanie zgody lub odinstalowanie zatrzymuje dalsze zbieranie; istniejące przesłane zdarzenia mogą zostać usunięte na żądanie (patrz §6).
- Facebook App Events (tylko jeśli wyraziłeś zgodę): przechowywane zgodnie z domyślną polityką retencji zdarzeń aplikacji firmy Meta. Wycofanie zgody lub odinstalowanie zatrzymuje dalsze zbieranie; istniejące dane mogą zostać usunięte na żądanie (patrz §6).
- Zgłoszenia do Katalogu lekarzy (tylko jeśli zgłosiłeś siebie jako specjalistę): przechowywane na zapleczu Supabase do czasu, gdy poprosisz o usunięcie lub Wydawca usunie wpis.
- Korespondencja wsparcia: jeśli napiszesz do nas na denysdubov88@gmail.com, przechowujemy wątek e-mail do 24 miesięcy, a następnie go usuwamy.
10. Bezpieczeństwo
Utrzymujemy przetwarzanie po stronie serwera do minimum i polegamy na sandboxingu Apple i Google do ochrony danych przechowywanych na Twoim urządzeniu. Wpisy Dziennika nie są szyfrowane przez Aplikację ponad to, co system operacyjny zapewnia w spoczynku; jeśli Twoje urządzenie obsługuje pełne szyfrowanie dysku i włączyłeś kod dostępu, Twoje dane na tym korzystają. Zalecamy utrzymywanie aktualnego systemu operacyjnego oraz używanie kodu dostępu lub blokady biometrycznej.
11. Zmiany niniejszej Polityki
Możemy aktualizować niniejszą Politykę wraz z rozwojem Aplikacji. Zmiany zostaną odzwierciedlone w dacie „Ostatnia aktualizacja" powyżej oraz, jeśli istotne, podkreślone w Aplikacji lub w opisie sklepu. Dalsze korzystanie po wejściu w życie zaktualizowanej Polityki stanowi potwierdzenie.
12. Kontakt
Pytania, wnioski lub skargi dotyczące tej Polityki: denysdubov88@gmail.com.
Załącznik A — Inwentaryzacja techniczna (dla kompletności)
Ta sekcja odzwierciedla to, co programista lub audytor zobaczyłby w kodzie, tak aby nic w Aplikacji nie pozostało nieujawnione.
- Platforma: Flutter (Dart
^3.11.3), dystrybuowana globalnie w Apple App Store i Google Play; nazwa pakietu / identyfikator bundleapp.nopanic. - Pakiety zewnętrzne, które mogą dotykać sieci lub pamięci systemu:
purchases_flutter(RevenueCat),firebase_core+firebase_analytics(Firebase Analytics — zależne od zgody opt-in),facebook_app_events(Meta Facebook App Events — zależne od zgody opt-in oraz, w iOS, od tego, że ATT ma statusauthorized, jak opisano w §3.5),app_tracking_transparency(tylko iOS — pokazuje systemowy monit ATT, gdy analityka jest włączona, jak opisano w §3.4 i §3.5),google_fonts(pobieranie czcionki w czasie wykonania),supabase_flutter(klient Supabase — wywołania sieciowe do zaplecza Katalogu lekarzy, jak opisano w §3.6),image_picker(opcjonalny wybór zdjęcia do zgłoszenia w Katalogu lekarzy; w iOS używa systemowej galerii przez PHPicker, a gdy fotografujesz swój certyfikat — kamery),flutter_image_compress(kompresja przesyłanego zdjęcia i obrazu certyfikatu po stronie klienta przed wysłaniem),country_state_city(wbudowana offline lista krajów/miast dla filtra Katalogu lekarzy — bez wywołań sieciowych),just_audio+audio_service+audio_session(lokalne odtwarzanie audio, w tym odtwarzanie w tle oraz sterowanie na ekranie blokady / w Centrum sterowania / w powiadomieniach dla ćwiczenia Sen przez niestandardowyAudioHandler; inne ćwiczenia używają tylko zwykłegojust_audio),shared_preferences(lokalna pamięć klucz-wartość, w tym flagaanalytics_consent),sqflite(lokalne SQLite),url_launcher(otwiera zewnętrzne URL w przeglądarce systemowej, gdy klikniesz Warunki, Prywatność lub Wsparcie),package_info_plus(odczytuje lokalną wersję/numer kompilacji aplikacji). - Zewnętrzne URL otwierane (tylko gdy je dotkniesz): URL Warunków, URL Prywatności oraz link
mailto:e-maila wsparcia. - Klucze API: publiczny klucz SDK RevenueCat jest wkompilowany do builda przez
--dart-define. Konfiguracja Firebase (GoogleService-Info.plist/google-services.json) jest dołączona w czasie kompilacji. Te klucze identyfikują aplikację, nie Ciebie. - Zaplecze Supabase (hostowana baza danych Postgres oraz przechowywanie plików Storage), obsługiwane przez Supabase, Inc. w imieniu Wydawcy, zasila teraz opcjonalny Katalog lekarzy: serwuje listę zatwierdzonych specjalistów (odczyty), przechowuje zgłoszone przez użytkowników profile specjalistów przez chronione sekretem RPC
submit_doctor(zawsze zapisywane zapproved = falsedo czasu ręcznego zatwierdzenia), przechowuje opcjonalne zdjęcia profilowe w zasobniku Storagedoctor-photosoraz przechowuje wymagany obraz certyfikatu kwalifikacji w zasobniku Storagedoctor-certificates. Żadne inne zaplecze prowadzone przez Wydawcę nie przetwarza danych użytkownika. Dane analityki są przetwarzane przez Google i Meta w naszym imieniu tylko po wyraźnej zgodzie.
Załącznik B — Podsumowanie usuwania danych (dla recenzji sklepu)
Jeśli recenzent sklepu zapyta „jak użytkownik usuwa swoje dane?":
- Wewnątrz Aplikacji: otwórz Dziennik, usuwaj wpisy pojedynczo. W Monitorze leków usuwaj leki i wpisy historii dawek pojedynczo.
- Odinstaluj Aplikację lub użyj akcji „Wyczyść dane" (Android) / „Odciąż aplikację + Usuń" (iOS) urządzenia. Usuwa to wszystkie dane Aplikacji na urządzeniu, w tym wpisy Dziennika, ulubione afirmacje, flagę onboardingu, pamięć podręczną uprawnień Pro, flagę
analytics_consenti Firebase Instance ID. - Aby zatrzymać bieżące zbieranie analityki, otwórz Ustawienia → Prywatność i wyłącz przełącznik Analityka. Aby również usunąć wcześniej przesłane zdarzenia analityki, napisz na denysdubov88@gmail.com, a zainicjujemy wniosek o usunięcie wobec projektu Firebase oraz zbioru danych zdarzeń aplikacji w Meta.
- Aby usunąć zgłoszenie, które złożyłeś w Katalogu lekarzy, napisz na denysdubov88@gmail.com, podając zgłoszone imię i nazwisko; Wydawca usunie rekord oraz wszelkie przesłane zdjęcie lub certyfikat z zaplecza Supabase.
- Aby anulować lub usunąć dane subskrypcji posiadane przez Apple, Google lub RevenueCat, użyj narzędzi zarządzania subskrypcją w swoim koncie App Store lub Google Play albo napisz na denysdubov88@gmail.com, aby uzyskać pomoc.