Polityka prywatności

Aplikacja Joshi · wersja 1.5.1 · ostatnia aktualizacja: 14 października 2026

Joshi to aplikacja do ćwiczenia japońskich partykuł. Cała nauka — poziomy, ćwiczenia i postęp — dzieje się na Twoim urządzeniu i bez internetu. Opcjonalna zakładka „Zdania” korzysta z pomocy AI. Wersja 1.5.1 dodaje dobrowolną anonimową statystykę użycia, domyślnie wyłączoną. Ta polityka opisuje aplikację w wersji 1.5.1.

Nie ma konta ani reklam. Pomoc AI wysyła zdanie, które sam wpiszesz, i język odpowiedzi; serwer nie zapisuje jego treści. Anonimowa statystyka użycia wysyła wyłącznie kategorie, przedziały liczb i flagi, po Twojej zgodzie. Listy zdań, wyników i pełny postęp zostają na urządzeniu.

Konto użytkownika

Nie ma. Aplikacja nie prosi o adres e-mail, nie zakłada profilu i nie loguje Cię nigdzie. Zainstalowanie jej i korzystanie z niej nie wymaga podania żadnych danych.

Gdzie trafiają dane nauki

Postęp, historia odpowiedzi, seria dni i ustawienia są zapisane wyłącznie na Twoim urządzeniu. Pełna historia i zapis postępu nie są wysyłane na serwer; za zgodą wysyłamy jedynie anonimowe podsumowania opisane niżej. Jeśli wyeksportujesz kopię (Ustawienia → Dane → Eksportuj postęp), powstały plik należy do Ciebie — zapisuje się tam, gdzie sam wskażesz, a aplikacja nigdzie go nie wysyła.

To, co wpiszesz w zakładce „Zdania”, i odpowiedź, która wróci, nie trafiają do postępu ani do powtórek. Zdania i ich ostatnie wyniki aplikacja trzyma w tej zakładce, osobno dla każdego z dwóch trybów — wyłącznie na urządzeniu, w osobnym pliku, którego nie wysyła nigdzie i który nie wchodzi do eksportu postępu. Usuwasz je w zakładce „Zdania”, pojedynczo albo wszystkie naraz; znikają też razem z aplikacją. „Skasuj cały postęp” w Ustawieniach listy nie rusza — to są dwie osobne rzeczy.

Zdanie z wyniku możesz dodać jako przykład do roli partykuły — trafia wtedy do „Twoich przykładów” na stronie tej roli. Te przykłady też leżą wyłącznie na urządzeniu, w osobnym pliku, który nie wchodzi do eksportu postępu i którego nie kasuje ani „Skasuj cały postęp”, ani usunięcie zdań z listy. Usuwasz je na stronie roli.

Zdanie możesz też zeskanować ze zdjęcia (aparatem albo z biblioteki zdjęć) — na przykład ze strony, z napisów albo z dymku. Tekst rozpoznaje się na telefonie; zdjęcie nie jest nigdzie zapisywane ani wysyłane — do pola trafia tylko tekst, który sam wybierzesz i poprawisz, a na serwer jedzie dopiero po naciśnięciu Objaśnij partykuły albo Sprawdź moje partykuły. Aplikacja prosi o dostęp do aparatu przy pierwszym zdjęciu; bibliotekę zdjęć otwiera systemowy wybór, który daje aplikacji tylko wskazane zdjęcie.

Dane wspólne z pozostałymi aplikacjami autora

Joshi należy do rodziny aplikacji do nauki japońskiego. Jeżeli masz na urządzeniu więcej niż jedną z nich, ekran startowy pokazuje sekcję Twój japoński z jednym wierszem na aplikację.

Działa to tak: Joshi zapisuje na Twoim urządzeniu, w obszarze współdzielonym przez aplikacje tej rodziny, mały plik ze swoją kartą. Karta niesie pięć rzeczy o Twojej nauce: ile procent materiału masz opanowane, ile dni trwa Twoja seria, ile sesji odbyłeś, jedno zdanie o najsłabszym miejscu (po polsku i po angielsku) i czy dzienny cel jest już zrobiony. Pole na termin najbliższych powtórek Joshi zostawia zawsze puste, bo nie planuje powtórek z datą. Do tego trzy rzeczy techniczne: która aplikacja plik zapisała, w jakim formacie i kiedy. Nic więcej. Nie ma tam historii odpowiedzi, listy ćwiczonych ról ani niczego, co wpiszesz w zakładce „Zdania”, i nie da się z tego pliku odtworzyć Twojego postępu.

Ten plik nie opuszcza urządzenia i czytają go wyłącznie pozostałe aplikacje tej rodziny, zainstalowane przez Ciebie na tym samym urządzeniu. Nic nie synchronizuje się między urządzeniami.

Dwie rzeczy, o których warto wiedzieć wprost. Po pierwsze, obszar współdzielony przeżywa odinstalowanie pojedynczej aplikacji — plik znika dopiero wtedy, gdy usuniesz z urządzenia wszystkie aplikacje tej rodziny. Po drugie, „Skasuj cały postęp” kasuje także ten plik, razem z resztą postępu.

Przypomnienia

Wieczorne przypomnienie o dzisiejszym celu jest opcjonalne, domyślnie wyłączone i w całości lokalne. Jeśli je włączysz, iOS planuje powiadomienie na urządzeniu; nic nie jest nigdzie wysyłane i nie bierze w tym udziału żaden serwer. Za zgodą na statystykę wysyłana jest jedynie flaga włączenia przypomnień. Jeśli odmówisz zgody na powiadomienia, reszta aplikacji działa dokładnie tak samo.

Śledzenie i reklamy

Nie ma. W aplikacji nie ma zewnętrznego zestawu analitycznego, zestawu reklamowego, raportera awarii ani identyfikatora reklamowego (IDFA). Aplikacja nie śledzi Cię w innych aplikacjach ani na stronach i nie sprzedaje danych. Statystykę użycia przetwarzamy na własnym serwerze, a dane dla pomocy AI przekazujemy w sposób opisany niżej.

Połączenia sieciowe

Aplikacja łączy się z naszym serwerem w związku z pomocą AI oraz, po zgodzie, statystyką użycia. Ruch przy zakupie i przywracaniu zakupów obsługuje system iOS i App Store. W związku z pomocą AI aplikacja łączy się tylko w tych chwilach: gdy otwierasz zakładkę „Zdania”, zdanie (nowe albo z listy), ekran subskrypcji albo Ustawienia (żeby pokazać, ile zapytań zostało); gdy naciskasz Objaśnij partykuły albo Sprawdź moje partykuły, i zaraz potem, żeby odświeżyć tę liczbę; gdy naciskasz Spróbuj jeszcze raz; oraz po zakupie subskrypcji i po przywróceniu zakupów (żeby serwer dowiedział się o subskrypcji). Połączenia pomocy AI nie odbywają się w tle ani z zegara. Statystyka za zgodą może wysyłać paczki i ponawiać nieudaną wysyłkę przy wejściu na pierwszy plan oraz przejściu w tło. Treść zdania jedzie wyłącznie po naciśnięciu Objaśnij partykuły albo Sprawdź moje partykuły — albo Spróbuj jeszcze raz, gdy poprzednia próba się nie udała. Zdanie, które ma już wynik w tym samym trybie, nie jedzie drugi raz: aplikacja pokazuje zapisany wynik.

Na urządzeniu, które nie obsługuje mechanizmu Apple App Attest, zakładki „Zdania” nie ma, a aplikacja nie korzysta z sieciowej pomocy AI. Dobrowolna statystyka użycia nie wymaga App Attest.

Dobrowolna anonimowa statystyka użycia

Pomiar pomaga sprawdzić, czy nauka jest użyteczna i gdzie uczniowie przerywają ćwiczenia. Jest domyślnie wyłączony i nie jest potrzebny do korzystania z aplikacji. Dopiero po Twojej zgodzie zapisujemy zdarzenia i wysyłamy je do naszego serwera api.jd-japanese.pl. Zgoda na statystykę jest niezależna od korzystania z pomocy AI.

Zdarzenia zawierają także tydzień kohorty (tydzień pierwszej zgody), dzień od jej początku, język interfejsu, wersję aplikacji oraz wariant eksperymentu, przy zgodzie i obecnie, i ogólną kategorię rozpoczęcia: nowa instalacja, przywrócony postęp lub późniejsza zgoda. Nie ma identyfikatora instalacji, urządzenia ani osoby. Każde zdarzenie ma własny losowy UUID wyłącznie do uniknięcia podwójnego policzenia przy ponowieniu wysyłki. Nie zbieramy tekstów, historii odpowiedzi, identyfikatorów treści i ról, adresu e-mail, lokalizacji, modelu urządzenia ani wersji iOS. Zdarzenia statystyczne nie zawierają tokenu konta, identyfikatorów App Attest, zakupu ani UUID próby zakupu opisanego niżej. Statystyka nie używa cookies i na serwerze nie jest łączona z danymi pomocy AI. Skojarzenie próby z zakupem odbywa się wyłącznie lokalnie, aby potwierdzić jego pochodzenie; wysłane zdarzenie zakupu nadal zawiera tylko jego rodzaj.

Adres IP jest potrzebny do połączenia, ale nie zapisujemy go w zdarzeniach ani dziennikach dostępu. Osobny licznik ochrony przed nadużyciami używa kluczowanego skrótu adresu; jest okresowo usuwany po 24 godzinach nieaktywności i nie jest łączony ze zdarzeniami. Bez internetu zdarzenia czekają na urządzeniu: najwyżej 30 dni, do 500 zdarzeń. Kolejka nie trafia do kopii zapasowej ani eksportu postępu. Potwierdzone zdarzenia usuwamy z kolejki. Na serwerze surowe zdarzenia przechowujemy przez 400 dni, po czym zastępują je anonimowe sumy dzienne bez UUID. Nie używamy statystyki do reklam, profilowania ani śledzenia między aplikacjami.

Zgodę możesz wycofać w każdej chwili w Ustawienia → Prywatność, przełącznikiem Wysyłaj anonimową statystykę użycia. Wyłączenie anuluje wysyłkę, usuwa lokalną kolejkę i zapis bieżącej sesji służący pomiarowi oraz lokalne zapisy prób zakupu; zatrzymuje zbieranie i przyszłe wysyłanie. Nie usuwa tokenu zapisanego już w transakcji Apple. Już odebrane zdarzenia mogą pozostać do końca retencji: bez identyfikatora instalacji nie możemy odnaleźć zdarzeń konkretnej osoby i usunąć ich na żądanie. Brak zgody, internetu lub dostępnego serwera nie zmienia nauki, postępu ani dostępu do zakupionych funkcji.

Zakładka „Zdania” — opcjonalna pomoc AI

Zakładka „Zdania” jest opcjonalna. Bez niej aplikacja uczy i liczy postęp dokładnie tak samo. Ma dwa tryby: „Objaśnij” — cudze zdanie, na przykład z mangi, napisów albo ze zdjęcia, wraca z rolą każdej partykuły, nazwaną rolą z tej aplikacji — i „Sprawdź moje” — Twoje własne zdanie wraca z każdą partykułą oznaczoną jako dobra, zła albo „działa, ale…”, z krótkim wyjaśnieniem i partykułą do wstawienia.

Po naciśnięciu Objaśnij partykuły albo Sprawdź moje partykuły wysyłamy do naszego serwera pod adresem api.jd-japanese.pl dwie rzeczy: zdanie, które wpisałeś (najwyżej 120 znaków), i język, w którym ma wrócić odpowiedź (polski albo angielski, według języka interfejsu). Serwer przekazuje je do modelu językowego firmy OpenAI, a odpowiedź wraca do aplikacji. Treść żądania AI nie zawiera postępu, historii odpowiedzi ani zdjęcia. Identyfikatory techniczne potrzebne do działania tej funkcji opisujemy poniżej; statystyka ich nie używa.

Treści Twojego zdania nie zapisujemy — nie trafia do żadnej bazy ani do dziennika zdarzeń; nie zapisujemy też odpowiedzi modelu. W bazie nie ma kolumny, w której mogłyby stanąć, a dopisanie takiej wywraca automatyczny test po stronie serwera. W żądaniu do OpenAI prosimy o niezachowywanie odpowiedzi. Jedyny wyjątek jest krótki i nie trafia na dysk: gotowa odpowiedź zostaje przez dwie minuty w pamięci operacyjnej serwera, żeby dwukrotne naciśnięcie przycisku przy tym samym zdaniu nie liczyło się jako dwa zapytania.

Trwale przechowujemy natomiast rzeczy, bez których funkcja nie mogłaby działać:

Krócej trzymamy dane techniczne rozliczenia i utrzymania: identyfikatory transakcji Apple oraz metryki zapytania (numer zapytania, nazwa funkcji, model, status, liczba tokenów, czas odpowiedzi) — przez 90 dni. Adresu IP nie zapisujemy; do ochrony przed nadużyciem serwer trzyma przez 24 godziny wyłącznie jego skrót kluczowany.

Przy połączeniu aplikacja dołącza też jednorazowy token DeviceCheck wystawiony przez iOS. W Joshim serwer z niego nie korzysta i go nie zapisuje: darmowa próbka nie jest tu chroniona przed reinstalacją, więc token nie ma czego pilnować.

Żadna z tych rzeczy nie jest powiązana z Twoim imieniem, adresem e-mail ani kontem — bo aplikacja ich nie zna. Nie używamy ich do śledzenia, profilowania ani reklam. Nie ma konta, które można by usunąć; jeżeli chcesz, żeby te wpisy zniknęły, napisz — do ich odnalezienia wystarczy identyfikator transakcji z historii zakupów w App Store.

Zakupy

Jednorazowy zakup Premium i subskrypcję Pomoc AI obsługuje w całości Apple. Joshi nigdy nie widzi Twoich danych płatniczych, numeru karty ani danych rozliczeniowych. Stan zakupu aplikacja odczytuje z systemu iOS. Przy czynnej subskrypcji Pomoc AI aplikacja przekazuje naszemu serwerowi pełny podpisany przez Apple dowód tej transakcji (JWS) — po to, żeby serwer mógł sam sprawdzić podpis i przydzielić zapytania z subskrypcji. Jeżeli transakcja zawiera UUID próby zakupu opisany poniżej, ten UUID także trafia do serwera jako część dowodu. Dowód transakcji Premium nie jest wysyłany do serwera. Anonimowe zdarzenie zakupu zawiera tylko jego rodzaj, bez UUID próby zakupu i bez identyfikatora transakcji.

Tylko przy włączonej zgodzie na statystykę, dla każdej lokalnej próby zakupu aplikacja tworzy osobny losowy UUID i przekazuje go Apple jako appAccountToken. Mimo nazwy tego pola nie jest to identyfikator konta, osoby ani instalacji i nie jest wspólny dla różnych prób. Aplikacja zachowuje lokalne skojarzenie, aby potwierdzić, że otrzymana transakcja pochodzi z tej próby zakupu. UUID nie trafia do zdarzeń statystycznych. Apple zapisuje go w transakcji; może on pozostać także w transakcjach odnowienia subskrypcji. Wycofanie zgody usuwa lokalny zapis i zatrzymuje przyszły pomiar, ale nie usuwa ani nie zmienia transakcji Apple lub zapisanego w niej tokenu.

Sposób przetwarzania danych przez Apple opisuje polityka prywatności Apple.

Zgłaszanie problemów

Przyciski Zaproponuj funkcję i Zgłoś błąd w Ustawieniach przygotowują wiadomość e-mail, którą możesz przeczytać i zmienić przed wysłaniem. Nic nie zostaje wysłane, dopóki sam nie naciśniesz „Wyślij”. Zgłoszenie błędu zawiera wstępnie wersję aplikacji, numer builda, wersję iOS i oznaczenie modelu urządzenia (np. iPhone16,1) — nazwę wspólną dla milionów egzemplarzy, nigdy identyfikator urządzenia. Te wiersze możesz skasować przed wysłaniem. Jeżeli napiszesz, zobaczę Twój adres e-mail i treść wiadomości; służą wyłącznie odpowiedzi.

Raporty awarii

Aplikacja nie zbiera raportów awarii we własnym zakresie. Jeśli w ustawieniach iOS masz włączone udostępnianie analityki Apple, system może przekazać deweloperowi anonimowy raport — dzieje się to poza aplikacją i podlega ustawieniom prywatności Apple.

Dzieci

Aplikacja nie zbiera danych pozwalających kogokolwiek zidentyfikować, w żadnym wieku: nie ma konta i nie pyta o imię, wiek ani adres. Przy zakładce „Zdania” przechowujemy identyfikatory techniczne i liczniki opisane wyżej; anonimową statystykę użycia zbieramy wyłącznie za zgodą.

Zmiany

Jeżeli ta polityka się zmieni, zmieni się razem z nią data u góry. Adres tej strony niesie numer wersji aplikacji, więc starsze wydania zawsze wskazują dokument, który naprawdę je opisywał — wydania sprzed 1.5, które nie łączą się z żadnym serwerem, opisuje dokument pod adresem bez numeru wersji.

Kontakt

Pytania o prywatność: joshi@jd-japanese.pl