Przejdź do treści
DepositMonstersDepositMonstersPobierz

DepositMonstersFormalnościDOK 02

Polityka prywatności

Co aplikacja zbiera, dokąd to wysyła i jak długo trzyma. Spisane z kodu gry, nie z szablonu.

Szkic do przeglądu prawnegoOstatnia zmiana:

DepositMonsters to gra oparta na polskim systemie kaucyjnym: oddajesz opakowanie do recyklomatu, skanujesz bon i dostajesz Ładunek, z którego budujesz Iskrzaka. Żeby to działało, aplikacja musi wiedzieć, kim jesteś, gdzie stoisz w chwili naciśnięcia przycisku i co było na bonie. Ten dokument mówi, co z tego zostaje u nas, co idzie dalej, a co ginie od razu.

Administrator i kontakt

Administratorem danych osobowych jest [NAZWA FIRMY - do uzupelnienia], [ADRES POCZTOWY - do uzupelnienia].

Inspektor ochrony danych: [do uzupełnienia przez prawnika - zależy od skali przetwarzania i formy prawnej administratora].

Jakie dane i po co

Poniższa tabela jest pełną listą danych, które aplikacja zbiera albo wytwarza. Nie ma w niej pozycji „i inne dane techniczne": jeśli czegoś tu nie ma, to tego nie zbieramy.

DaneSkądDokądJak długo
Tożsamość u dostawcy logowania (para „dostawca i jego wewnętrzny identyfikator"), adres e-mail, nazwa wyświetlanalogowanie Google albo Applenasza bazado usunięcia konta
Skrót hasła przy rejestracji hasłemrejestracjanasza baza, nigdy samo hasłodo usunięcia konta
Token odświeżania sesji, przechowywany jako SHA-256sesja w aplikacjinasza baza30 dni, z rotacją i unieważnianiem całej rodziny tokenów
Zdjęcie bonuaparat w aplikacjipamięć procesu serwera, nie dysk; awaryjnie model wizyjny Google (Gemini), gdy jest włączonynie jest przechowywane
Skrót kodu kreskowego bonu (SHA-256)bonnasza baza, osobna kolekcja bez właściciela7 dni, kasowane automatycznie przez bazę
Położenie GPSjeden odczyt po naciśnięciu „jestem przy maszynie"pamięć podręczna serwera jako otwarta obecność przy Strefieokoło 26 godzin; trwały wpis o wizycie nie zawiera współrzędnych
Pinezka zgłoszonej Strefy: współrzędne maszyny, adres, konto odkrywcygracznasza baza, a po potwierdzeniu obecnością - wspólna mapadoba bez potwierdzenia obecnością, potem trwale jako Strefa
Rozliczone reaktywacje, księga Ładunku, stan Iskrzaka, skrzynia, gang, wyzwania i meczerozgrywkanasza bazado usunięcia konta; księga Ładunku jest z zasady tylko dopisywana
Urządzenie: identyfikator instalacji, platforma, wersja aplikacji, strefa czasowa, token powiadomieńaplikacja, zgoda systemowa na powiadomienianasza baza; token także do Firebase Cloud Messaging (Google)do wyciszenia powiadomień albo usunięcia konta
Identyfikator reklamowy urządzenia, zgody reklamoweAdMob i formularz zgódGoogle AdMob; u nas nie ma ich wcalezgodnie z polityką Google
Skrót paragonu zakupu (SHA-256), identyfikator produktu, sklep, status licencjisklep Google Play albo App Storenasza baza; weryfikacja w Google Play Developer API i App Store Server APIwpis zostaje także po usunięciu konta - patrz sekcja 11
Błędy serwera z identyfikatorem żądaniaserwerSentryzgodnie z ustawieniem retencji w Sentry
Identyfikator gracza z Robloxa po sparowaniuDepositMonsters Tycoonnasza bazado usunięcia konta
Adres e-mail z wishlisty, platforma, język stronyformularz na stronieCloudflare R2, jurysdykcja UEdo wysłania powiadomienia o premierze albo do wycofania zgody
Wejścia do gry na Robloxie i czas w niej (tylko konta sparowane)DepositMonsters Tycoonnasza baza90 dni
Adres IP i logi żądańserwer i dostawca hostinguRender, nasza infrastrukturakrótko, technicznie [do uzupełnienia: dokładny okres retencji logów]

Podstawy prawne

  • Wykonanie umowy (art. 6 ust. 1 lit. b RODO): konto, rozgrywka, rozliczanie bonów, Ładunek, pojedynki, sprzedaż licencji.
  • Zgoda (art. 6 ust. 1 lit. a RODO): reklamy dopasowane, powiadomienia push, odczyt położenia. Każdą z nich można wycofać, a wycofanie nie odbiera dostępu do gry.
  • Uzasadniony interes (art. 6 ust. 1 lit. f RODO): wykrywanie oszustw i nadużyć, bezpieczeństwo kont, diagnostyka błędów, obrona przed roszczeniami.
  • Obowiązek prawny (art. 6 ust. 1 lit. c RODO): rozliczenia zakupów i reklamacje [do uzupełnienia przez prawnika: które konkretnie obowiązki i na jaki okres].

Zgoda na regulamin i potwierdzenie wieku są warunkiem założenia konta - bez nich konto w ogóle nie powstaje.

Bon i zdjęcie bonu

Droga bonu wygląda tak:

  1. Aplikacja robi zdjęcie i wysyła je do naszego serwera. Serwer trzyma je w pamięci procesu na czas odczytu.
  2. Kod kreskowy dekodujemy sami, lokalnie. Tekst bonu czyta najpierw Tesseract, czyli program działający na naszym serwerze, bez wysyłania czegokolwiek na zewnątrz.
  3. Jeśli ten odczyt się nie uda, a awaryjny model wizyjny jest włączony, to samo zdjęcie - pomniejszone do 1024 pikseli dłuższej krawędzi - trafia do Google (interfejs Gemini) wyłącznie po to, żeby przepisać z niego liczby. Model nie czyta kodu kreskowego i nie dostaje danych konta. Tę ścieżkę wyłącza się po naszej stronie jednym ustawieniem i wtedy nie idzie nigdzie nic.
  4. Z bonu zostaje u nas wyłącznie skrót SHA-256 cyfr kodu kreskowego, w osobnej kolekcji, bez właściciela, kwoty, godziny i sklepu. Baza kasuje go sama po 7 dniach. Służy jednej rzeczy: żeby tego samego bonu nie dało się rozliczyć dwa razy.
  5. Trwały wpis o rozliczeniu mówi tylko: to konto dostało tyle Ładunku przy tej Strefie, z takim statusem i taką liczbą sztuk. Nie ma w nim niczego z treści bonu.

Położenie

Odczyt trafia do pamięci podręcznej serwera jako otwarta obecność przy wybranej Strefie i znika z niej sam po około 26 godzinach, czyli po czasie, w którym bonu i tak nie da się już rozliczyć. Wpis, który zostaje na stałe, mówi wyłącznie, przy której Strefie było rozliczenie - bez współrzędnych.

Osobno: gdy zgłaszasz nową Strefę, współrzędne maszyny i jej adres stają się - po potwierdzeniu obecnością - punktem na wspólnej mapie, widocznym dla wszystkich graczy. Przy Strefie zostaje też trwale informacja, że odkryło ją Twoje konto. To położenie recyklomatu, a nie Twoje, ale warto wiedzieć, że jest publiczne.

Logowanie i tożsamość

Do gry logujesz się kontem Google albo Apple; można też założyć konto hasłem. Tożsamość zapisujemy jako parę „dostawca i jego wewnętrzny identyfikator" - nigdy jako sam adres e-mail. Adres e-mail, jeśli dostawca go poda, służy dwóm rzeczom: kontaktowi i łączeniu kont.

  • Łączenie kont działa wyłącznie po zweryfikowanym adresie. Konto założone hasłem jest niezweryfikowane, więc nie da się do niego podpiąć logowania Google ani Apple. To zabezpieczenie, a nie niedogodność: bez niego ktoś mógłby założyć konto na cudzy adres i czekać, aż właściciel zaloguje się przez Google prosto na konto, do którego on zna hasło.
  • Hasło trzymamy wyłącznie jako skrót. Samego hasła nie znamy i nie da się go z bazy odtworzyć.
  • Od Apple przechowujemy jeden dodatkowy token i wyłącznie po to, żeby przy usuwaniu konta unieważnić powiązanie po stronie Apple. Do niczego innego go nie używamy i nie wysyłamy go nigdzie poza Apple.
  • Konto dostaje publiczny, sześcioznakowy kod, po którym znajdują Cię inni gracze chcący rzucić wyzwanie. Nazwa Twojego Iskrzaka to ten sam kod zapisany sylabami, a nie osobna dana w bazie. Wyszukiwarka rywali działa tylko na pełny kod albo pełną nazwę, nigdy na fragment nazwy konta: ta lista celowo nie jest książką adresową.
  • Zapisujemy też datę potwierdzenia wieku i akceptacji regulaminu - to wymóg, a nie statystyka.

Reklamy i zgody

Aplikacja jest darmowa i wyświetla reklamy pełnoekranowe dostarczane przez Google AdMob. Reklama ani pieniądze nigdy nie dają Ładunku ani żadnej przewagi w grze.

Reklamy pełnoekranowe pojawiają się w trzech miejscach i tylko w nich:

  • na podsumowaniu rundy mini-gry, po pokazaniu wyniku;
  • na podsumowaniu meczu Wyrzutni;
  • przy wyjściu z ekranu gier.

Lista miejsc bez reklam jest zamknięta:

  • cała ścieżka przy maszynie: wybór Strefy, obecność, aparat, wynik bonu;
  • wyklucie Kapsuły i pierwszy dzień nowego gracza;
  • zabiegi opieki nad Iskrzakiem;
  • mapa w trakcie szukania maszyny;
  • pierwsze uruchomienie, wybór języka, logowanie i ekrany zgód.

Do wyświetlenia reklamy AdMob używa identyfikatora reklamowego urządzenia i danych o zdarzeniach w aplikacji. Te dane trafiają do Google, a nie do nas: u siebie nie trzymamy ani identyfikatora reklamowego, ani profilu reklamowego gracza.

W Europejskim Obszarze Gospodarczym i w Wielkiej Brytanii przed pierwszą reklamą pokazujemy formularz zgód (Google User Messaging Platform). Do czasu odpowiedzi nie idzie żadna reklama. Zgodę można wycofać albo zmienić w każdej chwili w ustawieniach aplikacji, w sekcji dokumentów. Odmowa dopasowania nie wyłącza reklam - wyłącza personalizację. Na iOS o zgodę na śledzenie prosi osobno system (App Tracking Transparency), a jej brak oznacza reklamy niedopasowane.

Stanu zgody nie zapisujemy u siebie - jego właścicielem jest oprogramowanie dostawcy i system operacyjny.

Jednorazowy zakup licencji usuwa reklamy pełnoekranowe na zawsze, na każdym urządzeniu tego konta. Reklamy dobrowolne, czyli takie, które gracz sam włącza, działają także po zakupie i tak samo nie dają Ładunku.

Zakupy i licencja

Licencję bez reklam kupuje się w Google Play albo App Store. Płatność obsługuje sklep: nie widzimy i nie przechowujemy danych karty ani żadnych innych danych płatniczych.

Po zakupie sklep wydaje paragon. U nas zostaje:

  • skrót SHA-256 paragonu - żeby jeden zakup nie odblokował dwóch kont;
  • identyfikator produktu, nazwa sklepu, data zakupu i status licencji.

Paragon sprawdzamy bezpośrednio u wydawcy (Google Play Developer API, App Store Server API); deklaracja aplikacji nam nie wystarcza. Nasłuchujemy też powiadomień sklepu o zwrocie pieniędzy: zwrot gasi licencję, a wpis o niej zostaje ze statusem „zwrócona", żeby dało się odpowiedzieć na pytanie, dlaczego reklamy wróciły.

Właścicielem licencji jest konto w naszej bazie, nie telefon i nie konto sklepu.

Powiadomienia

Powiadomienia są dobrowolne. O zgodę systemową prosimy dopiero przy pierwszym umówionym pojedynku, a nie przy starcie aplikacji.

Wysyłamy dwa rodzaje powiadomień i tylko te dwa:

  • twoja tura w umówionym pojedynku;
  • Ładunek na wyczerpaniu, najwyżej raz na dobę.

Do wysyłki potrzebny jest token urządzenia z Firebase Cloud Messaging (Google). Zapisujemy go razem z identyfikatorem instalacji, platformą, wersją aplikacji i strefą czasową urządzenia. Strefa czasowa jest potrzebna po to, żeby nie budzić nikogo w nocy: powiadomienie przypadające na godziny 22-8 czasu gracza czeka do rana, zamiast zostać skasowane.

Wyciszenie w ustawieniach aplikacji kasuje token z naszej bazy, więc nie mamy dokąd wysłać powiadomienia. Zgody systemowej nie kopiujemy u siebie - jej jedynym właścicielem jest system operacyjny i tam też można ją odebrać.

Gra na Robloxie

DepositMonsters Tycoon to osobne miejsce na platformie Roblox, w którym Twój Iskrzak z tej aplikacji pracuje w zakładzie, który odbudowujesz. Nie jest jeszcze wydane.

  • Konta łączy się kodem parowania wygenerowanym w naszej aplikacji: jeden kod na konto, ważny kilka minut, jednorazowy. Kod przepisuje się w grze na Robloxie. Nie używamy do tego publicznego kodu konta, bo ten znają inni gracze.
  • Postęp zakładu zapisuje Roblox na swoich serwerach i nie trzymamy go u siebie. Dla kont sparowanych zapisujemy natomiast wejścia do gry i czas w niej (zdarzenia kasują się po 90 dniach), żeby pomoc techniczna widziała, co się działo. Nic z tego nie wpływa na rozgrywkę w aplikacji.
  • Po sparowaniu zapisujemy u siebie identyfikator gracza Roblox i wiążemy go z kontem w grze. Roblox przekazuje nam wyłącznie ten identyfikator - nie dostajemy ani nazwy gracza, ani adresu e-mail, ani żadnych innych danych z konta Roblox.
  • Powiązanie jest jednorazowe i nie da się go rozpiąć z aplikacji. Jedno konto Roblox odpowiada jednemu kontu w grze i odwrotnie. Pomyłkę prostuje pomoc techniczna, bo to jedyne miejsce, w którym po drugiej stronie stoi człowiek. Powiązanie znika razem z usunięciem konta.
  • Wszystko, co dzieje się na platformie Roblox, podlega regulaminowi i polityce prywatności Roblox Corporation. Nie mamy wpływu na to, jakie dane zbiera tam Roblox. DepositMonsters nie jest powiązane z Roblox Corporation.

Odbiorcy danych

Danych nie sprzedajemy i nie udostępniamy do cudzych celów marketingowych. Korzystamy natomiast z dostawców, bez których aplikacja nie działa.

OdbiorcaPo coCo dostaje
Googlelogowanie, powiadomienia (Firebase), reklamy (AdMob), sklep Google Play, awaryjny odczyt bonu (Gemini)tożsamość logowania, token powiadomień, identyfikator reklamowy i zgody, paragon, a przy awaryjnym odczycie także zdjęcie bonu
Applelogowanie, sklep App Storetożsamość logowania, paragon
MongoDB Atlasbaza danych gry, region Frankfurt (Unia Europejska)wszystkie dane konta i rozgrywki wymienione w sekcji 2
Renderhosting serwera i pamięć podręczna, region Frankfurt (Unia Europejska)ruch sieciowy, logi żądań, dane w przetwarzaniu
Sentryzgłoszenia błędów serweratreść błędu i identyfikator żądania
Cloudflareprzechowywanie wishlisty premiery (R2, jurysdykcja UE)adres e-mail, platforma i język strony z formularza wishlisty
Roblox CorporationDepositMonsters Tycoon, po sparowaniu kontidentyfikator gracza Roblox, dane karty Iskrzaka wyliczone z rozgrywki

Jak długo trzymamy dane

  • Zdjęcie bonu - nie jest przechowywane w ogóle.
  • Skrót kodu kreskowego - 7 dni, kasowany automatycznie przez bazę.
  • Odczyt położenia - około 26 godzin w pamięci podręcznej, potem znika sam.
  • Pinezka bez potwierdzenia obecnością - doba, potem kasuje się sama.
  • Token odświeżania sesji - 30 dni, z rotacją przy każdym użyciu.
  • Token powiadomień - do wyciszenia powiadomień albo usunięcia konta.
  • Konto, tożsamość i dane rozgrywki - do usunięcia konta. Co dokładnie dzieje się przy usunięciu, opisuje strona usunięcia konta.
  • Wpis o licencji - zostaje także po usunięciu konta, bo jest dowodem zakupu i podstawą rozliczenia [do uzupełnienia przez prawnika: dokładny okres, wynikający z przepisów o rachunkowości i przedawnieniu roszczeń].
  • Strefy na wspólnej mapie - zostają, bo opisują maszynę, a nie gracza; po usunięciu konta informacja o odkrywcy przestaje wskazywać na istniejące konto.

Twoje prawa

Przysługuje Ci prawo do:

  • dostępu do swoich danych i uzyskania ich kopii;
  • sprostowania danych nieprawidłowych;
  • usunięcia danych;
  • ograniczenia przetwarzania;
  • przenoszenia danych przetwarzanych na podstawie umowy lub zgody;
  • sprzeciwu wobec przetwarzania opartego na uzasadnionym interesie;
  • wycofania zgody w każdej chwili, bez wpływu na zgodność z prawem przetwarzania sprzed wycofania;
  • wniesienia skargi do Prezesa Urzędu Ochrony Danych Osobowych (ul. Stawki 2, 00-193 Warszawa).

Żądania przyjmujemy pod adresem support@depositmonsters.com. Najszybszą drogą do usunięcia danych jest jednak sama aplikacja - opisuje to strona usunięcia konta.

Nie podejmujemy wobec graczy decyzji opartych wyłącznie na zautomatyzowanym przetwarzaniu, które wywoływałyby wobec nich skutki prawne. Automat oznacza natomiast podejrzane rozliczenia bonów i podejrzane przebiegi mini-gier; taką sprawę ogląda potem człowiek w panelu pomocy.

Bezpieczeństwo

  • Cała komunikacja aplikacji z serwerem idzie po HTTPS.
  • Token dostępu żyje 15 minut, token odświeżania 30 dni i leży w bazie wyłącznie jako SHA-256. Przy każdym użyciu podlega rotacji, a próba użycia zużytego tokenu unieważnia całą rodzinę sesji.
  • Hasła trzymamy jako skróty; paragony i kody kreskowe bonów również wyłącznie jako skróty.
  • Baza i serwer stoją w regionie Frankfurt, z kopiami zapasowymi i odtwarzaniem do punktu w czasie.
  • Dostęp do panelu pomocy mają wyłącznie konta z nadaną rolą; roli nie da się przyznać sobie z poziomu aplikacji.
  • Zbieramy tak mało, jak się da - stąd brak magazynu zdjęć bonów, brak śledzenia w tle i brak własnej kopii zgód reklamowych.

Dzieci i wiek

Gra jest przeznaczona dla osób w wieku 16 lat i więcej. Potwierdzenie wieku jest warunkiem założenia konta. Nie kierujemy aplikacji do dzieci i świadomie nie zbieramy danych osób poniżej tego progu. Jeśli dowiemy się, że konto założyła osoba młodsza, usuniemy je razem z danymi.

Wishlista premiery

Na stronie można zostawić adres e-mail, żeby dostać jedno powiadomienie w dniu premiery aplikacji. Zapis nie wymaga konta i nie łączy się z kontem w grze.

  • Zapisujemy adres e-mail, platformę, jeśli ją wybrałeś, język strony, z której się zapisałeś (w nim wyślemy powiadomienie), datę zapisu i wersję treści zgody. Nic więcej - ani adresu IP, ani danych przeglądarki.
  • Podstawą jest zgoda (art. 6 ust. 1 lit. a RODO). Wycofujesz ją, pisząc na support@depositmonsters.com - usuwamy wtedy adres z listy.
  • Lista leży w Cloudflare R2, w jurysdykcji Unii Europejskiej, i nie da się jej odczytać przez stronę - wyłącznie kluczem administratora.
  • Do wysłania powiadomienia przekażemy adresy dostawcy poczty [do uzupełnienia: Brevo albo inny], wyłącznie na czas wysyłki.
  • Po wysłaniu powiadomienia o premierze kasujemy całą listę. Adresu nie używamy do niczego innego i nikomu go nie sprzedajemy.

Zmiany polityki

O istotnych zmianach uprzedzimy w aplikacji, zanim wejdą w życie. Data ostatniej zmiany stoi na górze tej strony. Zmiana, która wymaga zgody, nie wejdzie bez zapytania o nią.