Wersja 5.21 z dnia 11.11.2026 (zastępuje: Wersja 5.20 · Obowiązuje od: 08.11.2026)
Dla osób rozpoczynających rejestrację od 12 listopada 2026 ta wersja Polityki opisuje przetwarzanie danych od rozpoczęcia rejestracji. Dla dotychczasowych kont dokument obowiązuje od 30 listopada 2026.
Administrator: MasterMind Agata Jasińska, Al. Dwudziestolatków 4a/93, 02-157 Warszawa.
Kontakt ws. prywatności i RODO: rodo@agata-mastermind.com
Administrator określa cele i sposoby przetwarzania danych osobowych w Aplikacji MasterMind Planner. Obsługę techniczną (infrastruktura IT, baza danych, bezpieczeństwo) zapewnia podmiot przetwarzający na podstawie umowy powierzenia (Art. 28 RODO) - patrz sekcja 9.
W przyszłości inni psychologowie korzystający z Aplikacji będą odrębnymi administratorami danych osobowych w zakresie danych swoich zawodników - patrz sekcja 4.
Administrator nie wyznaczył Inspektora Ochrony Danych (IOD) - w obecnej skali działalności obowiązek z Art. 37 ust. 1 RODO nie ma zastosowania. We wszystkich sprawach dotyczących ochrony danych osobowych prosimy o kontakt bezpośrednio z Administratorem pod adresem: rodo@agata-mastermind.com.
…@privaterelay.appleid.com lub …@private.icloud.com; domenę nadaje Apple), który przekazuje wiadomości na Twój prawdziwy adres. Nie wykorzystujemy imienia przekazanego przez Apple do uzupełnienia profilu; nazwę wpisujesz samodzielnie. Apple nie udostępnia zdjęcia profilowego.Przy każdej czynności dotyczącej zgody (akceptacja Polityki i Regulaminu, zgoda na dane o zdrowiu, parowanie z psychologiem, zmiana uprawnień, eksport danych) serwer zapisuje wpis w logu zgód (consentLogs). Wpis zawiera: rodzaj czynności i jej czas (czas serwera), wersję zgody lub dokumentu, Twój adres e-mail i nazwę z konta, adres IP (odczytany przez serwer), dane urządzenia (producent, model, wersja systemu, platforma, wersja przeglądarki systemowej WebView, identyfikator przeglądarki - user-agent), wersję aplikacji i język, a przy parowaniu - identyfikator i nazwę psychologa oraz zakres uprawnień przed i po zmianie.
Gdy Aplikacja pokaże Ci informację o nowej wersji Polityki Prywatności, zapisujemy na Twoim koncie: wersję Polityki, skrót treści pokazanej informacji, język, czas pokazania według Twojego urządzenia, czas odebrania zapisu przez serwer i wersję Aplikacji. Nie zapisujemy adresu IP ani danych urządzenia. Ten zapis nie jest zgodą ani potwierdzeniem przeczytania - wykazuje wyłącznie, że informacja została wyświetlona. Jeśli Aplikacja nie miała połączenia z internetem, zapis trafia na serwer po jego odzyskaniu, więc oba czasy mogą się różnić. Zapis widzisz tylko Ty (w eksporcie danych); nie ma do niego dostępu psycholog.
🎙️ Nagrania głosowe treningu wyobrażeniowego - pliki audio nagrane przez Ciebie są zapisywane tylko w pamięci Twojego telefonu, w miejscu dostępnym wyłącznie dla aplikacji MasterMind (inne aplikacje nie mają do nich dostępu). Nie przesyłamy ich na serwery MasterMind ani nie synchronizujemy między urządzeniami. Od wersji Aplikacji 1.0.81 nagrania są wyłączone z systemowej kopii zapasowej telefonu (na iPhonie: iCloud i kopia na komputerze; na Androidzie: kopia w chmurze i przenoszenie danych na nowy telefon). Dlatego po zmianie lub przywróceniu telefonu nagrania nie zostaną odtworzone z kopii. Kopie zapasowe wykonane wcześniej mogą nadal zawierać nagrania - zarządzasz nimi w ustawieniach kopii zapasowej telefonu. Trening razem z nagraniami możesz samodzielnie wyeksportować do pliku .mmviz i zapisać lub udostępnić w wybranym przez siebie miejscu, także w usłudze chmurowej; o dalszym przechowywaniu takiego pliku decydujesz Ty i zasady tego miejsca. Wylogowanie nagrań nie usuwa. Od wersji Aplikacji 1.0.81 usunięcie konta w Aplikacji usuwa z tego telefonu nagrania treningów tego konta - nagrań innych kont zalogowanych wcześniej na tym telefonie nie rusza (nie obejmuje też plików wyeksportowanych przez Ciebie). Jeśli usunięcie danych z telefonu się nie powiedzie, Aplikacja poinformuje o tym i ponowi je przy kolejnych uruchomieniach - także wtedy, gdy nikt nie jest zalogowany. Gdy usunięcie konta jest potwierdzone, ponawia przy każdym uruchomieniu, aż do skutku. Wyjątek: jeśli w chwili usuwania nie dało się ustalić, które nagrania należą do tego konta (np. bez połączenia z siecią), Aplikacja nie usuwa nagrań, żeby nie skasować nagrań innych kont, i jednorazowo informuje, że możesz je usunąć, odinstalowując Aplikację - tego kroku nie ponawia. Jeśli wyniku usunięcia nie da się potwierdzić (np. odpowiedź serwera nie dotarła, a serwer nie odpowiada), Aplikacja próbuje go ustalić najdłużej przez 60 dni od żądania usunięcia; potem przestaje i nie usuwa tych danych - bez potwierdzenia, że konto usunięto, nie kasujemy ich, bo mogłyby należeć do konta, które nadal istnieje. Usuniesz je wtedy, odinstalowując Aplikację. Jeżeli w tym czasie na telefonie zalogowana jest inna osoba, Aplikacja usuwa tylko dane usuniętego konta (jego nagrania i niezapisane ukończone ćwiczenia), a pozostałe dane jego sesji - dopiero po wylogowaniu tej osoby; nie wyświetla jej też komunikatów o usuniętym koncie. W starszych wersjach Aplikacji usunięcie konta usuwa z telefonu wszystkie nagrania treningów zapisane w Aplikacji (także innych kont logowanych wcześniej na tym telefonie), a nieudanego usunięcia danych z telefonu nie ponawia.
Uwaga techniczna: oficjalna dystrybucja Aplikacji to natywna aplikacja na Androida (Google Play) i na iPhone'a (App Store, system iOS) - nagrania audio są zapisywane wyłącznie w Capacitor Filesystem. Wersja przeglądarkowa (PWA) nie jest oficjalnie wspierana. Jeżeli używasz Aplikacji w przeglądarce, nagrania są dodatkowo zapisywane w lokalnej pamięci przeglądarki (localStorage) - usunięcie konta automatycznie je czyści.
localStoragelocalStoragelocalStoragelocalStorage (kopia robocza) i IndexedDB (trwały zapis kolejki)localStorage (czyszczone przy wylogowaniu)IndexedDB (usuwany po zapisie treningu, przy wylogowaniu i przy usunięciu konta)Możesz udostępnić Aplikacji plik treningu z zegarka lub aplikacji sportowej (formaty GPX, TCX, FIT). Aplikacja odczytuje plik na urządzeniu i zapisuje w dzienniku wyłącznie: datę, godzinę rozpoczęcia, czas trwania, dystans i rodzaj sportu. Trasa GPS, tętno i inne dane z czujników nie są zapisywane - sam plik nie jest wysyłany na serwer. Aplikacja nie odczytuje ani nie zapisuje danych w systemowych magazynach danych o zdrowiu i aktywności: nie korzysta z Health Connect (Android) ani z aplikacji Zdrowie / HealthKit (iPhone) i nie prosi o takie uprawnienia.
Aplikacja nie podejmuje wobec użytkowników decyzji w sposób wyłącznie zautomatyzowany, które wywoływałyby skutki prawne lub w podobny sposób istotnie wpływałyby na użytkownika. Aplikacja nie prowadzi profilowania marketingowego ani nie korzysta z systemów rekomendacyjnych opartych o uczenie maszynowe. Wszelkie analizy danych (wykresy w dzienniku, statystyki) są deterministyczne i służą wyłącznie wyświetleniu Twoich własnych danych.
Aplikacja jest dedykowana psychologii sportowej. Część zbieranych danych może być kwalifikowana jako dane szczególnej kategorii w rozumieniu Art. 9 ust. 1 RODO – w szczególności dane dotyczące zdrowia psychicznego, samopoczucia i przygotowania mentalnego.
Co konkretnie traktujemy jako dane szczególnej kategorii:
moodBefore, moodAfter) i satysfakcji w dzienniku treningowymAplikacja nie wymaga podawania informacji o diagnozach, lekach ani wynikach badań i nie ma przeznaczonych do tego pól. Z plików zegarka nie importujemy tętna, trasy GPS ani innych danych z czujników (sekcja 2.6).
Udzielenie zgody na przetwarzanie danych o zdrowiu samo w sobie nie udostępnia ich psychologowi. Udostępnienie wymaga osobnej decyzji i wybranych uprawnień (sekcja 4).
Podstawa prawna: Art. 9 ust. 2 lit. a RODO – wyraźna zgoda użytkownika udzielona podczas onboardingu (osobne pole: „Wyrażam wyraźną zgodę na przetwarzanie danych dotyczących mojego zdrowia i samopoczucia w zakresie opisanym w Polityce Prywatności."). Bez tej zgody nie powstanie profil zawodnika (patrz sekcja 3, 3.1 i 10.1). Wycofanie tej zgody kończy korzystanie z usługi i odbywa się przez usunięcie konta (Profil → Ustawienia i prywatność → Usuń konto).
Jak chronimy dane dotyczące zdrowia (środki techniczne i organizacyjne, Art. 25 i 32 RODO):
Obecnie jedynym psychologiem korzystającym z Aplikacji jest Administrator - Agata Jasińska. W przyszłości Aplikacja może być udostępniona innym psychologom. Każdy taki psycholog będzie odrębnym administratorem danych osobowych w zakresie danych swoich zawodników.
Psycholog zobowiązany jest do przetwarzania Twoich danych zgodnie z RODO oraz zasadami etyki zawodowej. Szczegóły opisuje Regulamin Psychologa, który psycholog akceptuje przy pierwszym logowaniu.
Przy parowaniu z psychologiem wybierasz 8 niezależnych uprawnień odczytu oraz 2 uprawnienia zapisu. Domyślnie wszystkie są wyłączone - włączasz je świadomie, jedno po drugim.
Każde uprawnienie możesz włączyć lub wyłączyć w dowolnym momencie w Profil → Zarządzaj dostępem. Zmiana działa natychmiast - jest egzekwowana na poziomie bazy danych (Firebase Security Rules).
Psycholog nie może modyfikować ani usuwać Twoich istniejących danych. Może jedynie dodawać nowe przypisania w ramach powyższych dwóch uprawnień i zmieniać własne zalecenia.
Lista zadań, Prywatny notatnik, Bank Energii, listy pakowania, nagrania głosowe, ustawienia aplikacji, historia zmian uprawnień, Twój adres e-mail z innych wpisów (poza podstawowym profilem), logi zgód (consentLogs).
Możesz odłączyć psychologa w dowolnym momencie (Profil → Odłącz). Efekt jest natychmiastowy:
Uwaga: jeśli psycholog zapisał Twoje dane poza Aplikacją (notatki własne, eksport, zrzut ekranu), Aplikacja nie ma nad tymi kopiami żadnej kontroli technicznej. Obowiązują go wówczas zasady RODO u niego jako odrębnego administratora - możesz złożyć u niego wniosek o dostęp lub usunięcie.
W Aplikacji istnieje dodatkowa, oddzielna od użytkowników i psychologów, rola super-administratora systemu. Pełni ją Administrator danych (Agata Jasińska) oraz procesor danych technicznych działający na podstawie umowy powierzenia z Art. 28 RODO - patrz sekcja 9.
Rola super-administratora służy do zarządzania Aplikacją (konta psychologów, konfiguracja, komunikaty). Nie daje w Aplikacji wglądu w Twoje dane treningowe, ankiety, ćwiczenia ani notatki. Jeżeli osoba pełniąca tę rolę jest jednocześnie Twoim psychologiem, jako psycholog widzi wyłącznie to, na co pozwalają Twoje uprawnienia (sekcja 4.1).
Co super-administrator może zrobić w Aplikacji:
Aplikacja nie ma ekranu do przeglądania logów zgód. Gdy jest to konieczne dla rozliczalności (Art. 5 ust. 2 RODO) albo odpowiedzi na wniosek organu nadzorczego (UODO), Administrator może odczytać logi zgód konkretnego użytkownika przez uprzywilejowany dostęp administracyjny do bazy.
Czego rola super-administratora NIE daje w Aplikacji:
privateJournal), zadań, list pakowania ani Banku Energii - reguły bazy danych nie przyznają tej roli odczytu Twoich danychOdrębną sprawą jest uprzywilejowany dostęp techniczny do infrastruktury (konsola Firebase, Admin SDK, kopie zapasowe bazy). Nie podlega on regułom Aplikacji. Administrator i procesor korzystają z niego wyłącznie wtedy, gdy jest to niezbędne i uzasadnione: utrzymanie, bezpieczeństwo, realizacja Twojego wniosku, obowiązek prawny (np. wykazanie zgody wobec UODO, Art. 5 ust. 2 RODO). Dostęp ten jest objęty kontrolą i obowiązkiem poufności (sekcja 3.3).
Dziennik akcji administratora: wybrane czynności administracyjne wykonywane przez super-administratora (kto, kiedy, jaka akcja, na jakim koncie) są zapisywane przez serwer w dzienniku _admin/auditLog. Aplikacja nie może go ani odczytać, ani zmienić - zapis i odczyt są możliwe wyłącznie przez uprzywilejowany dostęp administracyjny. Dziennik służy jako zabezpieczenie przed nadużyciem uprawnień administratora.
.mmviz. Informacje o pozostałych danych (np. konto logowania, diagnostyka logowania, raporty awarii) przekażemy na wniosek wysłany na rodo@agata-mastermind.comMożesz wycofać każdą udzieloną zgodę w dowolnym momencie. Wycofanie zgody na udostępnianie danych psychologowi działa natychmiast. Wycofanie zgody na przetwarzanie danych o zdrowiu odbywa się przez usunięcie konta (sekcja 6):
Każde wycofanie zgody jest zapisywane w logu zgód (consentLogs/{uid}/{eventId}) jako dowód realizacji prawa z Art. 7 ust. 3.
Wycofanie zgody nie wpływa na zgodność z prawem przetwarzania, którego dokonano na podstawie zgody przed jej wycofaniem (Art. 7 ust. 3 zd. 2 RODO).
Wnioski o realizację praw z RODO (dostęp, sprostowanie, usunięcie, ograniczenie, przenoszenie, sprzeciw, wycofanie zgody) rozpatrujemy w terminie miesiąca od otrzymania wniosku. W przypadkach szczególnie skomplikowanych lub przy dużej liczbie wniosków termin ten może zostać przedłużony o kolejne 2 miesiące – w takim wypadku w pierwszym miesiącu poinformujemy Cię o przyczynie opóźnienia.
Wnioski realizowane samoobsługowo w Aplikacji (Profil → Ustawienia i prywatność → Pobierz swoje dane, Profil → Ustawienia i prywatność → Usuń konto, zarządzanie uprawnieniami psychologa) uruchamiasz bezpośrednio w Aplikacji, bez czekania na termin z Art. 12 ust. 3 RODO. Wynik potwierdza komunikat; przy błędzie lub nieznanym wyniku usunięcia konta obowiązuje procedura opisana w sekcji 6.
Brak opłat: realizacja praw jest bezpłatna. Wyjątek z Art. 12 ust. 5 RODO (rozsądna opłata lub odmowa przy żądaniach ewidentnie nieuzasadnionych lub nadmiernych) stosujemy jedynie w skrajnych przypadkach z obowiązkiem udokumentowania powodu.
localStorage na urządzeniuGdy usunięcie konta logowania się nie powiedzie: jeśli po usunięciu Twoich danych nie uda się od razu usunąć konta Firebase Authentication, Aplikacja (od wersji 1.0.81) wyświetla komunikat, że usuwanie nie zostało dokończone; starsze wersje tego komunikatu nie pokazują - usunięcie i tak dokończy serwer, a o jego zakończeniu poinformujemy Cię wiadomością e-mail. Twoje dane są już wtedy usunięte, a zapis nowych danych na to konto pozostaje zablokowany. Serwer codziennie ponawia usunięcie konta logowania, aż się powiedzie; możesz też ponowić usunięcie w Aplikacji. Także wtedy Aplikacja (od wersji 1.0.81) usuwa z tego telefonu dane tego konta - nagrania jego treningów i (na iPhonie oraz na Androidzie od wersji 1.0.82) jego niezapisane ukończone ćwiczenia - bo dane na serwerze są już usunięte. Do tego czasu w technicznej kolejce usunięć pozostaje identyfikator konta - adres e-mail jest z niej usuwany po 30 dniach, tak jak przy zwykłym usunięciu konta. Jeśli usuwanie przerwie błąd techniczny (także przed usunięciem danych), serwer dokończy je automatycznie; zapis nowych danych na konto blokujemy, zanim usuniemy dane. Po dokończeniu usunięcia wyślemy jednorazową wiadomość z potwierdzeniem na adres e-mail Twojego konta; w tym celu zachowujemy ten adres w rekordzie operacji usunięcia do czasu wysłania wiadomości (tabela w 6.1).
Gdy odpowiedź serwera nie dotrze: jeśli Aplikacja nie otrzyma odpowiedzi serwera (np. połączenie zostanie przerwane), od wersji 1.0.81 poinformuje Cię, że wynik nie jest jeszcze znany, i sprawdzi go, gdy połączy się z internetem. Potwierdzenie usunięcia konta możesz też w każdej chwili uzyskać, pisząc na rodo@agata-mastermind.com - odpowiemy na adres e-mail konta. W tym celu korzystamy z zapisu o usunięciu konta w logach zgód (sekcja 6).
| Dane | Jak długo |
|---|---|
| Dane konta i wszystkie dane w Aplikacji | Do usunięcia konta. Nie usuwamy kont z powodu braku aktywności. |
| Skrzynka powiadomień w aplikacji | 30 dni od powiadomienia |
| Diagnostyka nieudanego logowania | 14 dni |
| Zapis pokazania informacji o zmianie Polityki (sekcja 2.3a) | Do usunięcia konta |
| Konta nieukończonej rejestracji (sekcja 10.1) | Rekord logowania i rejestr zaakceptowanych wersji - usuwane w codziennym przebiegu zadania po upływie 7 dni od utworzenia rekordu logowania (sekcja 10.1); aktywowane konto psychologa bez profilu - do dokończenia rejestracji albo usunięcia konta |
| Kody zaproszeń psychologa | Ważne 7 dni; kod niewykorzystany jest usuwany po wygaśnięciu, wykorzystany - 30 dni po użyciu |
| Logi zgód | 5 lat od daty wpisu - także w trakcie korzystania z konta (po tym czasie wpis jest usuwany, nawet jeśli konto nadal istnieje); po usunięciu konta pseudonimizacja po 30 dniach (sekcja 6); wpisy z przerwanej rejestracji po automatycznym usunięciu rekordu logowania - bez pseudonimizacji, 5 lat od daty wpisu (sekcja 10.1) |
| Raporty awarii (Crashlytics) | 90 dni, następnie usuwane z systemów Google (wg dokumentacji Firebase Crashlytics) |
| Kopie zapasowe bazy danych (Google Cloud Storage, Belgia) | Kopie są przeznaczone do usunięcia po 30 dniach, a następnie przez do 7 dni mogą pozostać w technicznym koszu Google, z którego możliwe jest ich odzyskanie. Dane usuniętego konta mogą pozostać we wcześniejszych kopiach do ich wygaśnięcia. Przy odtworzeniu kopii usunięcia kont wykonane po jej dacie stosujemy ponownie, zanim baza zostanie udostępniona. |
| Rejestr usunięć kont (skrót identyfikatora konta i czas usunięcia, bez innych danych) | Wpisy są przeznaczone do usunięcia po 60 dniach, a następnie przez do 7 dni mogą pozostać w technicznym koszu Google. Służą wyłącznie temu, by odtworzenie kopii nie przywróciło usuniętego konta. |
| Zapasowy zapis usunięcia konta w logach serwera (ten sam skrót i czas; powstaje tylko wtedy, gdy nie uda się zapisać wpisu w rejestrze usunięć) | Przeznaczony do usunięcia po 60 dniach, w tym samym celu co rejestr usunięć. |
| Techniczna kolejka usunięć (identyfikator konta i terminy; blokada zapisu nowych danych na usunięte konto) | Ok. 30 dni od żądania usunięcia i do potwierdzenia, że konto logowania zostało usunięte, oraz co najmniej 2 godziny dłużej (czas ważności wcześniej wydanych poświadczeń logowania) - w praktyce ok. 31 dni. Adres e-mail jest z niej usuwany po 30 dniach. |
| Rekord operacji usunięcia konta (identyfikator konta, data żądania, adres e-mail konta, liczba prób, komunikat błędu usługi logowania) | Na czas wykonywania usunięcia - przy udanym usunięciu jest kasowany od razu. Jeśli usunięcie konta logowania się nie powiedzie: do jego dokończenia (serwer ponawia je codziennie) i wysłania Ci wiadomości z potwierdzeniem; następnie rekord, razem z adresem e-mail, jest usuwany automatycznie przy najbliższym dobowym przebiegu po ręcznym odnotowaniu przez administratora wysłania wiadomości. |
| Potwierdzenie usunięcia konta logowania (identyfikator konta i czas) | 60 dni od potwierdzenia, następnie usuwane automatycznie. |
| Skrót kodu zlecenia usunięcia (identyfikator konta, skrót SHA-256 losowego kodu wygenerowanego przez Aplikację na telefonie i czas żądania - osobny wpis dla każdego telefonu, z którego zlecono usunięcie, najwyżej 20) - pozwala Aplikacji na tym telefonie sprawdzić wynik usunięcia, gdy nie można się już zalogować; bez kodu z telefonu nie da się nim sprawdzić stanu żadnego konta | 60 dni od żądania usunięcia, następnie usuwany automatycznie. |
| Zapisy nieudanych usunięć kont z okresu przed wprowadzeniem automatycznego dokańczania usunięć (identyfikator konta, czas, komunikat błędu usługi logowania) oraz sprawy wymagające decyzji administratora (identyfikator konta i znaczniki bez treści) | Rozstrzygane przez administratora w ciągu 30 dni od wykrycia; po rozstrzygnięciu usuwane przy najbliższym dobowym przebiegu. |
| Logi techniczne zadań usuwania kont (identyfikator konta i daty) | 30 dni |
| Korespondencja w sprawie usunięcia konta (adres e-mail i treść wiadomości) w skrzynce administratora | 5 lat od wysłania (dowód wykonania żądania) |
| Logi infrastruktury | Zgodnie z warunkami Google Cloud / Firebase |
Przycisk Profil → Ustawienia i prywatność → Pobierz swoje dane zwraca plik JSON zawierający komplet Twoich danych z bazy. Eksport wykonuje funkcja serwerowa (exportAllData), która zwraca wyłącznie Twoje dane (eksport dla zalogowanego konta). Obejmuje: wszystkie obszary danych zawodnika (34), a jeśli jesteś psychologiem - także dane po stronie psychologa (szablony, notatki, lista klientów, ustawienia) oraz znacznik aktywacji konta psychologa.
Eksport dołącza także Twoje logi zgód (każdy zalogowany użytkownik otrzymuje wyłącznie własne wpisy z consentLogs/{Twój uid} - nigdy cudze) i rejestr zaakceptowanych wersji Regulaminu. Sam eksport jest odnotowywany w logu zgód.
Jeżeli funkcja serwerowa jest chwilowo niedostępna, Aplikacja tworzy plik bezpośrednio z bazy. Taki plik nie zawiera logów zgód ani rejestru wersji Regulaminu, a eksport nie jest wtedy odnotowywany. Pełny plik uzyskasz, ponawiając eksport później albo na wniosek wysłany na rodo@agata-mastermind.com.
Nagrania audio eksportujesz osobno z ekranu treningu wyobrażeniowego - w formacie .mmviz (kroki + audio).
.validate)Administrator powierzył przetwarzanie danych następującym podmiotom, które działają wyłącznie na polecenie Administratora:
Jeśli logujesz się przez Apple, uwierzytelnienie wykonuje usługa „Zaloguj się przez Apple” firmy Apple. Apple przekazuje Aplikacji (przez Firebase Authentication) identyfikator konta oraz adres e-mail lub adres przekaźnikowy (sekcja 2.1). Nie wykorzystujemy imienia przekazanego przez Apple do uzupełnienia profilu; nazwę wpisujesz samodzielnie. Przetwarzanie danych przez Apple w ramach tej usługi i usługi App Attest odbywa się na zasadach Apple: Apple - Zaloguj się przez Apple a prywatność, Polityka prywatności Apple. Wiadomości wysyłane na adres przekaźnikowy przechodzą przez usługę przekazywania poczty Apple. Przy logowaniu przez Apple otrzymujemy: identyfikator Twojego konta Apple nadany przez Apple dla dewelopera Aplikacji (u każdego dewelopera inny), wybrany przez Ciebie adres e-mail albo adres przekaźnikowy oraz wynik uwierzytelnienia (token tożsamości Apple, weryfikowany przez Firebase Authentication). Nie otrzymujemy hasła Twojego Apple ID ani - przy wyborze adresu przekaźnikowego - Twojego prawdziwego adresu e-mail. Przy App Attest Apple poświadcza klucz wygenerowany na urządzeniu (klucz prywatny nie opuszcza urządzenia); Aplikacja przekazuje to poświadczenie do Firebase App Check i otrzymuje token App Check. Według Polityki prywatności Apple danymi osób z Europejskiego Obszaru Gospodarczego administruje Apple Distribution International Limited (Irlandia), a przekazywanie ich przez Apple poza EOG opiera się na standardowych klauzulach umownych.
Główna baza danych (Realtime Database) i funkcje serwerowe działają w regionie europe-west1 (Belgia, EOG). Część usług Google przetwarza dane poza EOG: Firebase Authentication działa w centrach danych w USA, a Firebase Cloud Messaging, Crashlytics i App Check są usługami globalnymi i mogą przetwarzać dane w infrastrukturze Google poza EOG. Dalsze przetwarzanie przez Google LLC w USA odbywa się na podstawie decyzji Komisji Europejskiej stwierdzającej odpowiedni stopień ochrony - EU-U.S. Data Privacy Framework (Google LLC jest certyfikowanym uczestnikiem) oraz standardowych klauzul umownych (SCC) przyjętych przez Komisję Europejską, zawartych w Firebase Data Processing and Security Terms. Kopię zabezpieczeń możesz uzyskać, kontaktując się z Administratorem. Szczegóły: firebase.google.com/support/privacy.
Aplikacja jest przeznaczona wyłącznie dla osób pełnoletnich (ukończone 18 lat). Wymóg ten jest egzekwowany w Aplikacji - przy pierwszym logowaniu musisz potwierdzić ukończenie 18 lat (oświadczenie zapisywane w Twoim profilu wraz z datą i wersją polityki). Bez zaznaczenia tego potwierdzenia konto nie zostanie utworzone.
Aplikacja nie jest skierowana do dzieci ani młodzieży poniżej 18 roku życia. Jeśli dowiemy się, że konto zostało utworzone przez osobę niepełnoletnią mimo oświadczenia, usuniemy konto i dane bez zbędnej zwłoki.
Zgłoszenia od rodziców i opiekunów prawnych: jeżeli podejrzewasz, że Twoje dziecko utworzyło konto w Aplikacji mimo wymogu pełnoletności, prześlij zgłoszenie z adresu e-mail rodzica/opiekuna na: rodo@agata-mastermind.com z tytułem „Konto niepełnoletniego - wniosek o usunięcie". W zgłoszeniu podaj imię i nazwisko dziecka oraz – jeśli znasz – adres e-mail użyty do założenia konta. Zgłoszenie zweryfikujemy w sposób proporcjonalny – co do zasady bez żądania kopii dokumentu tożsamości. Odpowiemy w ciągu miesiąca od otrzymania zgłoszenia (Art. 12 ust. 3 RODO). Po potwierdzeniu zgłoszenia usuniemy konto i dane bez zbędnej zwłoki (Art. 17 RODO); logi zgód w zakresie i na zasadach opisanych w sekcji 6.
Po kliknięciu „Zaloguj się przez Google" lub „Zaloguj się przez Apple" na ekranie startowym Aplikacja korzysta z usługi Firebase Authentication (Google Ireland Limited), która natychmiast tworzy techniczny rekord uwierzytelnienia zawierający Twój adres e-mail (przy Apple - ewentualnie adres przekaźnikowy), identyfikator konta u dostawcy oraz - przy Google - nazwę profilu Google. Ten rekord jest niezbędny do tego, aby Aplikacja mogła kontynuować onboarding (akceptację Polityki, Regulaminu, deklaracji wieku i zgody na Art. 9 RODO).
Jeżeli nie ukończysz onboardingu (nie zaakceptujesz wszystkich wymaganych zgód i nie wybierzesz roli Zawodnika lub Psychologa), w bazie danych Aplikacji (Realtime Database) nie powstaje profil użytkownika. To, co zostaje, zależy od etapu, na którym rejestracja została przerwana:
Jak doprowadzić do usunięcia: dokończ rejestrację i usuń konto w Aplikacji (Profil → Ustawienia i prywatność → Usuń konto; przed dokończeniem rejestracji ten ekran nie jest dostępny) albo wyślij żądanie na rodo@agata-mastermind.com - Administrator usunie konto w ciągu miesiąca (Art. 12 ust. 3 RODO) funkcją serwerową używaną przez „Usuń konto”. W obu przypadkach obowiązuje sekcja 6: znacznik aktywacji jest usuwany, a wpisy w logu zgód są pseudonimizowane po 30 dniach. Obie drogi wymagają, by rekord logowania jeszcze istniał; po jego automatycznym usunięciu (przypadek „po akceptacji dokumentów”, po 7 dniach) wpisy w logu zgód pozostają do upływu 5 lat od daty wpisu.
Rekordy logowania kont nieukończonej rejestracji (z wyjątkiem opisanych wyżej) usuwa codzienne zadanie Cloud Function cleanupOrphanAuthUsers. Funkcja sprawdza, czy dla danego identyfikatora istnieje którykolwiek z następujących wpisów w bazie: users/{uid}/profile, psychologists/{uid}/profile, _admin/admins/{uid}, _admin/superAdmins/{uid}, psychActivation/uid_{uid}. Jeśli żaden nie istnieje, a rekord uwierzytelnienia jest starszy niż 7 dni, jest on bezpowrotnie usuwany z Firebase Authentication. Operacja jest logowana w wewnętrznym audit logu (Cloud Logging, retencja 30 dni) jako dowód rozliczalności (Art. 5 ust. 2 RODO).
Co to oznacza dla Ciebie:
Podstawa prawna przetwarzania rekordu logowania i znacznika aktywacji do dokończenia rejestracji: uzasadniony interes administratora (Art. 6 ust. 1 lit. f RODO) - umożliwienie kontynuacji rozpoczętej rejestracji oraz prowadzenie autentykacji. Logi zgód: Art. 6 ust. 1 lit. c w zw. z Art. 7 ust. 1 RODO (sekcja 2.3). Co i kiedy jest usuwane, zależy od etapu przerwania rejestracji (wyżej) i okresów w tabeli w sekcji 6.1.
Powiadomienia lokalne (wszystkie role): generowane na urządzeniu na podstawie Twoich danych - dziennik treningowy, ankiety, ćwiczenia, zawody, seria dni. Brak transmisji do serwera. Konfiguracja: Profil → Ustawienia i prywatność → Powiadomienia.
Powiadomienia push z serwera (FCM) - oba konta, na Androidzie: aplikacja używa Firebase Cloud Messaging (Google) do dostarczania powiadomień, gdy aplikacja jest zamknięta. Na iPhonie Aplikacja obecnie nie korzysta z powiadomień push z serwera - nie rejestruje tokenu urządzenia; działają powiadomienia lokalne i skrzynka powiadomień w aplikacji. Na iPhonie o zdarzeniach opisanych niżej (np. przypisanie ankiety lub ćwiczenia, zalecenie, zakończenie współpracy, wypełnienie ankiety, zawody klientów) dowiesz się ze skrzynki powiadomień po otwarciu Aplikacji. Opisane niżej zasady FCM dotyczą Androida.
Treść powiadomienia systemowego jest zawsze ogólna: „MasterMind Planner - Masz nowe powiadomienie. Otwórz aplikację, aby zobaczyć szczegóły." Powiadomienie wyświetlane przez system nie zawiera imion, nazw zawodów, tytułów ankiet ani ćwiczeń, treści zaleceń ani nazwy kategorii. Szczegóły widzisz dopiero w skrzynce powiadomień w aplikacji, po zalogowaniu.
Zdarzenia, o których psycholog dostaje powiadomienie:
Zdarzenia, o których zawodnik dostaje powiadomienie:
Limit dzienny: zawodnik otrzymuje maksymalnie 10 powiadomień push dziennie (zabezpieczenie przed spamem ze strony psychologa). Powiadomienia ponad limit są pomijane - w aplikacji widzisz wszystkie elementy normalnie.
Co przetwarzamy w ramach FCM: token urządzenia FCM (identyfikator generowany przez Google Play Services) zapisany pod ścieżką psychologists/{uid}/fcmTokens/ dla psychologa lub users/{uid}/fcmTokens/ dla zawodnika; w kluczu bazy danych token jest zastąpiony skrótem SHA-256. Tokeny zawodnika są nieczytelne dla psychologa (Firebase Security Rules) - używane wyłącznie przez funkcje serwerowe. Oprócz ogólnej treści systemowej powiadomienie niesie tylko dane techniczne potrzebne do otwarcia właściwego ekranu (rodzaj zdarzenia, identyfikatory) oraz skrót identyfikatora odbiorcy, dzięki któremu aplikacja nie pokaże powiadomienia innej osobie zalogowanej na tym samym telefonie.
Podmiot przetwarzający: Google Ireland Limited (Firebase Cloud Messaging) - usługa globalna, przetwarzanie może odbywać się poza EOG (sekcja 9.1).
Retencja tokena: token jest usuwany automatycznie przy wylogowaniu, usunięciu konta lub gdy Google sygnalizuje że jest nieaktywny (Cloud Function auto-cleanup).
Wyłączenie: możesz odmówić zgody na powiadomienia w okienku systemowym. Na Androidzie możesz później wyłączyć wszystkie powiadomienia Aplikacji albo wybrane kategorie (kanały: Dziennik treningowy, Podsumowanie tygodnia, Cele, Zawody, Powiadomienia, Motywacja, Ogłoszenia) w Ustawieniach systemu → Aplikacje → MasterMind Planner → Powiadomienia. Na iPhonie wyłączysz je w Ustawienia → Powiadomienia → MasterMind Planner; iPhone nie dzieli powiadomień Aplikacji na kategorie. Na obu systemach poszczególne typy powiadomień wyłączysz też w Aplikacji: Profil → Ustawienia i prywatność → Powiadomienia. Brak zgody nie wpływa na pozostałe funkcje Aplikacji, a wpisy w skrzynce powiadomień w Aplikacji powstają niezależnie od tej zgody.
Powiadomienia ogólnoaplikacyjne (broadcast): w wyjątkowych sytuacjach administrator aplikacji może wysłać masowe powiadomienie do wszystkich użytkowników (np. komunikat o planowanej przerwie technicznej, ważna aktualizacja polityki). Broadcasty są limitowane do 1 na godzinę i logowane w wewnętrznym dzienniku z identyfikatorem administratora. Broadcasty ignorują indywidualne preferencje powiadomień typu Ankiety/Ćwiczenia - są zarezerwowane wyłącznie dla krytycznych komunikatów; również one mają ogólną treść systemową. Na Androidzie broadcast przychodzi jako powiadomienie systemowe z ogólną treścią; wyłączysz je, odmawiając zgody na powiadomienia albo wyłączając kanał „Ogłoszenia”. Na iPhonie komunikaty ogólnoaplikacyjne nie są wysyłane jako powiadomienie systemowe - mogą pojawić się w skrzynce powiadomień po otwarciu Aplikacji (ikona dzwonka). Na obu systemach pełna treść broadcastu trafia do Twojej skrzynki w Aplikacji (retencja 30 dni) i tego wpisu nie można wyłączyć.
Bezpieczeństwo wysyłki: każda funkcja serwerowa wysyłająca push weryfikuje, że psycholog jest aktualnie powiązany z zawodnikiem (anti-spoofing).
Skrzynka powiadomień w aplikacji (in-app inbox): aplikacja prowadzi dla Ciebie historię powiadomień (typ, tytuł, treść, czas, status przeczytania), dzięki której wrócisz do nich także po zniknięciu z paska systemowego. Skrzynka jest dostępna pod ikoną dzwonka. Dane przechowywane w bazie Firebase pod ścieżką users/{uid}/notifications/ (zawodnicy) lub psychologists/{uid}/notifications/ (psycholodzy) - czytelne wyłącznie dla Ciebie. Retencja: 30 dni - starsze wpisy są automatycznie usuwane przez codzienne zadanie serwera (cleanupNotifications). Skrzynka jest dołączana do eksportu danych (sekcja 7).
Eksport plików do urządzenia: aplikacja może zapisywać pliki eksportów (Twój JSON danych, plik .mmviz wizualizacji) w publicznym folderze Pobrane/MasterMind/ na Twoim urządzeniu Android. Funkcja wykorzystuje MediaStore API (Android 10+) i NIE wymaga uprawnienia "dostęp do plików". Na iPhonie zapis odbywa się przez systemowy arkusz udostępniania (np. „Zachowaj w Plikach”) - miejsce zapisu wybierasz Ty. Pliki te są wyłącznie Twoje - nie są synchronizowane z serwerem ani z nikim udostępniane (chyba że zrobisz to samodzielnie przez przycisk "Udostępnij"). Możesz je usunąć w dowolnym momencie z aplikacji Pliki.
Istotne zmiany ogłaszamy w Aplikacji z co najmniej 14-dniowym wyprzedzeniem. Po wejściu w życie nowej wersji Aplikacja poprosi Cię o zapoznanie się z nią i jej akceptację przed dalszym korzystaniem. Każda wersja polityki jest wersjonowana, a jej akceptacja zapisywana w logu zgód.
Zmiany w wersji 5.21: usunięcie konta z metodą logowania Apple - konto i dane usuwamy niezależnie od wyniku próby unieważnienia dostępu Apple, a gdy unieważnienie się nie uda, Aplikacja podaje instrukcję ręcznego odłączenia (6, 10.1); adres przekaźnikowy Apple także w domenie @private.icloud.com (2.1); dokładniejszy opis Firebase App Check i App Attest - zabezpieczenie ograniczające nadużycia, a nie gwarancja, oraz dane przekazywane przy tym Apple (2.7, 8, 9.0); pełna lista usług, z którymi łączy się Aplikacja (8); brak korzystania z Health Connect i Zdrowie / HealthKit (2.6); kolejka niezapisanych ukończonych ćwiczeń także na Androidzie od wersji 1.0.82 i możliwość ponowienia albo usunięcia wyniku odrzuconego przez serwer (2.4, 6); prawo do ograniczenia przetwarzania (Art. 18) oddzielone od uprawnień psychologa, prawo dostępu (Art. 15) i do przenoszenia (Art. 20) opisane osobno, a eksport - z rejestrem wersji Regulaminu i ścieżką zapasową bez logów zgód (5, 7, 11); wycofanie zgody z Art. 9 opisane jednym punktem (5.1); doprecyzowano, że wpisy w logu zgód są usuwane po 5 latach od daty także w trakcie korzystania z konta (2.3, 6.1); powiadomienia na iPhonie i na Androidzie opisane osobno (11); zakres roli super-administratora (4.7); kod zaproszenia przy usunięciu konta psychologa - połączenie się nim nie jest możliwe, a rekord kodu jest usuwany po wygaśnięciu (6); nagłówek o ochronie danych o zdrowiu (3.3); zgoda z Art. 9 udzielana przez zaznaczenie pola (3); pisownia „e-mail”, nazwy funkcji jak w Aplikacji i formy neutralne. „Psycholog” zamiast „psycholog sportu” (2.1, 4). Opisano, co zostaje po przerwanej rejestracji i jak doprowadzić do usunięcia tych danych (10.1, 6.1), oraz że usuwanie konta i inne wnioski uruchamiasz w Aplikacji, a przy błędzie lub nieznanym wyniku usunięcia obowiązuje procedura z sekcji 6 (5.2). Nowy jest zapis pokazania informacji o zmianie Polityki (2.3a, 3, 5, 6.1); poza nim zmiany opisują stan Aplikacji - bez nowych kategorii danych, celów ani odbiorców.
Wcześniejsze wersje Polityki Prywatności udostępniamy na prośbę: rodo@agata-mastermind.com.
Administrator danych: MasterMind Agata Jasińska, Al. Dwudziestolatków 4a/93, 02-157 Warszawa
E-mail w sprawach prywatności / wnioski RODO: rodo@agata-mastermind.com
Zgłoszenia błędów technicznych: focusarena.dev@gmail.com
Organ nadzorczy: Prezes Urzędu Ochrony Danych Osobowych, ul. Stanisława Moniuszki 1A, 00-014 Warszawa - uodo.gov.pl
Version 5.21 of 11 November 2026 (replaces: Version 5.20 · Effective: 8 November 2026)
For people who start registering on or after 12 November 2026, this version of the Policy describes data processing from the start of registration. For existing accounts, it applies from 30 November 2026.
Controller: MasterMind Agata Jasińska, Al. Dwudziestolatków 4a/93, 02-157 Warsaw, Poland.
Privacy and GDPR contact: rodo@agata-mastermind.com
The Controller determines the purposes and means of processing personal data in the MasterMind Planner App. Technical operations (IT infrastructure, database, security) are provided by a processor under a data processing agreement (Art. 28 GDPR) - see section 9.
In the future, other psychologists using the App will be separate data controllers for the data of their athletes - see section 4.
The Controller has not appointed a Data Protection Officer (DPO) - at the current scale of operations the obligation under Art. 37(1) GDPR does not apply. For all data protection matters, please contact the Controller directly at: rodo@agata-mastermind.com.
…@privaterelay.appleid.com or …@private.icloud.com; the domain is assigned by Apple) that forwards messages to your real address. We do not use the name provided by Apple to fill in your profile; you enter your name yourself. Apple does not provide a profile photo.For every consent-related action (accepting the Policy and Terms, health data consent, pairing with a psychologist, permission changes, data export) the server writes an entry to the consent log (consentLogs). The entry contains: the action and its time (server time), the consent or document version, your email and account name, your IP address (read by the server), device data (manufacturer, model, OS version, platform, system WebView version, browser identifier - user-agent), app version and language, and - for pairing - the psychologist's identifier and name and the permission scope before and after the change.
When the App shows you a notice about a new version of the Privacy Policy, we record on your account: the Policy version, a hash of the content of the notice shown, the language, the time it was shown according to your device, the time the server received the record, and the App version. We do not record your IP address or device data. This record is not consent or confirmation of reading - it only shows that the notice was displayed. If the App had no internet connection, the record reaches the server once the connection is restored, so the two times may differ. Only you can see the record (in the data export); the psychologist has no access to it.
🎙️ Visualization voice recordings - audio files you record are saved only in your phone's storage, in an area accessible only to the MasterMind app (other apps cannot access them). We do not upload them to MasterMind servers or sync them between devices. From App version 1.0.81, recordings are excluded from the phone’s system backup (on iPhone: iCloud and computer backups; on Android: cloud backup and transfer to a new phone). This means they will not be restored from a backup after you change or restore your phone. Backups made earlier may still contain recordings - you manage them in your phone’s backup settings. You can export a session together with its recordings to an .mmviz file yourself and save or share it wherever you choose, including a cloud service; how that file is kept is then up to you and the rules of that place. Logging out does not remove recordings. From App version 1.0.81, deleting your account in the App removes this account’s session recordings from this phone - recordings of other accounts previously signed in on this phone are not touched (nor are files you exported yourself). If removing data from the phone fails, the App tells you and retries on subsequent launches - also when no one is signed in. Once the account deletion is confirmed, it retries on every launch until it succeeds. Exception: if at the time of deletion it was not possible to determine which recordings belong to that account (e.g. without a network connection), the App does not delete recordings, so as not to erase recordings of other accounts, and tells you once that you can remove them by uninstalling the App - it does not retry this step. If the result of the deletion cannot be confirmed (e.g. the server's response did not arrive and the server cannot be reached), the App tries to determine it for up to 60 days from the deletion request; after that it stops and does not remove that data - without confirmation that the account was deleted we do not erase it, because it could belong to an account that still exists. In that case you can remove it by uninstalling the App. If another person is signed in on the phone during that time, the App removes only the deleted account’s own data (its recordings and unsaved completed exercises), and the remaining data of its session only after that person signs out; it also does not show them messages about the deleted account. In earlier App versions, deleting your account removes all session recordings saved in the App from the phone (including those of other accounts previously signed in on this phone), and a failed removal of data from the phone is not retried.
Technical note: the official distribution of the App is a native app for Android (Google Play) and for iPhone (App Store, iOS) - audio recordings are stored only in Capacitor Filesystem. The browser version (PWA) is not officially supported. If you use the App in a browser, recordings are additionally stored in the browser's local storage (localStorage) - account deletion clears them automatically.
localStoragelocalStoragelocalStoragelocalStorage (working copy) and IndexedDB (durable copy of the queue)localStorage (cleared on logout)IndexedDB (removed when the visualization is saved, on logout and on account deletion)You can share a workout file from a watch or sports app with the App (GPX, TCX, FIT formats). The App reads the file on your device and stores in the diary only: date, start time, duration, distance and sport type. GPS route, heart rate and other sensor data are not stored - the file itself is not sent to a server. The App does not read or write data in system health and fitness stores: it does not use Health Connect (Android) or Apple Health / HealthKit (iPhone) and does not request such permissions.
The App does not make decisions about users based solely on automated processing that produce legal effects or similarly significantly affect the user. The App does not perform marketing profiling and does not use machine-learning recommendation systems. All data analyses (diary charts, statistics) are deterministic and only display your own data.
The App is dedicated to sport psychology. Some of the data collected may qualify as special-category data within the meaning of Art. 9(1) GDPR – in particular data concerning mental health, well-being and mental preparation.
What exactly we treat as special-category data:
moodBefore, moodAfter) and satisfaction in the training diaryThe App does not require you to provide information about diagnoses, medication or test results and has no fields intended for it. We do not import heart rate, GPS route or other sensor data from watch files (section 2.6).
Giving consent to the processing of health data does not by itself share that data with a psychologist. Sharing requires a separate decision and the permissions you choose (section 4).
Legal basis: Art. 9(2)(a) GDPR – the user's explicit consent given during onboarding (a separate box: "I give explicit consent to the processing of data concerning my health and wellbeing, as described in the Privacy Policy."). Without this consent no athlete profile is created (see sections 3, 3.1 and 10.1). Withdrawing this consent ends your use of the service and is done by deleting your account (Profile → Settings & privacy → Delete account).
How we protect health data (technical and organisational measures, Art. 25 and 32 GDPR):
Currently the only psychologist using the App is the Controller - Agata Jasińska. In the future the App may be made available to other psychologists. Each such psychologist will be a separate data controller for the data of their athletes.
The psychologist must process your data in accordance with the GDPR and professional ethics. Details are set out in the Psychologist Terms, which the psychologist accepts at first login.
When pairing with a psychologist you choose 8 independent read permissions and 2 write permissions. All are disabled by default - you enable them deliberately, one by one.
You can enable or disable any permission at any time in Profile → Manage access. The change takes effect immediately - it is enforced at database level (Firebase Security Rules).
The psychologist cannot modify or delete your existing data. They can only add new assignments under the two permissions above and change their own recommendations.
Task list, Private Notebook, Energy Bank, packing lists, voice recordings, app settings, permission change history, your email address from other entries (other than the basic profile), consent logs (consentLogs).
You can disconnect the psychologist at any time (Profile → Disconnect). The effect is immediate:
Note: if the psychologist saved your data outside the App (own notes, export, screenshot), the App has no technical control over those copies. The psychologist is then bound by the GDPR as a separate controller - you can submit an access or deletion request to them.
The App has an additional role, separate from users and psychologists: the system super-administrator. It is held by the Controller (Agata Jasińska) and by the technical data processor acting under a data processing agreement under Art. 28 GDPR - see section 9.
The super-administrator role is for managing the App (psychologist accounts, configuration, announcements). It does not give access in the App to your training data, surveys, exercises or notes. If the person holding this role is also your psychologist, as a psychologist they see only what your permissions allow (section 4.1).
What the super-administrator can do in the App:
The App has no screen for browsing consent logs. When necessary for accountability (Art. 5(2) GDPR) or to respond to a supervisory authority request (UODO), the Controller may read a specific user's consent logs through privileged administrative database access.
What the super-administrator role does NOT give in the App:
privateJournal), tasks, packing lists or Energy Bank - the database rules grant this role no read access to your dataPrivileged technical access to the infrastructure (Firebase console, Admin SDK, database backups) is a separate matter. It is not subject to the App's rules. The Controller and the processor use it only when necessary and justified (maintenance, security, handling your request, a legal obligation such as demonstrating consent to the supervisory authority, Art. 5(2) GDPR), under access control and confidentiality (section 3.3).
Administrator action log: selected administrative actions performed by a super-administrator (who, when, what action, on which account) are written by the server to the _admin/auditLog log. The App can neither read nor modify it - writing and reading are possible only through privileged administrative access. The log is a safeguard against abuse of administrator privileges.
.mmviz format. Information about other data (e.g. the login account, login diagnostics, crash reports) is available on request at rodo@agata-mastermind.comYou can withdraw any consent you have given at any time. Withdrawing consent to share data with the psychologist takes effect immediately. Withdrawing consent to the processing of health data is done by deleting your account (section 6):
Every withdrawal of consent is recorded in the consent log (consentLogs/{uid}/{eventId}) as evidence of exercising the right under Art. 7(3).
Withdrawal of consent does not affect the lawfulness of processing based on consent before its withdrawal (Art. 7(3), second sentence, GDPR).
We handle GDPR requests (access, rectification, erasure, restriction, portability, objection, withdrawal of consent) within one month of receipt. In particularly complex cases or where there are many requests, this period may be extended by a further 2 months – in that case we will inform you of the reason for the delay within the first month.
Requests carried out self-service in the App (Profile → Settings & privacy → Download your data, Profile → Settings & privacy → Delete account, managing psychologist permissions) are started directly in the App, without waiting for the Art. 12(3) deadline. The result is confirmed by a message; if account deletion fails or its result is unknown, the procedure described in section 6 applies.
No fees: exercising your rights is free of charge. The Art. 12(5) GDPR exception (a reasonable fee or refusal for manifestly unfounded or excessive requests) is applied only in extreme cases, with the reason documented.
localStorage on the deviceIf deleting the sign-in account fails: if, after your data has been deleted, the Firebase Authentication account cannot be deleted right away, the App (from version 1.0.81) shows a message that deletion was not completed; earlier versions do not show this message - the server completes the deletion anyway and we will tell you by email once it is done. Your data is already deleted at that point, and writing new data to that account remains blocked. The server retries deleting the sign-in account every day until it succeeds; you can also retry deletion in the App. In that case too, the App (from version 1.0.81) removes this account’s data from this phone - its session recordings and (on iPhone, and on Android from version 1.0.82) its unsaved completed exercises - because the data on the server has already been deleted. Until then, the account identifier stays in the technical deletion queue - the email address is removed from it after 30 days, as with a regular account deletion. If deletion is interrupted by a technical error (including before your data is deleted), the server completes it automatically; we block writing new data to the account before deleting your data. Once deletion is completed, we send a one-time confirmation message to your account’s email address; for this purpose we keep that address in the deletion operation record until the message is sent (table in 6.1).
If the server response does not arrive: if the App does not receive the server's response (e.g. the connection is interrupted), from version 1.0.81 it will tell you that the result is not yet known and will check it once it connects to the internet. You can also obtain confirmation of the account deletion at any time by writing to rodo@agata-mastermind.com - we will reply to the account's email address. For this purpose we use the record of the account deletion in the consent logs (section 6).
| Data | How long |
|---|---|
| Account data and all data in the App | Until the account is deleted. We do not delete accounts for inactivity. |
| In-app notification inbox | 30 days from the notification |
| Failed login diagnostics | 14 days |
| Record that the Policy change notice was shown (section 2.3a) | Until the account is deleted |
| Incomplete registration accounts (section 10.1) | The sign-in record and the register of accepted versions - deleted in the daily job run after 7 days have passed since the sign-in record was created (section 10.1); an activated psychologist account without a profile - until registration is completed or the account is deleted |
| Psychologist invite codes | Valid for 7 days; an unused code is deleted after it expires, a used one - 30 days after use |
| Consent logs | 5 years from the entry date - also while you keep using the account (after that the entry is deleted even if the account still exists); after account deletion, pseudonymisation after 30 days (section 6); entries from an interrupted registration after the sign-in record has been deleted automatically - not pseudonymised, 5 years from the entry date (section 10.1) |
| Crash reports (Crashlytics) | 90 days, then removed from Google systems (according to the Firebase Crashlytics documentation) |
| Database backups (Google Cloud Storage, Belgium) | Backups are scheduled for deletion after 30 days and may then remain for up to 7 days in Google's technical recycle bin, from which they can be recovered. Data of a deleted account may remain in earlier backups until they expire. When a backup is restored, account deletions made after its date are applied again before the database is made available. |
| Account deletion register (a hash of the account identifier and the deletion time, no other data) | Entries are scheduled for deletion after 60 days and may then remain for up to 7 days in Google's technical recycle bin. They serve solely to ensure that restoring a backup does not bring back a deleted account. |
| Backup record of an account deletion in server logs (the same hash and time; created only if the entry cannot be written to the deletion register) | Scheduled for deletion after 60 days, for the same purpose as the deletion register. |
| Technical deletion queue (account identifier and dates; blocks writing new data to a deleted account) | About 30 days from the deletion request and until it is confirmed that the sign-in account has been deleted, plus at least 2 hours (the validity period of previously issued sign-in credentials) - in practice about 31 days. The email address is removed from it after 30 days. |
| Account deletion operation record (account identifier, request date, account email address, number of attempts, error message from the sign-in service) | While the deletion is being carried out - after a successful deletion it is removed immediately. If deleting the sign-in account fails: until it is completed (the server retries every day) and you have been sent a confirmation message; the record, including the email address, is then deleted automatically at the next daily run after the administrator manually records that the message was sent. |
| Confirmation that the sign-in account was deleted (account identifier and time) | 60 days from confirmation, then deleted automatically. |
| Hash of the deletion request code (account identifier, SHA-256 hash of a random code generated by the App on the phone, and the request time - a separate entry for each phone the deletion was requested from, at most 20) - lets the App on this phone check the result of the deletion when signing in is no longer possible; without the code from the phone it cannot be used to check the status of any account | 60 days from the deletion request, then deleted automatically. |
| Records of failed account deletions from before automatic completion of deletions was introduced (account identifier, time, error message from the sign-in service) and cases that require a decision by the administrator (account identifier and flags without content) | Resolved by the administrator within 30 days of detection; deleted at the next daily run once the case is resolved. |
| Technical logs of account deletion tasks (account identifier and dates) | 30 days |
| Correspondence about account deletion (email address and message content) in the administrator's mailbox | 5 years from sending (proof that the request was carried out) |
| Infrastructure logs | According to Google Cloud / Firebase terms |
The Profile → Settings & privacy → Download your data button returns a JSON file with the complete set of your data from the database. The export is performed by a server function (exportAllData), which returns only your data (export for the signed-in account). It covers: all athlete data areas (34) and - if you are a psychologist - also psychologist-side data (templates, notes, client list, settings) and the psychologist account activation marker.
The export also includes your consent logs (every signed-in user receives only their own entries from consentLogs/{your uid} - never anyone else's) and the register of accepted Terms versions. The export itself is recorded in the consent log.
If the server function is temporarily unavailable, the App builds the file directly from the database. Such a file does not include the consent logs or the register of Terms versions, and the export is not recorded. You can get the full file by repeating the export later or by request sent to rodo@agata-mastermind.com.
You export audio recordings separately from the visualization screen - in .mmviz format (steps + audio).
.validate)The Controller has entrusted data processing to the following entities, which act only on the Controller's instructions:
If you sign in with Apple, authentication is performed by Apple's "Sign in with Apple" service. Apple provides the App (via Firebase Authentication) with your account identifier and email address or relay address (section 2.1). We do not use the name provided by Apple to fill in your profile; you enter your name yourself. Apple's processing of data within this service and the App Attest service is governed by Apple's terms: Apple - Sign in with Apple & Privacy, Apple Privacy Policy. Messages sent to a relay address pass through Apple's email relay service. With Sign in with Apple we receive: your Apple account identifier that Apple assigns for the App's developer (different for each developer), the email address you chose or a relay address, and the authentication result (an Apple identity token, verified by Firebase Authentication). We do not receive your Apple ID password, nor - if you choose a relay address - your real email address. With App Attest, Apple certifies a key generated on the device (the private key never leaves the device); the App passes this attestation to Firebase App Check and receives an App Check token. According to Apple's Privacy Policy, personal data of individuals in the European Economic Area is controlled by Apple Distribution International Limited (Ireland), and Apple's transfers of such data outside the EEA are governed by Standard Contractual Clauses.
The main database (Realtime Database) and server functions run in region europe-west1 (Belgium, EEA). Some Google services process data outside the EEA: Firebase Authentication runs in data centers in the USA, and Firebase Cloud Messaging, Crashlytics and App Check are global services that may process data in Google infrastructure outside the EEA. Further processing by Google LLC in the USA is based on the European Commission adequacy decision - EU-U.S. Data Privacy Framework (Google LLC is a certified participant) and on Standard Contractual Clauses (SCCs) adopted by the European Commission, included in the Firebase Data Processing and Security Terms. You can obtain a copy of the safeguards by contacting the Controller. Details: firebase.google.com/support/privacy.
The App is intended only for adults (aged 18 or over). This requirement is enforced in the App - at first login you must confirm that you are 18 or over (the declaration is stored in your profile with the date and policy version). Without this confirmation the account will not be created.
The App is not directed at children or young people under 18. If we learn that an account was created by a minor despite the declaration, we will delete the account and the data without undue delay.
Reports from parents and legal guardians: if you suspect that your child created an account in the App despite the age requirement, send a report from the parent's/guardian's email address to: rodo@agata-mastermind.com with the subject "Minor's account - deletion request". Include the child's name and - if known - the email address used to create the account. We will verify the report proportionately - as a rule without asking for a copy of an identity document. We will reply within one month of receiving the report (Art. 12(3) GDPR). Once the report is confirmed, we will delete the account and the data without undue delay (Art. 17 GDPR); consent logs to the extent and on the terms described in section 6.
After you tap "Sign in with Google" or "Sign in with Apple" on the start screen, the App uses Firebase Authentication (Google Ireland Limited), which immediately creates a technical authentication record containing your email address (with Apple - possibly a relay address), your account identifier at the provider and - with Google - your Google profile name. This record is necessary for the App to continue onboarding (accepting the Policy, Terms, age declaration and Art. 9 GDPR consent).
If you do not complete onboarding (do not accept all required consents and do not choose the Athlete or Psychologist role), no user profile is created in the App database (Realtime Database). What remains depends on the stage at which registration was interrupted:
How to have it deleted: complete registration and delete the account in the App (Profile → Settings & privacy → Delete account; this screen is not available before registration is completed) or send a request to rodo@agata-mastermind.com - the Controller will delete the account within one month (Art. 12(3) GDPR) using the server function used by “Delete account”. In both cases section 6 applies: the activation marker is deleted and the consent log entries are pseudonymised after 30 days. Both routes require the sign-in record to still exist; after it has been deleted automatically (the “after accepting the documents” case, after 7 days), the consent log entries remain until 5 years have passed from the entry date.
The sign-in records of incomplete registration accounts (except those described above) are deleted by the daily Cloud Function cleanupOrphanAuthUsers. The function checks whether any of the following entries exists for the identifier: users/{uid}/profile, psychologists/{uid}/profile, _admin/admins/{uid}, _admin/superAdmins/{uid}, psychActivation/uid_{uid}. If none exists and the authentication record is older than 7 days, it is permanently deleted from Firebase Authentication. The operation is logged in an internal audit log (Cloud Logging, 30-day retention) as evidence of accountability (Art. 5(2) GDPR).
What this means for you:
Legal basis for processing the sign-in record and the activation marker until registration is completed: the controller's legitimate interest (Art. 6(1)(f) GDPR) - enabling a started registration to continue and performing authentication. Consent logs: Art. 6(1)(c) in conjunction with Art. 7(1) GDPR (section 2.3). What is deleted and when depends on the stage at which registration was interrupted (above) and on the periods in the table in section 6.1.
Local notifications (all roles): generated on the device from your data - training diary, surveys, exercises, competitions, streak. No transmission to a server. Settings: Profile → Settings & privacy → Notifications.
Server push notifications (FCM) - both account types, on Android: the app uses Firebase Cloud Messaging (Google) to deliver notifications when the app is closed. On iPhone the App currently does not use server push notifications - it does not register a device token; local notifications and the in-app notification inbox work. On iPhone you learn about the events listed below (e.g. a survey or exercise assigned, a recommendation, end of cooperation, a survey completed, clients' competitions) from the in-app notification inbox when you open the App. The FCM rules below apply to Android.
The system notification text is always generic: "MasterMind Planner - You have a new notification. Open the app to see the details." (shown in Polish). A notification displayed by the system does not contain names, competition names, survey or exercise titles, recommendation content or a category name. You see the details only in the in-app notification inbox, after signing in.
Events the psychologist is notified about:
Events the athlete is notified about:
Daily limit: an athlete receives at most 10 push notifications per day (protection against spam from a psychologist). Notifications over the limit are skipped - you still see all items in the app as normal.
What we process within FCM: the FCM device token (an identifier generated by Google Play Services) stored under psychologists/{uid}/fcmTokens/ for a psychologist or users/{uid}/fcmTokens/ for an athlete; in the database key the token is replaced by a SHA-256 hash. Athlete tokens are not readable by the psychologist (Firebase Security Rules) - used only by server functions. Apart from the generic system text, a notification carries only the technical data needed to open the right screen (event type, identifiers) and a hash of the recipient's identifier, so the app will not show the notification to another person signed in on the same phone.
Processor: Google Ireland Limited (Firebase Cloud Messaging) - a global service; processing may take place outside the EEA (section 9.1).
Token retention: the token is removed automatically on logout, account deletion or when Google signals that it is inactive (Cloud Function auto-cleanup).
Turning off: you can decline notification permission in the system prompt. On Android you can later turn off all of the App's notifications or selected categories (channels: Training diary, Weekly summary, Goals, Competitions, Notifications, Motivation, Announcements) in System settings → Apps → MasterMind Planner → Notifications. On iPhone you turn them off in Settings → Notifications → MasterMind Planner; iPhone does not split the App's notifications into categories. On both systems you can also turn off individual notification types in the App: Profile → Settings & privacy → Notifications. Declining does not affect other App features, and entries in the in-app notification inbox are created regardless of this permission.
App-wide notifications (broadcast): in exceptional situations the app administrator may send a mass notification to all users (e.g. planned technical maintenance, an important policy update). Broadcasts are limited to 1 per hour and logged in an internal log with the administrator's identifier. Broadcasts ignore individual Surveys/Exercises notification preferences - they are reserved for critical messages only; they also use the generic system text. On Android a broadcast arrives as a system notification with generic text; you can turn it off by declining notification permission or turning off the "Announcements" channel. On iPhone app-wide announcements are not sent as system notifications - they may appear in the in-app notification inbox when you open the App (bell icon). On both systems the full broadcast text is placed in your in-app inbox (retention 30 days), and this entry cannot be turned off.
Sending security: every server function that sends a push verifies that the psychologist is currently linked with the athlete (anti-spoofing).
In-app notification inbox: the app keeps a history of your notifications (type, title, content, time, read status) so you can return to them even after they disappear from the system bar. The inbox is available under the bell icon. Data is stored in the Firebase database under users/{uid}/notifications/ (athletes) or psychologists/{uid}/notifications/ (psychologists) - readable only by you. Retention: 30 days - older entries are deleted automatically by a daily server job (cleanupNotifications). The inbox is included in the data export (section 7).
Exporting files to the device: the app can save export files (your data JSON, visualization .mmviz file) in the public Download/MasterMind/ folder on your Android device. The feature uses the MediaStore API (Android 10+) and does NOT require the "file access" permission. On iPhone saving uses the system share sheet (e.g. "Save to Files") - you choose the location. These files are yours only - they are not synced to the server or shared with anyone (unless you do so yourself via the "Share" button). You can delete them at any time in the Files app.
We announce material changes in the App at least 14 days in advance. When a new version takes effect, the App will ask you to read and accept it before continuing to use the App. Each policy version is versioned, and its acceptance is recorded in the consent log.
Changes in version 5.21: deleting an account with the Apple sign-in method - we delete the account and data regardless of the outcome of the attempt to revoke Apple access, and if the revocation fails, the App shows instructions for disconnecting manually (6, 10.1); Apple relay addresses also on the @private.icloud.com domain (2.1); a more precise description of Firebase App Check and App Attest - a safeguard that reduces abuse, not a guarantee, and the data sent to Apple in the process (2.7, 8, 9.0); the full list of services the App connects to (8); no use of Health Connect or Apple Health / HealthKit (2.6); the queue of unsaved completed exercises also on Android from version 1.0.82, and the option to retry or delete a result rejected by the server (2.4, 6); the right to restriction of processing (Art. 18) separated from psychologist permissions, the rights of access (Art. 15) and to portability (Art. 20) described separately, and the export - with the register of Terms versions and a fallback path without consent logs (5, 7, 11); withdrawing the Art. 9 consent described in one point (5.1); clarified that consent log entries are deleted 5 years after their date also while the account is in use (2.3, 6.1); notifications on iPhone and Android described separately (11); the scope of the super-administrator role (4.7); the invite code when a psychologist's account is deleted - it can no longer be used to connect, and the code record is deleted after it expires (6); the heading on protecting health data (3.3); the Art. 9 consent is given by ticking a box (3); feature names as in the App. “Psychologist” instead of “sport psychologist” (2.1, 4). Described what remains after an interrupted registration and how to have that data deleted (10.1, 6.1), and that account deletion and other requests are started in the App, with the section 6 procedure applying if deletion fails or its result is unknown (5.2). New: a record that the App showed you a notice about a Policy change (2.3a, 3, 5, 6.1); apart from it, the changes describe the state of the App - no new data categories, purposes or recipients.
Earlier versions of this Privacy Policy are available on request: rodo@agata-mastermind.com.
Data controller: MasterMind Agata Jasińska, Al. Dwudziestolatków 4a/93, 02-157 Warsaw, Poland
Privacy / GDPR requests email: rodo@agata-mastermind.com
Technical bug reports: focusarena.dev@gmail.com
Supervisory authority: President of the Personal Data Protection Office (UODO), ul. Stanisława Moniuszki 1A, 00-014 Warsaw, Poland - uodo.gov.pl