-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprivacy-policy.pl.html
More file actions
315 lines (289 loc) · 43.4 KB
/
Copy pathprivacy-policy.pl.html
File metadata and controls
315 lines (289 loc) · 43.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Polityka prywatności — No Panic</title>
<meta name="description" content="Jak aplikacja No Panic obchodzi się z informacjami. Bez konta, bez reklam, bez SDK raportowania błędów. Firebase Analytics tylko za zgodą.">
<link rel="canonical" href="https://denid88.github.io/nopanic-app/privacy-policy.pl.html">
<link rel="alternate" hreflang="en" href="https://denid88.github.io/nopanic-app/privacy-policy.html">
<link rel="alternate" hreflang="uk" href="https://denid88.github.io/nopanic-app/privacy-policy.uk.html">
<link rel="alternate" hreflang="de" href="https://denid88.github.io/nopanic-app/privacy-policy.de.html">
<link rel="alternate" hreflang="es" href="https://denid88.github.io/nopanic-app/privacy-policy.es.html">
<link rel="alternate" hreflang="fr" href="https://denid88.github.io/nopanic-app/privacy-policy.fr.html">
<link rel="alternate" hreflang="pl" href="https://denid88.github.io/nopanic-app/privacy-policy.pl.html">
<link rel="alternate" hreflang="pt-BR" href="https://denid88.github.io/nopanic-app/privacy-policy.pt-br.html">
<link rel="icon" type="image/png" href="./assets/favicon.png">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600&display=swap">
<link rel="stylesheet" href="./styles/main.css">
</head>
<body>
<header class="site-header">
<div class="container site-header__inner">
<a class="site-header__brand" href="./index.pl.html">
<img src="./assets/logo.png" alt="">
<span>No Panic</span>
</a>
<nav class="site-header__lang" aria-label="Język">
<a href="./privacy-policy.html" hreflang="en">EN</a>
<span aria-hidden="true">|</span>
<a href="./privacy-policy.uk.html" hreflang="uk">UK</a>
<span aria-hidden="true">|</span>
<a href="./privacy-policy.de.html" hreflang="de">DE</a>
<span aria-hidden="true">|</span>
<a href="./privacy-policy.es.html" hreflang="es">ES</a>
<span aria-hidden="true">|</span>
<a href="./privacy-policy.fr.html" hreflang="fr">FR</a>
<span aria-hidden="true">|</span>
<span class="is-active" aria-current="true">PL</span>
<span aria-hidden="true">|</span>
<a href="./privacy-policy.pt-br.html" hreflang="pt-BR">PT</a>
</nav>
</div>
</header>
<main class="legal">
<article class="prose">
<p><a href="./index.pl.html">← Strona główna</a></p>
<h1>Polityka prywatności — No Panic</h1>
<p><strong>Data wejścia w życie:</strong> <em>Zostanie ustalona przed publikacją w sklepach</em><br>
<strong>Ostatnia aktualizacja:</strong> 2026-06-27</p>
<p><strong>Wydawca:</strong> No Panic Labs (tymczasowa nazwa robocza do czasu finalizacji podmiotu prawnego), Ukraina.<br>
<strong>Kontakt wsparcia:</strong> <a href="mailto:denysdubov88@gmail.com">denysdubov88@gmail.com</a> (również jedyny kanał dla wniosków dotyczących prywatności / RODO).<br>
<strong>URL kanoniczny:</strong> <a href="https://denid88.github.io/nopanic-app/privacy-policy.pl.html">https://denid88.github.io/nopanic-app/privacy-policy.pl.html</a></p>
<p>Niniejsza Polityka prywatności wyjaśnia, jak No Panic Labs („my", „nas", „nasz") postępuje z informacjami w związku z aplikacją mobilną <strong>No Panic</strong> („Aplikacja"). Korzystając z Aplikacji potwierdzasz, że zapoznałeś się z niniejszą Polityką.</p>
<p>Zaprojektowaliśmy No Panic tak, aby <strong>domyślnie szanowała prywatność</strong>:</p>
<ul>
<li><strong>Bez konta, bez rejestracji, bez logowania.</strong> Aplikacja jest całkowicie anonimowa.</li>
<li><strong>Bez reklam i bez SDK raportowania błędów.</strong> 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.</li>
<li><strong>Analityka jest ściśle opt-in.</strong> Aplikacja używa Firebase Analytics oraz Facebook App Events do zrozumienia zagregowanego użycia, ale zbieranie jest <strong>domyślnie wyłączone</strong> 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ć.</li>
<li><strong>Wpisy w dzienniku i ulubione pozostają na Twoim urządzeniu.</strong> Nigdy nie są do nas przesyłane.</li>
<li><strong>Opcjonalny Katalog lekarzy.</strong> Sekcja Ćwiczenia zawiera opcjonalny katalog specjalistów, który możesz przeglądać anonimowo. Jeśli zdecydujesz się umieścić <em>siebie</em> 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.</li>
<li>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 — <strong>tylko jeśli wyraziłeś zgodę</strong> — Firebase Analytics i Facebook App Events.</li>
</ul>
<p>Przeczytaj poniżej, aby poznać szczegóły.</p>
<hr>
<h2>1. Kto jest administratorem</h2>
<p>Administratorem danych jest <strong>No Panic Labs</strong>, z siedzibą na <strong>Ukrainie</strong>. Kontakt: <strong><a href="mailto:denysdubov88@gmail.com">denysdubov88@gmail.com</a></strong>. Nie wyznaczyliśmy formalnego Inspektora Ochrony Danych — wszystkie wnioski dotyczące prywatności trafiają na ten sam adres.</p>
<h2>2. Co Aplikacja przechowuje na Twoim urządzeniu</h2>
<p>Aplikacja przechowuje następujące informacje <strong>tylko lokalnie na Twoim urządzeniu</strong>. Nie otrzymujemy ani nie odczytujemy tych danych.</p>
<table>
<thead>
<tr><th scope="col">Miejsce przechowywania</th><th scope="col">Zawartość</th><th scope="col">Dlaczego</th></tr>
</thead>
<tbody>
<tr>
<td><code>SharedPreferences</code> (iOS <code>NSUserDefaults</code> / Android <code>SharedPreferences</code>) — niezaszyfrowane</td>
<td>Flaga <code>onboarding_completed</code></td>
<td>Pominąć onboarding po pierwszym uruchomieniu.</td>
</tr>
<tr>
<td><code>SharedPreferences</code></td>
<td><code>pro_entitlement_cache</code> — migawka JSON Twojego najnowszego uprawnienia Pro (flaga aktywności, data wygaśnięcia, flaga odnowienia, ID produktu, flaga okresu próbnego)</td>
<td>Pokazać prawidłowy stan blokady przy zimnym starcie, również offline.</td>
</tr>
<tr>
<td><code>SharedPreferences</code></td>
<td><code>affirmation_favorites</code> — ID afirmacji oznaczonych jako ulubione</td>
<td>Pozwolić Ci wracać do ulubionych.</td>
</tr>
<tr>
<td><code>SharedPreferences</code></td>
<td><code>affirmation_of_day_id</code> + <code>affirmation_of_day_date</code></td>
<td>Pokazać stałą „afirmację dnia".</td>
</tr>
<tr>
<td><code>SharedPreferences</code></td>
<td><code>analytics_consent</code> — boolean; domyślnie <code>false</code>, ustawiana na <code>true</code> tylko po Twojej wyraźnej zgodzie</td>
<td>Kontroluje zbieranie Firebase Analytics (patrz §3.4).</td>
</tr>
<tr>
<td>Lokalna baza SQLite <code>nopanic_journal.db</code>, tabela <code>journal_entries</code></td>
<td>Tekst wpisu dziennika, opcjonalne emoji nastroju, znaczniki czasu utworzenia/aktualizacji, lokalne ID auto-inkrementacji</td>
<td>Zasila funkcję Dziennik.</td>
</tr>
<tr>
<td>Lokalna baza SQLite <code>nopanic_medication.db</code></td>
<td>Nazwy leków, dawki, harmonogramy i historia dawek wprowadzone w Monitorze leków</td>
<td>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.</td>
</tr>
<tr>
<td>Pamięć podręczna audio zarządzana przez system operacyjny</td>
<td>Buforowany stan odtwarzania dla dołączonych plików audio</td>
<td>Płynne odtwarzanie ćwiczeń.</td>
</tr>
<tr>
<td>Lokalna pamięć podręczna Firebase Analytics (tylko jeśli udzielono zgody na analitykę)</td>
<td>Pseudonimowy Firebase Instance ID przypisany do aplikacji oraz kolejka zdarzeń czekających na przesłanie</td>
<td>Bufor analityki między przesyłaniami sieciowymi. Czyszczone przy wycofaniu zgody lub odinstalowaniu.</td>
</tr>
</tbody>
</table>
<p>Wszystkie powyższe są usuwane przy odinstalowaniu Aplikacji lub przy użyciu akcji „Wyczyść dane" / „Odciąż aplikację" Twojego systemu operacyjnego.</p>
<p><strong>Aplikacja nie</strong> gromadzi ani nie przechowuje:</p>
<ul>
<li>Twojego imienia i nazwiska, adresu e-mail, numeru telefonu ani dokładnej lokalizacji — <strong>z wyjątkiem</strong> 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;</li>
<li>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);</li>
<li>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;</li>
<li>historii przeglądania ani jakiegokolwiek użycia poza Aplikacją;</li>
<li>tokenów push (Aplikacja nie ma powiadomień push).</li>
</ul>
<p><strong>Dane o lekach</strong> — 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.</p>
<h2>3. Strony trzecie, które mogą przetwarzać dane o Tobie</h2>
<p>Korzystanie z Aplikacji wyzwala minimalny, konkretny zestaw interakcji z stronami trzecimi. Wymieniamy je wyczerpująco.</p>
<h3>3.1 Apple (App Store) i Google (Google Play)</h3>
<ul>
<li><strong>Co przetwarzają:</strong> 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.</li>
<li><strong>Dlaczego:</strong> rozliczenia, zarządzanie subskrypcją, zwroty.</li>
<li><strong>Gdzie:</strong> zgodnie z własnymi politykami prywatności Apple i Google.</li>
<li><strong>Nasza widoczność:</strong> 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.</li>
</ul>
<h3>3.2 RevenueCat</h3>
<ul>
<li><strong>Co przetwarzają:</strong> pseudonimowy <strong>RevenueCat App User ID</strong>, 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.</li>
<li><strong>Dlaczego:</strong> używamy RevenueCat do konfigurowania produktów subskrypcyjnych, sprawdzania, czy aktualnie masz uprawnienie <code>pro</code>, oraz obsługi przepływów zakupu/przywracania, bez budowania własnego zaplecza walidacji paragonów.</li>
<li><strong>Kiedy Aplikacja łączy się z RevenueCat:</strong> 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óć.</li>
<li><strong>Gdzie:</strong> serwery RevenueCat. Infrastruktura RevenueCat znajduje się głównie w Stanach Zjednoczonych; transfery są objęte ich standardowymi warunkami ochrony danych.</li>
</ul>
<h3>3.3 Google Fonts (pobieranie czcionki w czasie wykonania)</h3>
<ul>
<li><strong>Co przetwarzają:</strong> standardowe żądanie HTTP do CDN czcionek Google dla kroju „Quicksand", w tym Twój adres IP i podstawowe metadane żądania.</li>
<li><strong>Dlaczego:</strong> Aplikacja używa pakietu <code>google_fonts</code>, który pobiera plik czcionki przy pierwszym użyciu. Po pobraniu jest on buforowany lokalnie przez pakiet.</li>
<li><strong>Uwaga:</strong> 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.</li>
</ul>
<h3>3.4 Firebase Analytics (tylko za zgodą)</h3>
<ul>
<li><strong>Co to jest:</strong> SDK Firebase Analytics Google (<code>firebase_core</code> + <code>firebase_analytics</code>), 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.</li>
<li><strong>Model zgody:</strong> <strong>domyślnie wyłączone.</strong> 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 <code>setAnalyticsCollectionEnabled(true)</code>. Wycofanie zgody natychmiast wywołuje <code>setAnalyticsCollectionEnabled(false)</code> i tłumi wszystkie wywołania zdarzeń i właściwości użytkownika w procesie.</li>
<li><strong>App Tracking Transparency (tylko iOS):</strong> gdy klikniesz „Zgadzam się" na ekranie Zgody na analitykę w iOS, Aplikacja wywołuje API ATT firmy Apple (za pomocą pakietu <code>app_tracking_transparency</code>), 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 (<code>authorized</code> / <code>denied</code> / <code>restricted</code> / <code>not_determined</code> / <code>not_supported</code>) jako parametr <code>att_status</code> przy zdarzeniu <code>analytics_consent_set</code>. Możesz zmienić wybór śledzenia w dowolnej chwili w Ustawieniach iOS → Prywatność i bezpieczeństwo → Śledzenie.</li>
<li><strong>Co jest zbierane (tylko gdy włączone):</strong>
<ul>
<li>Wyświetlenia ekranów (za pośrednictwem <code>FirebaseAnalyticsObserver</code> Firebase podłączonego do GoRouter).</li>
<li>Zdarzenia produktowe, które jawnie rejestrujemy — np. <code>emergency_tapped</code>, <code>panic_flow_started</code> / <code>panic_flow_tip_viewed</code> / <code>panic_flow_completed</code> / <code>panic_flow_exited</code>, <code>exercise_opened</code> / <code>exercise_session_started</code> / <code>exercise_session_completed</code>, <code>games_opened</code> / <code>game_started</code> / <code>game_completed</code> / <code>game_exited</code>, <code>journal_entry_saved</code> (z <strong>pogrupowaną</strong> liczbą słów typu <code>1-25</code>, nigdy surową liczbą ani tekstem), <code>affirmation_favorited</code>, <code>paywall_shown</code> / <code>paywall_subscribe_tapped</code> / <code>purchase</code> / <code>restore_completed</code>, <code>settings_opened</code>, <code>legal_opened</code>, <code>support_opened</code>, <code>language_changed</code>, <code>onboarding_*</code>, <code>analytics_consent_shown</code> / <code>analytics_consent_set</code>. Pełna lista znajduje się w <code>lib/core/services/analytics_event.dart</code>.</li>
<li>Parametry zdarzeń ograniczone do metadanych nieidentyfikujących: ID scenariuszy, indeksy wskazówek, ID presetów, nazwy ćwiczeń, nazwy gier (np. <code>snake</code>, <code>tetris</code>, <code>bubble_pop</code>, <code>mandala</code>, <code>memory_pairs</code>), 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 (<code>att_status</code>: <code>authorized</code> / <code>denied</code> / <code>restricted</code> / <code>not_determined</code> / <code>not_supported</code>).</li>
<li>Właściwości użytkownika: <code>has_pro</code> (true / false — czy aktualnie masz uprawnienie Pro), <code>app_language</code> (kod języka interfejsu), <code>onboarding_completed</code> (true / false).</li>
<li>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.</li>
</ul>
</li>
<li><strong>Co nigdy nie jest wysyłane:</strong> 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.</li>
<li><strong>Gdzie:</strong> serwery Firebase Google (Stany Zjednoczone i inne regiony Google), zgodnie z polityką prywatności Google i warunkami przetwarzania danych Firebase.</li>
<li><strong>Retencja:</strong> 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.</li>
<li><strong>Jak wyłączyć:</strong> Ustawienia → Prywatność → przełącznik Analityka. Spowoduje to zmianę <code>analytics_consent</code> na <code>false</code>, wywołanie <code>setAnalyticsCollectionEnabled(false)</code> i SDK przestaje zbierać dane na tym urządzeniu.</li>
</ul>
<h3>3.5 Facebook App Events (tylko za zgodą)</h3>
<ul>
<li><strong>Co to jest:</strong> SDK Facebook App Events firmy Meta Platforms (<code>facebook_app_events</code>), 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.</li>
<li><strong>Model zgody:</strong> <strong>domyślnie wyłączone.</strong> SDK jest inicjalizowane z wyłączonym automatycznym logowaniem zdarzeń oraz wyłączonym zbieraniem identyfikatora reklamowego (<code>FacebookAutoLogAppEventsEnabled = false</code>, <code>FacebookAdvertiserIDCollectionEnabled = false</code> w <code>Info.plist</code> oraz odpowiadające im flagi <code>meta-data</code> w <code>AndroidManifest.xml</code>). 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łujemy <code>setAutoLogAppEventsEnabled(true)</code>. Wycofanie zgody wywołuje <code>setAutoLogAppEventsEnabled(false)</code> i tłumi wszystkie wywołania zdarzeń w procesie.</li>
<li><strong>App Tracking Transparency (tylko iOS):</strong> nawet przy udzielonej zgodzie w aplikacji, Facebook App Events pozostaje cichy, dopóki wynik ATT firmy Apple nie wynosi <code>authorized</code>. Jeśli klikniesz „Poproś aplikację, aby nie śledziła" lub miałeś śledzenie wyłączone globalnie, Aplikacja wywołuje <code>setAdvertiserTracking(enabled: false)</code> 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.</li>
<li><strong>Co jest wysyłane (tylko gdy włączone):</strong> te same nazwy zdarzeń i nieidentyfikujące parametry opisane w §3.4, odwzorowane do Meta — np. <code>emergency_tapped</code>, <code>panic_flow_started</code> / <code>panic_flow_completed</code>, <code>exercise_session_started</code> / <code>exercise_session_completed</code>, <code>paywall_subscribe_tapped</code>, <code>purchase</code>, <code>restore_completed</code>, <code>language_changed</code>, <code>analytics_consent_set</code>. Zakupy dodatkowo zawierają ID produktu, kwotę i walutę w standardowym schemacie zakupu Meta.</li>
<li><strong>Co nigdy nie jest wysyłane:</strong> 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 <code>setUserData</code> ani <code>setUserID</code> na SDK, więc Meta nigdy nie otrzymuje od nas zhaszowanego e-maila, telefonu ani identyfikatora klienta.</li>
<li><strong>Gdzie:</strong> serwery Meta Platforms, Inc. (głównie Stany Zjednoczone i Irlandia), zgodnie z polityką prywatności Meta i warunkami przetwarzania danych.</li>
<li><strong>Retencja:</strong> zgodnie z domyślną polityką retencji zdarzeń aplikacji firmy Meta (patrz polityka prywatności Meta). Wycofanie zgody lub odinstalowanie zatrzymuje dalsze zbieranie.</li>
<li><strong>Jak wyłączyć:</strong> Ustawienia → Prywatność → przełącznik Analityka. Spowoduje to zmianę <code>analytics_consent</code> na <code>false</code>, wywołanie <code>setAutoLogAppEventsEnabled(false)</code> na SDK Facebooka i SDK przestaje wysyłać zdarzenia z tego urządzenia.</li>
</ul>
<h3>3.6 Supabase (zaplecze Katalogu lekarzy)</h3>
<ul>
<li><strong>Co to jest:</strong> <a href="https://supabase.com">Supabase</a> to hostowana baza danych Postgres oraz usługa przechowywania plików (Storage), obsługiwana przez <strong>Supabase, Inc.</strong> w imieniu Wydawcy. Zasila ona opcjonalny <strong>Katalog lekarzy</strong> 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.</li>
<li><strong>Gdy przeglądasz katalog (anonimowo):</strong> 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 <strong>żadnego konta ani żadnych danych osobowych o Tobie</strong>. Przeglądanie pozostaje anonimowe.</li>
<li><strong>Gdy zgłaszasz siebie jako specjalistę (całkowicie opcjonalnie, z Twojej inicjatywy):</strong> za pomocą przycisku „?" → formularza „Dodaj siebie jako lekarza" informacje, które <strong>wpisujesz</strong>, są wysyłane do Supabase i przechowywane, aby po ręcznym zatwierdzeniu mogły być wyświetlane w katalogu <strong>publicznie</strong>. Pola to: imię i nazwisko, specjalizacja(e), lata doświadczenia, opis usług, kraj i miasto (lub flaga „online"), <strong>opcjonalny</strong> kontaktowy numer telefonu, cena za konsultację oraz jej waluta, czas trwania konsultacji (w minutach), <strong>opcjonalne</strong> godziny przyjęć, opcjonalne kontakty Viber / Telegram / WhatsApp / Instagram / Threads / TikTok oraz <strong>opcjonalne</strong> zdjęcie profilowe przesyłane do zasobnika Supabase Storage (<code>doctor-photos</code>), a także <strong>wymagany</strong> obraz certyfikatu kwalifikacji przesyłany do oddzielnego zasobnika Supabase Storage (<code>doctor-certificates</code>). Ponieważ celem katalogu jest publiczna lista, te informacje stają się publicznie widoczne po zatwierdzeniu — <strong>nie zgłaszaj niczego, czego nie chcesz pokazywać publicznie.</strong></li>
<li><strong>Zatwierdzanie i usuwanie:</strong> zgłoszenia są przechowywane jako niezatwierdzone (<code>approved = false</code>) 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 <strong><a href="mailto:denysdubov88@gmail.com">denysdubov88@gmail.com</a></strong> — Wydawca usuwa wówczas rekord oraz wszelkie przesłane zdjęcie lub certyfikat.</li>
<li><strong>Gdzie:</strong> infrastruktura chmurowa Supabase (region wybrany dla projektu). Wszelkie transfery międzynarodowe są objęte umową powierzenia przetwarzania danych (DPA) Supabase oraz Standardowymi Klauzulami Umownymi.</li>
</ul>
<h3>3.7 Usługi, które <strong>nie są uruchamiane</strong></h3>
<p>Dla przejrzystości — Aplikacja <strong>nie</strong> zawiera:</p>
<ul>
<li>Amplitude, Mixpanel, PostHog ani żadnego innego SDK analityki poza Firebase Analytics opisanym w §3.4 i Facebook App Events opisanym w §3.5;</li>
<li>Sentry, Crashlytics, Bugsnag ani żadnego innego SDK raportowania błędów;</li>
<li>SDK reklamowych;</li>
<li>SDK logowania społecznościowego (SDK Facebook App Events opisany w §3.5 <strong>nie</strong> obejmuje Facebook Login ani żadnych funkcji social graph — tylko podzbiór dotyczący zdarzeń aplikacji / pomiarów);</li>
<li>SDK TikToka, AppsFlyer, Adjust, Branch ani innych SDK atrybucji;</li>
<li>usług powiadomień push (komunikaty FCM/APNs nie są zintegrowane, mimo że Firebase Core jest obecny).</li>
</ul>
<h2>4. Uprawnienia żądane przez Aplikację</h2>
<p>Aplikacja <strong>nie</strong> żąda mikrofonu, lokalizacji, kontaktów, kalendarza ani Bluetooth. W iOS Aplikacja żąda <strong>dostępu do biblioteki zdjęć</strong> (<code>NSPhotoLibraryUsageDescription</code>) — <strong>tylko</strong> 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 <strong>dostępu do kamery</strong> (<code>NSCameraUsageDescription</code>) — <strong>tylko</strong> 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 — <strong>tylko</strong> 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.</p>
<p>Aplikacja odtwarza dołączone audio za pomocą standardowych API systemu operacyjnego. Aby umożliwić odtwarzanie w tle dla ćwiczenia <strong>Sen</strong> — 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 <code>WAKE_LOCK</code>, <code>FOREGROUND_SERVICE</code> i <code>FOREGROUND_SERVICE_MEDIA_PLAYBACK</code> oraz usługę pierwszoplanową odtwarzania mediów (dostarczaną przez pakiet <code>audio_service</code>); w iOS wartość <code>audio</code> w tablicy <code>UIBackgroundModes</code> w <code>Info.plist</code>. Ż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.</p>
<h2>5. Dzieci</h2>
<p>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.</p>
<h2>6. Twoje prawa (RODO, UA, UK GDPR, CCPA)</h2>
<p>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:</p>
<ul>
<li><strong>Dostęp / przenoszenie:</strong> 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.</li>
<li><strong>Usunięcie:</strong> 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 <strong><a href="mailto:denysdubov88@gmail.com">denysdubov88@gmail.com</a></strong> (patrz też Załącznik B).</li>
<li><strong>Dane subskrypcyjne:</strong> 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.</li>
<li><strong>Sprzeciw / ograniczenie / skarga:</strong> 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.</li>
</ul>
<p>Aby skorzystać z dowolnego prawa, napisz na <strong><a href="mailto:denysdubov88@gmail.com">denysdubov88@gmail.com</a></strong>.</p>
<h2>7. Podstawa prawna (UE/EOG, Wielka Brytania, Szwajcaria)</h2>
<p>Tam, gdzie ma zastosowanie RODO lub równoważne prawo, podstawy prawne minimalnego przetwarzania opisanego powyżej to:</p>
<ul>
<li><strong>Umowa</strong> (art. 6 ust. 1 lit. b RODO) — dostarczanie Aplikacji i, w stosownych przypadkach, przetwarzanie Twojej subskrypcji.</li>
<li><strong>Uzasadniony interes</strong> (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.</li>
<li><strong>Zgoda</strong> (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.</li>
</ul>
<h2>8. Transfery międzynarodowe</h2>
<p>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.</p>
<h2>9. Retencja</h2>
<ul>
<li>Dane na urządzeniu: przechowywane do czasu ich usunięcia lub odinstalowania Aplikacji.</li>
<li>RevenueCat: przechowywane zgodnie z polityką retencji RevenueCat dla danych subskrypcyjnych.</li>
<li>Apple / Google: przechowywane zgodnie z ich politykami.</li>
<li>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).</li>
<li>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).</li>
<li>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.</li>
<li>Korespondencja wsparcia: jeśli napiszesz do nas na <a href="mailto:denysdubov88@gmail.com">denysdubov88@gmail.com</a>, przechowujemy wątek e-mail do 24 miesięcy, a następnie go usuwamy.</li>
</ul>
<h2>10. Bezpieczeństwo</h2>
<p>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.</p>
<h2>11. Zmiany niniejszej Polityki</h2>
<p>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.</p>
<h2>12. Kontakt</h2>
<p>Pytania, wnioski lub skargi dotyczące tej Polityki: <strong><a href="mailto:denysdubov88@gmail.com">denysdubov88@gmail.com</a></strong>.</p>
<hr>
<h2>Załącznik A — Inwentaryzacja techniczna (dla kompletności)</h2>
<p>Ta sekcja odzwierciedla to, co programista lub audytor zobaczyłby w kodzie, tak aby nic w Aplikacji nie pozostało nieujawnione.</p>
<ul>
<li>Platforma: Flutter (Dart <code>^3.11.3</code>), dystrybuowana globalnie w Apple App Store i Google Play; nazwa pakietu / identyfikator bundle <code>app.nopanic</code>.</li>
<li>Pakiety zewnętrzne, które mogą dotykać sieci lub pamięci systemu: <code>purchases_flutter</code> (RevenueCat), <code>firebase_core</code> + <code>firebase_analytics</code> (Firebase Analytics — zależne od zgody opt-in), <code>facebook_app_events</code> (Meta Facebook App Events — zależne od zgody opt-in oraz, w iOS, od tego, że ATT ma status <code>authorized</code>, jak opisano w §3.5), <code>app_tracking_transparency</code> (tylko iOS — pokazuje systemowy monit ATT, gdy analityka jest włączona, jak opisano w §3.4 i §3.5), <code>google_fonts</code> (pobieranie czcionki w czasie wykonania), <code>supabase_flutter</code> (klient Supabase — wywołania sieciowe do zaplecza Katalogu lekarzy, jak opisano w §3.6), <code>image_picker</code> (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), <code>flutter_image_compress</code> (kompresja przesyłanego zdjęcia i obrazu certyfikatu po stronie klienta przed wysłaniem), <code>country_state_city</code> (wbudowana <strong>offline</strong> lista krajów/miast dla filtra Katalogu lekarzy — bez wywołań sieciowych), <code>just_audio</code> + <code>audio_service</code> + <code>audio_session</code> (lokalne odtwarzanie audio, w tym odtwarzanie w tle oraz sterowanie na ekranie blokady / w Centrum sterowania / w powiadomieniach dla ćwiczenia Sen przez niestandardowy <code>AudioHandler</code>; inne ćwiczenia używają tylko zwykłego <code>just_audio</code>), <code>shared_preferences</code> (lokalna pamięć klucz-wartość, w tym flaga <code>analytics_consent</code>), <code>sqflite</code> (lokalne SQLite), <code>url_launcher</code> (otwiera zewnętrzne URL w przeglądarce systemowej, gdy klikniesz Warunki, Prywatność lub Wsparcie), <code>package_info_plus</code> (odczytuje lokalną wersję/numer kompilacji aplikacji).</li>
<li>Zewnętrzne URL otwierane (tylko gdy je dotkniesz): URL Warunków, URL Prywatności oraz link <code>mailto:</code> e-maila wsparcia.</li>
<li>Klucze API: publiczny klucz SDK RevenueCat jest wkompilowany do builda przez <code>--dart-define</code>. Konfiguracja Firebase (<code>GoogleService-Info.plist</code> / <code>google-services.json</code>) jest dołączona w czasie kompilacji. Te klucze identyfikują aplikację, nie Ciebie.</li>
<li><strong>Zaplecze Supabase</strong> (hostowana baza danych Postgres oraz przechowywanie plików Storage), obsługiwane przez <strong>Supabase, Inc.</strong> 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 <code>submit_doctor</code> (zawsze zapisywane z <code>approved = false</code> do czasu ręcznego zatwierdzenia), przechowuje opcjonalne zdjęcia profilowe w zasobniku Storage <code>doctor-photos</code> oraz przechowuje wymagany obraz certyfikatu kwalifikacji w zasobniku Storage <code>doctor-certificates</code>. Ż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.</li>
</ul>
<h2>Załącznik B — Podsumowanie usuwania danych (dla recenzji sklepu)</h2>
<p>Jeśli recenzent sklepu zapyta „jak użytkownik usuwa swoje dane?":</p>
<ol>
<li>Wewnątrz Aplikacji: otwórz <strong>Dziennik</strong>, usuwaj wpisy pojedynczo. W <strong>Monitorze leków</strong> usuwaj leki i wpisy historii dawek pojedynczo.</li>
<li>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ę <code>analytics_consent</code> i Firebase Instance ID.</li>
<li>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 <strong><a href="mailto:denysdubov88@gmail.com">denysdubov88@gmail.com</a></strong>, a zainicjujemy wniosek o usunięcie wobec projektu Firebase oraz zbioru danych zdarzeń aplikacji w Meta.</li>
<li>Aby usunąć zgłoszenie, które złożyłeś w Katalogu lekarzy, napisz na <strong><a href="mailto:denysdubov88@gmail.com">denysdubov88@gmail.com</a></strong>, podając zgłoszone imię i nazwisko; Wydawca usunie rekord oraz wszelkie przesłane zdjęcie lub certyfikat z zaplecza Supabase.</li>
<li>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 <strong><a href="mailto:denysdubov88@gmail.com">denysdubov88@gmail.com</a></strong>, aby uzyskać pomoc.</li>
</ol>
<p><a href="./index.pl.html">← Strona główna</a></p>
</article>
</main>
<footer class="site-footer">
<div class="container site-footer__inner">
<p>© 2026 No Panic Labs</p>
<nav class="site-footer__links" aria-label="Informacje prawne i kontakt">
<a href="./index.pl.html">Strona główna</a>
<a href="./privacy-policy.pl.html">Polityka prywatności</a>
<a href="./terms-of-use.pl.html">Warunki użytkowania</a>
<a href="mailto:denysdubov88@gmail.com">Kontakt</a>
</nav>
<nav class="site-header__lang" aria-label="Język">
<a href="./privacy-policy.html" hreflang="en">EN</a>
<span aria-hidden="true">|</span>
<a href="./privacy-policy.uk.html" hreflang="uk">UK</a>
<span aria-hidden="true">|</span>
<a href="./privacy-policy.de.html" hreflang="de">DE</a>
<span aria-hidden="true">|</span>
<a href="./privacy-policy.es.html" hreflang="es">ES</a>
<span aria-hidden="true">|</span>
<a href="./privacy-policy.fr.html" hreflang="fr">FR</a>
<span aria-hidden="true">|</span>
<span class="is-active" aria-current="true">PL</span>
<span aria-hidden="true">|</span>
<a href="./privacy-policy.pt-br.html" hreflang="pt-BR">PT</a>
</nav>
</div>
</footer>
</body>
</html>