Polski English Regulamin Terms of Service

Polityka prywatności - BabySteps

Ostatnia aktualizacja / Last updated: 2026-10-06

1. Administrator danych

Dla wersji iOS / App Store oraz ogólnie: administratorem danych jest Maciej Siemiński, kontakt: mail@macsiem.dev.

Dla wersji Google Play (Android): administratorem danych jest LICENCEPRO POLSKA Sp. z o.o., ul. Huculska 6, 00-730 Warszawa, Polska, kontakt: mail@macsiem.dev.

2. Czym jest BabySteps

BabySteps to aplikacja dla rodziców i opiekunów do zapisywania kamieni milowych dziecka, wspomnień, zdjęć, notatek, ustawień rodziny, przypomnień i eksportów. Aplikacja jest skierowana do dorosłych. Nie tworzymy kont dzieci i nie prosimy dziecka o samodzielne podawanie danych.

3. Dane przechowywane lokalnie na urządzeniu

Dane wpisane przez rodzica są najpierw przechowywane lokalnie w aplikacji. Obejmuje to w szczególności:

Główna baza lokalna używa zaszyfrowanego MMKV. Klucz szyfrowania jest przechowywany w systemowym SecureStore / Keychain / Android Keystore, gdy jest dostępny.

4. Konto, rodzina, synchronizacja i backup

BabySteps może działać lokalnie. Funkcje konta, rodziny, synchronizacji i backupu są opcjonalne. Gdy rodzic włącza te funkcje, aplikacja może używać Apple Sign-In lub Google Sign-In oraz backendu Cloudflare Worker.

Przy logowaniu aplikacja wysyła token tożsamości Apple lub Google do backendu, który zwraca sesję aplikacji. Lokalnie zapisywane mogą być: identyfikator użytkownika, token sesji, data wygaśnięcia, dostawca logowania oraz adres e-mail lub Apple Private Relay, jeżeli dostawca go zwróci.

Przy rodzinnej synchronizacji backend może przetwarzać techniczne dane potrzebne do połączenia urządzeń: kod zaproszenia, identyfikatory rodziny i członków, klucze publiczne, znaczniki czasu oraz zaszyfrowane wpisy i zdjęcia. Zdjęcia i dane rodzinne są projektowane jako szyfrowane przed wysłaniem. Backend może przechowywać zaszyfrowane dane, identyfikator pliku, rozmiar i datę aktualizacji, aby umożliwić synchronizację lub przywrócenie backupu.

Opcjonalna kopia w Google Drive jest zapisywana w prywatnym folderze danych aplikacji (appDataFolder) na koncie Google rodzica. Może obejmować profile dzieci, wpisy, zdjęcia i ich oryginały, ustawienia oraz dane potrzebne do odtworzenia konta i rodziny.

Klucz szyfrowania tej kopii jest przechowywany razem z kopią w tym samym folderze Drive. Nie wymaga ona zapamiętania dodatkowej frazy ani PIN-u. Google jako dostawca chmury jest technicznie w stanie odczytać treść tej kopii. Nasz backend nie przechowuje tej kopii Google Drive.

Oddzielną funkcją jest eksport do pliku zaszyfrowanego frazą odzyskiwania. Do odtworzenia takiego pliku potrzebna jest jego fraza; przechowuj plik i frazę w bezpiecznym miejscu.

Opcjonalna kopia Apple jest zapisywana w prywatnej bazie CloudKit konta iCloud. Włącza się ją osobno w aplikacji; samo logowanie Apple nie włącza kopii. Obejmuje ten sam zakres pełnego stanu i oryginałów co kopia Drive. Klucz szyfrowania jest przechowywany obok kopii w tej samej chmurze, dlatego Apple jako dostawca może technicznie uzyskać dostęp do jej treści. Kopia jest powiązana z kontem iCloud; zmiana konta wymaga ponownego sprawdzenia dostępu. Kopie Apple i Drive mają osobne ustawienia, stan oraz usuwanie.

5. Powiadomienia

Aplikacja używa powiadomień lokalnych do przypomnień. Jeśli rodzic udzieli zgody na powiadomienia push i aktywny jest system ogłoszeń, aplikacja może zarejestrować pseudonimowy identyfikator instalacji i Expo push token w Cloudflare Worker. W takim przypadku przetwarzane mogą być także: platforma, język, wersja aplikacji, kanał wydania, informacja Premium i daty heartbeat. Dane te służą do wysłania ważnych komunikatów aplikacji, a nie do tworzenia kont dziecka.

6. Diagnostyka awarii

Aplikacja ma skonfigurowane Sentry do diagnostyki błędów i awarii. Raport może zawierać techniczne informacje o awarii, urządzeniu, systemie, wersji aplikacji i śladzie stosu. Kod aplikacji zawiera ochronę przed wysyłaniem treści rodzinnych i nie ustawia identyfikatora użytkownika w Sentry.

7. Reklamy

BabySteps zawiera Unity Ads i może wyświetlać banery reklamowe w bezpłatnej wersji aplikacji. Aplikacja jest przeznaczona dla dorosłych rodziców i opiekunów, nie jest zgłaszana jako aplikacja dla dzieci ani jako usługa kierowana do dzieci. Na Androidzie aplikacja deklaruje uprawnienie AD_ID, a na iOS może pokazać systemową zgodę ATT wymaganą przez platformę. Odmowa zgody nie blokuje działania aplikacji.

Unity Ads może przetwarzać identyfikatory użytkownika i urządzenia (w tym identyfikator reklamowy, gdy udzielono wymaganej zgody), przybliżoną lokalizację wynikającą z połączenia, interakcje z reklamami, informacje o zakupach oraz techniczne dane urządzenia i wydajności SDK. Dane te służą dostarczaniu i pomiarowi reklam, analityce, działaniu SDK oraz zapobieganiu nadużyciom. Zakres zależy od platformy i ustawień zgód. Treści rodzinne i zdjęcia nie są przekazywane przez aplikację do Unity w celach reklamowych. Szczegóły przetwarzania i możliwości kontroli opisuje polityka prywatności Unity.

8. Zakupy w aplikacji

Zakupy i subskrypcje są obsługiwane przez Apple App Store lub Google Play. Nie otrzymujemy pełnych danych karty płatniczej. Aplikacja może lokalnie zapisać stan Premium, typ uprawnienia i datę wygaśnięcia. Przy backupie konto może zsynchronizować techniczny stan uprawnienia z backendem, aby sprawdzić dostęp do funkcji.

9. Dane dzieci

BabySteps jest aplikacją dla rodziców i opiekunów. Dane dotyczące dziecka są wpisywane przez dorosłego i pozostają lokalnie, chyba że rodzic świadomie użyje funkcji rodziny, synchronizacji, eksportu lub backupu. Nie sprzedajemy danych dzieci, nie tworzymy kont dzieci i nie udostępniamy danych do publicznych profili społecznościowych.

10. Udostępnianie danych podmiotom trzecim

Dane mogą być przetwarzane przez dostawców usług potrzebnych do działania funkcji aplikacji: Apple i Google dla logowania, zakupów i sklepów, Google Drive i Apple CloudKit dla opcjonalnych kopii, Unity Ads dla reklam, Sentry dla diagnostyki awarii, Expo dla tokenów push oraz Cloudflare Workers / storage dla opcjonalnej synchronizacji, ogłoszeń i backupu. Dostawcy ci działają zgodnie z własnymi zasadami i tylko w zakresie wymaganym dla danej funkcji.

Cloudflare zapewnia infrastrukturę backendu i przechowywania danych na nasze zlecenie. Zależnie od włączonej funkcji przetwarza identyfikatory konta i instalacji, dane techniczne połączenia (w tym adres IP), metadane parowania i synchronizacji, wybraną nazwę członka rodziny i klucze publiczne, a także przesyłane dane synchronizacji i zaszyfrowane kopie zapasowe. Dla ogłoszeń zakres obejmuje token push, platformę, język, wersję, kanał wydania, stan Premium i daty heartbeat opisane w sekcji 5. Infrastruktura Cloudflare działa globalnie: przetwarzanie może odbywać się w EOG, Stanach Zjednoczonych i innych krajach, w których Cloudflare świadczy usługi; nie obiecujemy przechowywania wyłącznie w Polsce ani w EOG. Zabezpieczenia transferów opisano w sekcji 13. Więcej informacji: polityka prywatności Cloudflare i warunki powierzenia przetwarzania.

11. Podstawy prawne przetwarzania (RODO)

Tam, gdzie zastosowanie ma RODO, dane przetwarzamy na podstawie:

12. Okresy przechowywania

Kopie w Google Drive pozostają na wybranym koncie do ich usunięcia przez funkcję aplikacji lub narzędzia Google. Kopie Apple pozostają w prywatnej bazie CloudKit konta iCloud do ich odrębnego usunięcia przez funkcję aplikacji lub narzędzia Apple. Samo odinstalowanie aplikacji nie usuwa kopii Drive ani Apple.

Dane lokalne pozostają na urządzeniu do czasu ich usunięcia w aplikacji lub odinstalowania aplikacji. Dane konta i zaszyfrowanego backupu na backendzie są przechowywane do czasu usunięcia konta lub żądania usunięcia. Raporty diagnostyczne w Sentry są przechowywane przez okres retencji obowiązujący dla używanego planu i rodzaju danych; po upływie tego okresu zdarzenia wygasają automatycznie. Dane żądań reklamowych przetwarza Unity Ads zgodnie z własnymi politykami retencji.

13. Przekazywanie danych poza EOG

Dostawcy wymienieni w sekcji 10 (Apple, Google, Sentry, Expo, Cloudflare) mogą przetwarzać dane techniczne poza Europejskim Obszarem Gospodarczym. Takie transfery opierają się na zabezpieczeniach wymaganych przez RODO, np. standardowych klauzulach umownych Komisji Europejskiej lub decyzji o adekwatności (w tym EU–US Data Privacy Framework, gdy ma zastosowanie). Treści rodzinne przeznaczone do synchronizacji lub backupu są projektowane jako zaszyfrowane przed wysłaniem.

14. Usuwanie danych i prawa użytkownika

Użytkownik może usunąć dane lokalne przez funkcje aplikacji albo odinstalowanie aplikacji. Wylogowanie usuwa lokalną sesję konta. Jeśli konto lub backup zostały utworzone na backendzie, można poprosić o usunięcie danych, pisząc na mail@macsiem.dev. Masz prawo do dostępu, sprostowania, usunięcia, ograniczenia przetwarzania, przenoszenia danych oraz sprzeciwu wobec przetwarzania opartego na prawnie uzasadnionym interesie. Masz także prawo wniesienia skargi do organu nadzorczego — w Polsce jest to Prezes Urzędu Ochrony Danych Osobowych (UODO), ul. Stanisława Moniuszki 1A, 00-014 Warszawa, uodo.gov.pl.

15. Kontakt

W sprawach prywatności i wsparcia: mail@macsiem.dev.

Privacy Policy - BabySteps

Last updated: 2026-10-06

1. Data controller

For the iOS / App Store version and generally: the data controller is Maciej Siemiński, contact: mail@macsiem.dev.

For the Google Play (Android) version: the data controller is LICENCEPRO POLSKA Sp. z o.o., ul. Huculska 6, 00-730 Warszawa, Polska, contact: mail@macsiem.dev.

2. What BabySteps does

BabySteps is an app for parents and guardians to record a child's milestones, family memories, photos, notes, reminders, settings and exports. The app is intended for adults. We do not create child accounts and we do not ask a child to provide data directly.

3. Data stored locally on the device

Data entered by a parent is stored locally first. This includes:

The main local database uses encrypted MMKV. The encryption key is stored in the system SecureStore / Keychain / Android Keystore when available.

4. Account, family sync and backup

BabySteps can be used locally. Account, family sync and backup features are optional. When a parent enables those features, the app may use Apple Sign-In or Google Sign-In and a Cloudflare Worker backend.

During sign-in, the app sends an Apple or Google identity token to the backend, which returns an app session. The app may store a user ID, session token, expiry date, sign-in provider and email address or Apple Private Relay address if the provider returns one.

For family sync, the backend may process technical data needed to connect devices: invite code, family and member identifiers, public keys, timestamps, and encrypted entries and photos. Photos and family data are designed to be encrypted before upload. The backend may store encrypted data, blob identifiers, file size and update date to support sync or backup restore.

An optional Google Drive backup is stored in the private application data folder (appDataFolder) of the parent’s Google account. It may contain child profiles, entries, photos and their originals, settings, and data required to restore the account and family.

The encryption key for this backup is stored alongside the backup in the same Drive folder. It does not require remembering an additional phrase or PIN. Google, as the cloud provider, is technically able to access the content of this backup. Our backend does not store this Google Drive backup.

A separate feature exports a file encrypted with a recovery phrase. Restoring that file requires its phrase; keep both the file and phrase in a safe place.

Optional Apple backup is stored in the private CloudKit database of the iCloud account. It is enabled separately in the app; Apple sign-in alone does not enable backup. It covers the same complete state and originals as Drive backup. The encryption key is stored alongside the backup in the same cloud, so Apple as the provider can technically access its content. Backup is bound to the iCloud account; changing that account requires access to be checked again. Apple and Drive backups have separate settings, status and deletion.

5. Notifications

The app uses local notifications for reminders. If a parent grants push notification permission and the announcement system is active, the app may register a pseudonymous installation identifier and Expo push token with a Cloudflare Worker. In that case, platform, language, app version, release track, Premium flag and heartbeat dates may also be processed. This is used for important app announcements, not for creating child accounts.

6. Crash diagnostics

The app has Sentry configured for crash and error diagnostics. A report may include technical information about a crash, device, operating system, app version and stack trace. The app code includes safeguards against sending family content and does not set a user identifier in Sentry.

7. Ads

BabySteps includes Unity Ads and may show banner ads in the free version. The app is intended for adult parents and caregivers, and is not submitted as a kids app or as a child-directed service. On Android the app declares the AD_ID permission, and on iOS it may show the system ATT permission prompt required by the platform. Refusing permission does not block the app.

Unity Ads may process user and device identifiers (including the advertising identifier where the required permission is granted), approximate location derived from the connection, ad interactions, purchase information, and technical device and SDK performance data. These data support ad delivery and measurement, analytics, SDK operation and fraud prevention. The scope depends on the platform and consent settings. The app does not send family content or photos to Unity for advertising. See the Unity privacy policy for processing details and privacy controls.

8. In-app purchases

Purchases and subscriptions are handled by Apple App Store or Google Play. We do not receive full payment card details. The app may store local Premium state, entitlement type and expiry date. For backup, the account may sync technical entitlement status with the backend to check feature access.

9. Children's data

BabySteps is a parent-facing app. Child-related data is entered by an adult and stays on the device unless the parent deliberately uses family sync, export or backup. We do not sell children's data, create child accounts or publish child data to public social profiles.

10. Third-party processing

Data may be processed by service providers needed for app features: Apple and Google for sign-in, purchases and stores, Google Drive and Apple CloudKit for optional backups, Unity Ads for ads, Sentry for crash diagnostics, Expo for push tokens, and Cloudflare Workers / storage for optional sync, announcements and backup. These providers operate under their own terms and only within the scope needed for the relevant feature.

Cloudflare provides backend and data-storage infrastructure on our behalf. Depending on the enabled feature, it processes account and installation identifiers, technical connection data (including IP address), pairing and sync metadata, the chosen family-member name and public keys, as well as transmitted sync data and encrypted backups. For announcements, the scope includes the push token, platform, language, version, release track, Premium status and heartbeat dates described in section 5. Cloudflare operates globally: processing may take place in the EEA, the United States and other countries where Cloudflare provides its services; we do not promise storage exclusively in Poland or the EEA. Section 13 describes transfer safeguards. See the Cloudflare privacy policy and data processing terms.

11. Legal bases (GDPR)

Where the GDPR applies, we process data on the following legal bases:

12. Data retention

Google Drive backups remain in the selected account until deleted using the app’s backup-deletion feature or Google’s tools. Apple backups remain in the iCloud account’s private CloudKit database until separately deleted using the app’s feature or Apple’s tools. Uninstalling the app alone does not delete Drive or Apple backups.

Local data stays on the device until deleted in the app or the app is uninstalled. Account and encrypted backup data on the backend is kept until the account is deleted or deletion is requested. Sentry diagnostic reports are retained for the period applicable to the service plan and data type; events expire automatically after that period. Ad request data is processed by Unity Ads under its own retention policies.

13. International transfers

The providers listed in section 10 (Apple, Google, Sentry, Expo, Cloudflare) may process technical data outside the European Economic Area. Such transfers rely on safeguards required by the GDPR, such as the European Commission's Standard Contractual Clauses or an adequacy decision (including the EU–US Data Privacy Framework where applicable). Family content intended for sync or backup is designed to be encrypted before upload.

14. Deletion and user rights

You can delete local data through app features or by uninstalling the app. Signing out removes the local account session. If an account or backup was created on the backend, you can request deletion by writing to mail@macsiem.dev. You have the right to access, rectify, erase, restrict, or object to processing based on legitimate interest, and the right to data portability. You also have the right to lodge a complaint with a supervisory authority — in Poland, the President of the Personal Data Protection Office (UODO), ul. Stanisława Moniuszki 1A, 00-014 Warszawa, uodo.gov.pl.

15. Contact

Privacy and support contact: mail@macsiem.dev.