1. Kto odpowiada za Twoje dane
Administratorem danych osobowych użytkowników aplikacji Beezz i strony beezz.app jest AKN Software Kasper Janowski (dalej „my”). Pełne dane rejestrowe - adres i NIP - są w Regulaminie.
W sprawach danych osobowych pisz na privacy@beezz.app. W pozostałych - kontakt@beezz.app. Nie wyznaczyliśmy inspektora ochrony danych; korespondencję czyta właściciel firmy.
2. Zasady, na których to stoi
- Nie łączymy się z Twoim bankiem. Nie prosimy o login do banku, nie mamy dostępu do Twojego rachunku i nie pobieramy historii transakcji. Beezz nie jest usługą finansową.
- Nie wyświetlamy reklam. W aplikacji nie ma żadnego SDK reklamowego ani sieci reklamowej.
- Nie śledzimy Cię między aplikacjami ani stronami. Nie używamy identyfikatorów reklamowych (IDFA, GAID) i nie prosimy o zgodę na śledzenie.
- Nie sprzedajemy danych i nie przekazujemy ich brokerom danych.
- Nie mamy zewnętrznej analityki. Żadnego Firebase, Amplitude, Mixpanela ani testów A/B.
- Twoje dane leżą w Unii Europejskiej - w bazie Supabase w regionie Unia Europejska (Paryż).
3. Konto: bez rejestracji, bez hasła
Konto powstaje automatycznie i anonimowo przy pierwszym uruchomieniu aplikacji. Nie ma ekranu logowania, nie ma rejestracji, nie podajesz e-maila. Na starcie wiemy o Tobie tyle, co nic: identyfikator konta w postaci losowego UUID.
Możesz - dobrowolnie - powiązać konto z Google albo Apple, żeby wejść w swoje dane na innym telefonie. Dopiero wtedy dostajemy dane z tamtego konta: adres e-mail oraz imię i nazwisko, a od Google także adres (link) zdjęcia profilowego. Ścieżki e-mail plus hasło nie ma w ogóle, więc nie przechowujemy żadnych haseł.
4. Jakie dane zbieramy i po co
| Dane | Skąd pochodzą | Po co | Podstawa prawna |
|---|---|---|---|
| Identyfikator konta (UUID) | Aplikacja tworzy go sama przy pierwszym uruchomieniu | Utrzymanie konta i przypisanie do niego danych | art. 6 ust. 1 lit. b RODO - wykonanie umowy |
| Adres e-mail, imię i nazwisko z konta Google lub Apple, a z konta Google także adres zdjęcia profilowego | Google albo Apple, gdy sam powiążesz konto | Wejście w swoje dane na innym urządzeniu | art. 6 ust. 1 lit. b RODO |
| Nazwa wyświetlana i język aplikacji | Podajesz w profilu (albo bierze się z konta Google lub Apple) | Rozpoznanie Cię w gospodarstwie, język interfejsu | art. 6 ust. 1 lit. b RODO |
| Domownicy: imię i kolor | Wpisujesz je Ty | Rozdzielenie wydatków między osoby w budżecie | art. 6 ust. 1 lit. b oraz lit. f RODO |
| Wpisy budżetowe: kwota, kierunek (wydatek albo wpływ), data, kategoria, nazwa sklepu, notatka, autor | Wpisujesz je Ty, dyktujesz albo zatwierdzasz z powiadomienia bankowego | Rdzeń aplikacji - prowadzenie budżetu | art. 6 ust. 1 lit. b RODO |
| Pokwitowanie rozliczenia przelewu własnego: kwota, waluta, data, notatka, autor i Twój wybór - dopisanie do oszczędności, powiązanie z wpłatą, która już tam jest, albo pominięcie | Powstaje, gdy przy powiadomieniu o przelewie między własnymi kontami wybierzesz, co z nim zrobić - szczegóły w sekcji 8 | Żeby ten sam przelew nie trafił do budżetu ani do oszczędności drugi raz | art. 6 ust. 1 lit. b RODO |
| Oszczędzanie: słupki - nazwa, którą wpisujesz, kolor i opcjonalny cel (kwota, waluta i termin); ruchy pieniędzy - wpłaty, wypłaty, przeniesienia między słupkami i ustawienie stanu: kwota, data, słupek, autor i notatka do 500 znaków; dziennik zmian słupków - kto i kiedy założył albo zmienił słupek i jakie nadał mu ustawienia | Wpisujesz je Ty; zapisuje je serwer | Odkładanie pieniędzy w gospodarstwie - z celem albo bez | art. 6 ust. 1 lit. b RODO |
| Budżet gospodarstwa (nazwa, waluta, kwota, dzień rozpoczęcia miesiąca, strefa czasowa - np. Europe/Warsaw), limity kategorii, kategorie własne, opłaty cykliczne wraz z ich opisami, ustawienia prognozy i limitu (m.in. czy uwzględniają oszczędności i jaki zostawiają zapas) oraz przełącznik „Kto dodał wpis” | Ustawiasz je Ty albo inny domownik; strefę czasową podaje telefon domownika | Liczenie, ile zostało do końca miesiąca, i dzielenie dni tak samo jak na Twoim telefonie; podpisywanie wpisów imieniem autora, gdy budżet ma włączony przełącznik „Kto dodał wpis” | art. 6 ust. 1 lit. b RODO |
| Odpowiedź na pytanie o zgodę na AI (tak albo nie), zapisana przy Twoim członkostwie w budżecie | Udzielasz jej sam - szczegóły w sekcji 7 | Uszanowanie Twojej odmowy także wtedy, gdy raport tygodnia otwiera ktoś inny z budżetu | art. 6 ust. 1 lit. c w zw. z art. 7 ust. 1 RODO - wykazanie zgody |
| Transkrypt dyktowanego zdania i wynik jego rozłożenia na kwotę, datę i kategorię | Powstaje z Twojego dyktowania - szczegóły w sekcji 6 | Zamiana zdania na gotowy wpis; podgląd, gdy rozpoznanie się pomyli | art. 6 ust. 1 lit. b RODO |
| Podpowiedzi kategorii gospodarstwa - słowa, po których aplikacja rozpoznaje kategorię, w praktyce nazwy sklepów i produktów | Powstają z Twoich wpisów; zapisuje je serwer | Trafniejsze podpowiadanie kategorii w Twoim budżecie | art. 6 ust. 1 lit. b RODO |
| Kody zaproszeń do gospodarstwa (8 znaków, ważne 7 dni) | Generuje baza | Dołączenie domownika do wspólnego budżetu | art. 6 ust. 1 lit. b RODO |
| Plan konta (darmowy / BEEZZ), identyfikator zakupu ze sklepu, daty ważności | Apple albo Google po zakupie, za pośrednictwem RevenueCat | Odblokowanie funkcji płatnych, odnowienia, zwroty | art. 6 ust. 1 lit. b oraz lit. c RODO |
| Identyfikator urządzenia nadawany przez system - na iOS identyfikator dostawcy (IDFV), na Androidzie identyfikator instalacji. Nie jest to identyfikator reklamowy | Odczytuje go biblioteka RevenueCat w aplikacji i przekazuje do RevenueCat (sekcja 11) | Obsługa zakupów: przypisanie ich do konta i przywracanie | art. 6 ust. 1 lit. b RODO |
| Tylko na iPhonie: czy instalacja przyszła z reklamy Apple Ads w wyszukiwarce App Store, a jeśli tak - kampania, grupa reklam i słowo kluczowe. Bez identyfikatora reklamowego i bez daty kliknięcia | Apple: biblioteka RevenueCat odczytuje w aplikacji token atrybucji (AdServices), a RevenueCat wymienia go u Apple na te dane i zapisuje przy Twoim profilu klienta (sekcja 11). Gdy instalacja nie przyszła z reklamy, Apple odpowiada tylko, że reklamy nie było | Sprawdzenie, które nasze reklamy w App Store przyprowadzają osoby, które potem kupują Plan BEEZZ | art. 6 ust. 1 lit. f RODO - nasz uzasadniony interes |
| Zapis zdarzenia płatniczego: co się stało (zakup, odnowienie, anulowanie, wygaśnięcie, zwrot), identyfikator zdarzenia i zakupu, nazwa produktu, sklep, cena, waluta, kraj sklepu, data oraz surowa treść zdarzenia od RevenueCat | Apple albo Google, za pośrednictwem RevenueCat | Rozliczenie sprzedaży, obsługa zwrotów i reklamacji, możliwość sprawdzenia, co sklep naprawdę powiedział o Twoim zakupie | art. 6 ust. 1 lit. b oraz lit. c RODO |
| Cache raportu tygodnia: zagregowane liczby tygodnia, nazwy kategorii i wygenerowane zdania | Liczy je serwer z Twoich wpisów | Żeby nie przeliczać i nie generować raportu za każdym razem | art. 6 ust. 1 lit. b RODO |
| Statystyki użycia: 9 nazwanych zdarzeń wraz z etykietami, a do tego wersja aplikacji, platforma, język interfejsu, kod kraju rynku, data oraz dni, w których aplikacja była otwierana | Zapisywane automatycznie - szczegóły w sekcji 9 | Wiedza, które funkcje działają, a które nie | art. 6 ust. 1 lit. f RODO - nasz uzasadniony interes |
| Zgłoszenie błędu: opis, który wpiszesz, rodzaj zgłoszenia (problem albo pomysł), miejsce w aplikacji, Twoja nazwa wyświetlana, identyfikator konta i gospodarstwa, wersja aplikacji, system i jego wersja, język interfejsu oraz kod kraju rynku; do tego nasza korespondencja w tej sprawie - odpowiedzi i notatki | Wysyłasz je sam z Ustawień - szczegóły w sekcji 18 | Naprawienie tego, co zgłaszasz | art. 6 ust. 1 lit. f RODO - nasz uzasadniony interes |
| Adres e-mail do odpowiedzi na zgłoszenie - tylko jeśli go podasz | Wpisujesz go sam w formularzu zgłoszenia, po zaznaczeniu zgody na kontakt mailowy (przy koncie powiązanym z Google albo Apple pole podpowiada adres tego konta - możesz go zmienić) | Odpowiedź na to jedno zgłoszenie | art. 6 ust. 1 lit. a RODO - Twoja zgoda |
| Raport awarii: identyfikator konta i gospodarstwa (UUID), rodzaj i miejsce błędu, ślad ostatnich kroków w aplikacji, model urządzenia, wersja systemu i aplikacji | Aplikacja wysyła go sama, gdy się zawiesi albo natrafi na błąd - szczegóły w sekcji 18 | Naprawianie tego, co psuje się na telefonach, których nie mamy | art. 6 ust. 1 lit. f RODO - nasz uzasadniony interes |
Żeby używać Beezz, nie musisz podać niczego - konto powstaje samo. Powiązanie z Google albo Apple jest dobrowolne. Resztę podajesz sam i bez tego aplikacja nie ma czego liczyć.
5. Wspólny budżet - kto widzi Twoje wpisy
Budżet w Beezz jest wspólny dla maksymalnie czterech osób. Każdy, kto do niego dołączy, widzi wszystkie wpisy gospodarstwa - kwoty, daty, kategorie, nazwy sklepów i notatki. Tak samo Oszczędzanie: nazwy słupków i ich cele, każdą wpłatę, wypłatę i przeniesienie, ich notatki i to, kto je dodał. Także to, co powstało przed jego dołączeniem. Tak działa wspólna księga i nie da się w niej mieć osobnej, prywatnej półki.
Kto dodał wpis. W ustawieniach budżetu jest przełącznik „Kto dodał wpis”, widoczny, gdy w budżecie są co najmniej dwie osoby z kontem. Domyślnie jest wyłączony, a włączyć i wyłączyć może go każdy domownik. Gdy jest włączony, wszyscy w budżecie widzą przy każdym wpisie, kto go dodał („Ty” albo imię), a wydatki w kategoriach dzielą się na osoby. Przy wpisie cyklicznym autorem jest osoba, która założyła tę regułę.
Wpisując imię domownika i przypisując mu wydatki, przetwarzasz dane innej osoby. Podaj tyle, ile trzeba - imię albo pseudonim w zupełności wystarczy - i uprzedź tę osobę, że jej wydatki są zapisywane w aplikacji.
6. Dyktowanie wpisów
Mówisz „kupiłem chleb za 12 złotych”, a aplikacja robi z tego wpis. W środku dzieją się dwie rzeczy i warto je rozdzielić, bo dotyczą różnych firm.
- Dźwięk zamienia na tekst silnik mowy Twojego systemuNa iOS jest to rozpoznawanie mowy Apple, na Androidzie - systemowe rozpoznawanie mowy, w praktyce usługa Google. Przekazujemy mu dźwięk z mikrofonu i ten silnik może przetwarzać go na swoich serwerach, zgodnie z politykami Apple albo Google i ustawieniami Twojego telefonu. Nie mamy na to wpływu i nie obiecujemy, że rozpoznanie zostanie na urządzeniu.
- Do nas wraca sam tekst - i ten zapisujemyNagrania nie zapisujemy i nigdy nie wysyłamy go na serwery Beezz. Zapisujemy natomiast transkrypt, czyli całe wypowiedziane zdanie, słowo w słowo, razem z tym, co parser z niego wyciągnął. To najbardziej wrażliwa rzecz, jaką przechowujemy.
O mikrofon aplikacja prosi dopiero przy pierwszym tapnięciu ikony mikrofonu, nie przy starcie. Ile trzymamy transkrypty - sekcja 12.
7. Sztuczna inteligencja
W dwóch miejscach korzystamy z modelu językowego Google Gemini API (generativelanguage.googleapis.com). Wysyłamy tam mało i chcemy dokładnie powiedzieć, co.
| Funkcja | Co dokładnie wychodzi do Google | Czego tam nie ma |
|---|---|---|
| Rozłożenie dyktowanego zdania na wpis | Fragment zdania, który został po tym, jak nasz parser wyjął z niego kwotę, jednostkę, czasownik i datę - i tylko wtedy, gdy sam nie rozpoznał kategorii. Ze zdania „wczoraj wydałem 60 zł u weterynarza na szczepienie Puszka” wychodzi fraza „u weterynarza na szczepienie Puszka”. Do tego lista nazw kategorii Twojego gospodarstwa | Bez kwot, bez dat, bez identyfikatora konta, bez identyfikatora gospodarstwa i bez całego zdania - w szczególności bez tego, ile wydałeś i kiedy |
| Proza raportu tygodnia | Liczby tygodnia: suma wydatków, liczba wpisów, liczba dni z wydatkami, suma tygodnia poprzedniego, mediana znanych tygodni, suma wpływów, suma wydatków weekendowych, łączna kwota i liczba opłat cyklicznych (także tych z nadchodzącego tygodnia) oraz cztery największe kategorie z kwotami i zmianą procentową. Do tego najwyżej cztery wnioski, które aplikacja wyliczyła sama - każdy to nazwa kategorii i liczby, bez zdań: kategoria wyraźnie droższa niż zwykle albo nowa w znanych tygodniach, kategoria, na którą poszła większość tygodnia (z liczbą jej wpisów), kategoria, w której zwykle coś jest, a tym razem nic, ile dni z rzędu nic nie wydano albo że wydatki były codziennie, kwota największego pojedynczego wydatku tygodnia z jego kategorią główną na tle typowego wydatku oraz to, ile przy tym tempie wyda się do końca miesiąca wobec tego, co zostało z limitu, i ile dni zostało. Na koniec zakres dat tygodnia, waluta, język i zdania, które aplikacja napisała sama z tych liczb - model ma je tylko przeredagować | Bez listy transakcji - żadnego wpisu z datą, nazwą sklepu, notatką czy autorem; jedyna kwota pojedynczego wydatku to ta największa, opisana obok, i idzie bez daty, sklepu i notatki. Bez nazw opłat cyklicznych, bez identyfikatora konta i gospodarstwa, bez imion domowników i bez podziału wydatków na osoby |
To są dwie różne porcje danych i celowo nie sklejamy ich w jedno zdanie: do rozłożenia dyktowania idą fragmenty tekstu bez kwot i dat, a do raportu liczby tygodnia i nazwy kategorii - wśród nich kwota jednego, największego wydatku, ale bez jego daty, sklepu i notatki. Pełne dyktowane zdanie - z kwotą i datą - zostaje u nas i do Google nie trafia.
- AI jest opcjonalna. Bez niej aplikacja działa - wpisy dodajesz ręcznie, a raport tygodnia ma wersję liczbową ze zdaniami szablonowymi, układanymi na urządzeniu.
- Warstwa AI jest dodatkowo za Planem BEEZZ - planem budżetu, a nie pojedynczego konta: wystarczy, że opłaca go ktoś z domowników. W budżecie bez Planu BEEZZ nic do modelu nie wychodzi.
- Najpierw pytamy o zgodę. Zanim cokolwiek wyjdzie do modelu, aplikacja pokazuje okno „Wsparcie AI”, które nazywa odbiorcę (Google Gemini) i mówi, co jest wysyłane. Wybierasz „Zgadzam się” albo „Bez AI”. Bez zgody nic do modelu nie wychodzi: kategorię podpowiada sam słownik Beezz, a raport tygodnia ma wersję szablonową.
- Zgodę cofasz w każdej chwili - w Ustawieniach, w wierszu „Wsparcie AI”. Cofnięcie działa od tej chwili i nie zmienia tego, co zostało wysłane wcześniej. Odpowiedź należy do telefonu, na którym jej udzieliłeś, i zapisujemy ją też przy Twoim członkostwie w budżecie.
- Raport tygodnia opisuje cały budżet naraz, dlatego jego liczby trafiają do modelu tylko wtedy, gdy zgodziła się osoba, która otwiera raport, i nikt z domowników nie odmówił. Jedna odmowa wystarcza, żeby raport tego budżetu był układany bez AI dla wszystkich. Domownik, który jeszcze nie odpowiedział na pytanie o zgodę, raportu nie blokuje - blokuje wyłącznie odmowa. Twoja odpowiedź trafia do budżetu, który masz otwarty w chwili odpowiedzi, a do pozostałych Twoich budżetów - gdy je otworzysz.
- Wysyłka odbywa się wyłącznie wtedy, gdy w naszej konfiguracji serwerowej ustawiony jest klucz do Gemini API. Bez niego funkcje AI po prostu się nie uruchamiają.
- Podstawa prawna: Twoja zgoda (art. 6 ust. 1 lit. a RODO).
8. Import z powiadomień bankowych
Ta funkcja istnieje i działa na obu systemach. Nie jest to połączenie z bankiem - Beezz czyta wyłącznie treść powiadomienia, które bank już wysłał na Twój telefon.
- Android: aplikacja nasłuchuje powiadomień z listy aplikacji płatniczych, którą sami utrzymujemy i uzupełniamy z kolejnymi wersjami aplikacji: banki i aplikacje płatnicze z 14 krajów (Polska, Holandia, Niemcy, Francja, Belgia, Wielka Brytania, Irlandia, Szwecja, Norwegia, Dania, Finlandia, Stany Zjednoczone - w tym PayPal, Venmo i Cash App - Kanada i Australia), w tym Swish, Vipps, MobilePay i Curve, aplikacje z alertami kart CardValet i CardNav, przez które zakupy kartą ogłasza wiele amerykańskich banków lokalnych i unii kredytowych, a do tego Revolut, Wise, N26, Klarna, Google Wallet i Samsung Wallet, które działają ponad granicami. Dostęp do powiadomień nadajesz ręcznie, na systemowym ekranie Androida - my możemy tylko o to poprosić.
- iOS 17 i nowszy: automatyzację tworzysz sam w Skrótach Apple, a jej wyzwalaczem jest transakcja w Portfelu (Apple Pay), nie powiadomienie z banku. Powiadomień bankowych Beezz na iPhonie w ogóle nie czyta i nie prosi o dostęp do nich.
Zasada jest na obu systemach ta sama: treść powiadomienia jest parsowana na Twoim urządzeniu i nigdy go nie opuszcza. Nie wysyłamy jej na nasze serwery, nie wysyłamy jej do modelu AI, nie wysyłamy też nazwy banku ani nazwy aplikacji, z której powiadomienie przyszło. Na serwer trafia dopiero wpis, który zatwierdzisz - kwota, kategoria, data, czasem nazwa sklepu w notatce. Dokładnie tyle, ile wpisałbyś ręcznie.
Przelew między własnymi kontami nie jest wydatkiem, więc przy takim powiadomieniu aplikacja pyta, co z nim zrobić: dopisać go do oszczędności, powiązać z wpłatą, która już tam jest, albo pominąć. Każdy z tych wyborów - także pominięcie, przy którym żaden wpis nie powstaje - zapisujemy na serwerze jako krótkie pokwitowanie: kwotę, walutę, datę, notatkę z karty (tę samą, która trafiłaby do wpisu), autora i to, co wybrałeś. Dzięki temu ten sam przelew nie wraca drugi raz. Pokwitowanie leży tak długo jak wpisy budżetu (sekcja 12) i nie zawiera pełnej treści powiadomienia ani nazwy banku.
- Domyślnie funkcja jest wyłączona. Nic się nie dzieje, dopóki sam jej nie włączysz.
- Wyłączasz ją jednym przełącznikiem w Beezz - a na Androidzie dodatkowo możesz odebrać dostęp do powiadomień w ustawieniach systemu.
- Powiadomienia inne niż o płatnościach są pomijane. Nie zapisujemy ich i nigdzie nie wysyłamy.
9. Statystyki użycia
Zbieramy dziewięć nazwanych zdarzeń, do własnej tabeli w naszej bazie, bez żadnego zewnętrznego SDK analitycznego. Lista jest zamknięta i wygląda tak:
- Pierwsze uruchomienie: ukończenie konfiguracji albo jej pominięcie, a także zejście aplikacji z ekranu w trakcie konfiguracji (na przykład gdy zablokujesz telefon albo przełączysz się na inną aplikację) - raz na każdy krok, na którym to się stało.
- Pierwszy wpis: to, że po konfiguracji aplikacja sama otworzyła okno dodawania pierwszego wpisu. Zapisujemy tylko samo otwarcie - nie to, co w nim wpiszesz.
- Ekran z planem płatnym: jego pokazanie, kliknięcie na nim przycisku, jego zamknięcie.
- Otwarcie prognozy oraz otwarcie ekranu podsumowań - po to, żeby wiedzieć, ilu ludzi w ogóle dotarło do funkcji, przy których potem pokazuje się ekran z planem.
Wersje aplikacji sprzed 3.0.0 mogą wysyłać jeszcze jedno albo oba z dwóch zdarzeń, które później wycofaliśmy: ukończenie pojedynczego kroku konfiguracji oraz ocenę aplikacji w skali od 1 do 5, jeśli ktoś na nią odpowiedział. Od wersji 3.0.0 aplikacja żadnego z nich nie zbiera.
Do każdego zdarzenia dopisujemy identyfikator konta i gospodarstwa, wersję aplikacji, platformę, datę oraz etykiety samego zdarzenia. Cała ich lista to: skąd wszedłeś na ekran z planem i z którego konkretnie miejsca, jakiego okresu dotyczy plan, czy był w tej chwili dostępny do kupienia, czy przycisk oferował darmowe dni, czy ekran z planem zamknął się, gdy sklep przyjął już zakup, ale jeszcze go nie rozliczył, jaki wariant miała prognoza, w jakim wariancie otworzył się ekran podsumowań i według czego był pogrupowany, na którym kroku pominięto konfigurację albo aplikacja zeszła z ekranu, którędy wyszedłeś z konfiguracji do okna pierwszego wpisu (od razu, przez samouczek albo dołączając kodem do cudzego budżetu), a przy ukończeniu konfiguracji - do której grupy należy konto: tej, której ofertę planu pokazujemy zaraz po konfiguracji, tej, której pokazujemy ją raz przy otwarciu aplikacji w jednym z kolejnych dni, czy tej, której jej nie pokazujemy. Dopisujemy też język interfejsu (polski, angielski, niderlandzki albo szwedzki) i kod kraju rynku - kraj Twojego konta sklepowego, a gdy sklep go nie poda, region z ustawień języka telefonu. To nie jest lokalizacja: nie prosimy o żadne uprawnienie lokalizacyjne i nie czytamy GPS-u ani sieci. Osobno zapisujemy jeden wiersz na każdy dzień, w którym aplikacja była otwarta. Nie zapisujemy tu żadnych kwot, notatek ani nazw sklepów.
Z danych, które już mamy, liczymy też zestawienia do naszego wewnętrznego panelu. Dla każdego konta: kiedy powstało, w ile dni i kiedy ostatnio aplikacja była otwierana, ile wpisów, budżetów i opłat cyklicznych ma konto i ile najwięcej osób liczy jego budżet, kiedy powstał pierwszy wpis, czy konto jest powiązane z Google albo Apple, jaki ma plan, skąd go ma i kiedy go kupiło, ile miesięcy historii miało w chwili zakupu, a także platforma, język i kod kraju rynku. Dla każdego budżetu: kiedy powstał, czy przeszedł konfigurację i czy ma Plan BEEZZ, ile ma wpisów, kiedy powstał pierwszy i ostatni z nich, z ilu miesięcy są wpisy, ile osób - w tym z kontem - do niego należy, ile ma opłat cyklicznych, limitów kategorii i kategorii głównych oraz czy ma limit całego miesiąca. Nie zbieramy do tego niczego nowego. Zestawienia przeliczają się raz na dobę, w nocy, więc po usunięciu konta znika ono z nich najpóźniej następnej nocy.
10. Czego nie zbieramy
- Nagrań dźwięku. Nie zapisujemy pliku audio, nie trzymamy bufora dłużej niż trwa wypowiedź i nie wysyłamy dźwięku na nasze serwery. Co się z nim dzieje po stronie systemu - sekcja 6.
- Lokalizacji. Nie prosimy o dostęp i nie zapisujemy współrzędnych. Nazwa sklepu we wpisie to zwykły tekst, nie miejsce na mapie.
- Kontaktów. Zaproszenie działa na kod właśnie po to, żeby nie sięgać po Twoją książkę adresową.
- Zdjęć, filmów i plików z urządzenia.
- SMS-ów i dziennika połączeń.
- Treści powiadomień - patrz sekcja 8.
- Danych karty płatniczej. Płatność obsługuje w całości Apple albo Google; numer karty nie przechodzi przez aplikację ani przez nasze serwery.
- Identyfikatorów reklamowych.
- Zrzutów ekranu. Także raport awarii idzie bez zrzutu ekranu i bez drzewa widoków - sekcja 18.
- Tokenów push. Powiadomienia w Beezz są planowane lokalnie na Twoim telefonie; nie mamy serwera push ani tokenów FCM czy APNs.
- Danych szczególnych kategorii - o zdrowiu, pochodzeniu, przekonaniach, orientacji czy biometrii. Nie pytamy o nie i nie ma na nie miejsca w aplikacji.
11. Komu powierzamy dane
Nie udostępniamy danych nikomu poza dostawcami, bez których usługa nie działa. Supabase, Google (Gemini API), Vercel, RevenueCat, Sentry i Resend przetwarzają je wyłącznie na nasze polecenie, na podstawie umowy powierzenia, i od każdego z nich wymagamy, żeby chronił te dane co najmniej tak, jak opisuje to ta polityka. Apple i Google występują dodatkowo we własnej roli - jako sklepy obsługujące płatność, jako dostawcy logowania i jako systemowe rozpoznawanie mowy - i w tym zakresie odpowiadają za dane samodzielnie, na podstawie własnych polityk.
| Odbiorca | Co otrzymuje | Gdzie przetwarza | Kiedy |
|---|---|---|---|
| Supabase Inc. (infrastruktura Amazon Web Services) | Konto i wszystkie dane budżetu - to jedyne miejsce, w którym leżą Twoje dane | Unia Europejska (Paryż) | Zawsze |
| Google Ireland Ltd. / Google LLC (Gemini API) | Fragmenty dyktowanego zdania bez kwot albo liczby i nazwy kategorii z raportu tygodnia - dokładny zakres w sekcji 7 | Serwery Google; usługa jest globalna, więc także poza EOG | Tylko przy funkcjach AI, w budżecie z Planem BEEZZ i po zgodzie - szczegóły w sekcji 7 |
| Vercel Inc. | Techniczne logi żądań do strony beezz.app - adres IP, data, adres strony, przeglądarka. Bez danych z aplikacji | Stany Zjednoczone | Przy każdym wejściu na stronę |
| RevenueCat, Inc. | Identyfikator konta, zdarzenia zakupu i odnowienia ze sklepu oraz identyfikator urządzenia nadawany przez system - na iOS jest to identyfikator dostawcy (IDFV), na Androidzie identyfikator instalacji. Nie jest to identyfikator reklamowy i nie służy do śledzenia. Na iPhonie także token atrybucji Apple Ads, który RevenueCat wymienia u Apple na kampanię, grupę reklam i słowo kluczowe - te dane istnieją tylko o instalacjach z reklamy w wyszukiwarce App Store (sekcja 4) | Stany Zjednoczone | Zawsze, gdy aplikacja sprawdza Twój plan |
| Functional Software, Inc. (Sentry) | Raporty awarii: identyfikator konta i gospodarstwa, rodzaj i miejsce błędu, ślad ostatnich kroków, dane techniczne urządzenia. Dokładny zakres i to, co wycinamy przed wysyłką - w sekcji 18 | Unia Europejska (Frankfurt) - projekt w europejskim regionie Sentry | Gdy aplikacja się zawiesi albo natrafi na błąd; krótki sygnał sesji przy każdym uruchomieniu |
| Apple Inc. / Google Ireland Ltd. (sklepy) | Dane transakcji zakupowej. Aplikacja nigdy nie widzi danych karty | Zgodnie z politykami Apple i Google | Przy zakupie |
| Apple / Google (logowanie) | Fakt logowania do Beezz; od Apple prosimy o adres e-mail oraz imię i nazwisko, od Google dostajemy adres e-mail, imię i nazwisko oraz adres zdjęcia profilowego | Zgodnie z politykami Apple i Google | Tylko gdy sam powiążesz konto |
| Apple Inc. / Google LLC (systemowe rozpoznawanie mowy) | Dźwięk wypowiedzi - nie trafia on na serwery Beezz, tylko do silnika mowy systemu | Zgodnie z politykami Apple i Google oraz ustawieniami Twojego telefonu | Tylko gdy dyktujesz |
W aplikacji nie ma nic poza tą listą: żadnego SDK reklamowego, analitycznego, map, mediów społecznościowych, atrybucji ani testów A/B. Jedyną atrybucją jest token Apple Ads na iPhonie, który odczytuje biblioteka RevenueCat - opisany w sekcji 4 i w wierszu RevenueCat wyżej. Zewnętrzne SDK, które same z siebie wysyłają dane, są w aplikacji dwa: RevenueCat od zakupów i Sentry od raportów awarii - oba stoją w tabeli wyżej.
Google, RevenueCat i Vercel przetwarzają dane poza Europejskim Obszarem Gospodarczym. Supabase i Sentry przechowują dane w Unii Europejskiej, ale obie są spółkami ze Stanów Zjednoczonych, więc dostęp do danych spoza EOG jest możliwy. Tak samo jest z Resend, Inc. - spółką z USA, przez którą wysyłamy odpowiedź e-mailem na zgłoszenie błędu, jeśli zgodzisz się na kontakt mailowy (sekcja 18); wysyłka idzie z jej europejskiego regionu. W każdym z tych przypadków przekazanie odbywa się na podstawie unijno-amerykańskich ram ochrony danych (EU–U.S. Data Privacy Framework), a tam, gdzie one nie mają zastosowania - standardowych klauzul umownych zatwierdzonych przez Komisję Europejską. Dane osób z Wielkiej Brytanii przekazujemy na tych samych zasadach: do EOG na podstawie brytyjskiej decyzji o adekwatności, a do Stanów Zjednoczonych na podstawie brytyjskiego rozszerzenia tych ram (UK Extension to the EU–U.S. Data Privacy Framework), a tam, gdzie ono nie ma zastosowania - standardowych klauzul umownych z brytyjskim aneksem (UK Addendum).
Dane możemy też udostępnić uprawnionym organom, jeśli obowiązek taki wynika z przepisów prawa.
12. Jak długo przechowujemy dane
- Konto, budżet, cała historia wpisów, Oszczędzanie (słupki, ich historia i dziennik zmian) oraz pokwitowania przelewów własnych (sekcja 8) - do usunięcia konta. Z jednym zastrzeżeniem: we wspólnym budżecie, w którym zostają inni domownicy, wpisy i to, co dodałeś w Oszczędzaniu, nie znikają razem z Twoim kontem. Zostają jako historia tego gospodarstwa, bez informacji, że dodałeś je Ty (sekcja 13), i znikają dopiero razem z gospodarstwem. Gdy usuwasz słupek, jego nazwa znika też z dziennika zmian; zostaje w nim sam ślad zmian tego słupka - bez nazwy, z kwotą celu i terminem - dopóki istnieje budżet.
- Usunięty wpis - 7 dni. Usunięty wpis znika z aplikacji od razu, a z naszych serwerów po 7 dniach - kasuje go nocne zadanie. Jeśli był dniem wpisu cyklicznego, który dalej działa, zostaje po nim sama kwota, data i kategoria - bez nazwy sklepu i notatki - dopóki nie zatrzymasz tej reguły. Dzięki temu ten dzień nie wpisze się drugi raz.
- Transkrypty dyktowanych zdań - 30 dni. Potem kasujemy treść wypowiedzi oraz notatkę i nazwę sklepu z wyniku jej rozłożenia. W bazie zostaje wiersz techniczny - który model ją rozłożył, jak długo to trwało i ile zużył - i sam wynik rozłożenia: kwota, data, kategoria, osoba i kierunek wpisu, bez tego, co powiedziałeś. Skasowanie samego wpisu w budżecie nie usuwa transkryptu wcześniej; usunięcie konta usuwa go od razu.
- Podpowiedzi kategorii (nazwy sklepów i produktów) - do usunięcia konta. To słownik Twojego gospodarstwa i działa dokładnie tak długo, jak długo gospodarstwo istnieje. Wspólna lista popularnych sklepów z sekcji 4 nie zawiera Twoich danych, więc nie ma w niej czego kasować.
- Cache raportu tygodnia - 90 dni. Zagregowane liczby tygodnia i wygenerowane zdania kasujemy po trzech miesiącach; sam raport da się wtedy policzyć od nowa z Twoich wpisów.
- Statystyki użycia i dni aktywności - 24 miesiące. Tyle wystarcza, żeby zobaczyć, jak funkcja zachowuje się przez dwa pełne lata; starsze wiersze kasuje nocne zadanie. Usunięcie konta usuwa je od razu. Sprzeciw wobec tego przetwarzania opisuje sekcja 9.
- Zgłoszenia błędów - 12 miesięcy. Po roku kasujemy je niezależnie od tego, czy błąd został naprawiony - razem z adresem e-mail do odpowiedzi, jeśli go podałeś, i z naszą korespondencją w tej sprawie. Usunięcie konta usuwa je wcześniej.
- Raporty awarii - 90 dni. Tyle trzyma je Sentry, a potem kasuje samo; dłuższej kopii nie mamy. Usunięcie konta nie kasuje ich wcześniej, ale od tej chwili identyfikator w raporcie nie prowadzi już do żadnego konta - szczegóły w sekcji 18.
- Kody zaproszeń - tracą ważność po 7 dniach, a sam wiersz nie czeka na usunięcie konta: kod unieważniony albo przeterminowany kasujemy najpóźniej w najbliższą noc (albo wcześniej, gdy w tym gospodarstwie powstaje nowy kod), a kod, którym ktoś już wszedł, zostaje najwyżej 90 dni - to jedyny ślad, którędy ta osoba dołączyła.
- Uprawnienia do Planu BEEZZ - do usunięcia konta. Zapis zdarzenia płatniczego zostaje dłużej: gdy kupujesz, odnawiasz, anulujesz albo dostajesz zwrot, zapisujemy jeden wiersz z tym, co powiedział sklep - rodzaj zdarzenia, produkt, cenę, walutę, kraj i datę. Trzymamy go, żeby rozliczyć sprzedaż, obsłużyć zwrot i odpowiedzieć na reklamację, przez co najmniej 5 lat od końca roku podatkowego, w którym zakup nastąpił - tyle wymagają przepisy podatkowe. Sprzedawcą wobec Ciebie pozostają Apple i Google i to one wystawiają Ci dokument zakupu; nasz wiersz jest zapisem transakcji, nie Twoją fakturą.
- Kopie zapasowe bazy - 7 dni. Supabase robi codziennie kopię całej bazy i trzyma każdą 7 dni. Usunięte dane mogą więc zostać w kopiach najwyżej 7 dni, a potem znikają razem z nimi. Kopii używamy wyłącznie do odtworzenia bazy po awarii, nie do przywracania pojedynczych kont - usunięcie konta jest dla Ciebie natychmiastowe i nieodwracalne. Gdybyśmy kiedyś musieli odtworzyć bazę z kopii, ponownie usuniemy konta skasowane w międzyczasie.
- Puste konto anonimowe - 30 dni. Konto anonimowe (niepowiązane z Google ani Apple), w którego budżetach nigdy niczego nie zapisano - ani wydatku czy wpływu (także później usuniętego), ani niczego w Oszczędzaniu, ani wpisu cyklicznego - i którego nikt nie otworzył od 30 dni, jest usuwane automatycznie razem z tymi budżetami i ich ustawieniami. Nie dotyczy to kont, na których kiedykolwiek kupiono plan, ani kont będących domownikiem we wspólnym budżecie z inną osobą. Po takim usunięciu aplikacja przy kolejnym uruchomieniu założy nowe, puste konto.
13. Usunięcie konta - co znika, a co zostaje
Konto usuwasz sam w aplikacji: Ustawienia, kafel usuwania, przytrzymanie. Instrukcja krok po kroku jest na stronie Usuwanie konta.
- Znika: Twoje konto, profil, członkostwa w gospodarstwach, wszystkie Twoje transkrypty dyktowanych zdań, zgłoszenia błędów, statystyki użycia, dni aktywności i uprawnienia do planu.
- Znika też każde gospodarstwo, do którego po Twoim odejściu nie może już wejść żadne konto - razem z całą jego zawartością.
- Zostaje na 90 dni: raporty awarii w Sentry (sekcja 18). Po usunięciu konta nie da się ich już z Tobą powiązać - identyfikator, który niosą, nie prowadzi do nikogo.
- Zostaje: zapis zdarzenia płatniczego, jeśli kiedykolwiek kupiłeś plan. Wiersz przestaje być przypięty do Twojego konta, ale nie znika - jest zapisem transakcji ze sklepem, potrzebnym do rozliczenia, zwrotu i reklamacji, i podlega pięcioletniemu obowiązkowi podatkowemu. Co dokładnie jest w takim wierszu, mówi sekcja 4; jak długo leży - sekcja 12.
- Zostaje: Twój profil klienta w RevenueCat, jeśli aplikacja kiedykolwiek sprawdzała Twój plan - identyfikator konta, historia zakupów i identyfikator urządzenia (sekcja 11). Nie kasujemy go automatycznie razem z kontem. Jeśli chcesz, żeby zniknął, napisz na privacy@beezz.app - usuniemy go.
Jeśli nie masz już aplikacji, napisz na privacy@beezz.app - usuniemy konto na Twoje żądanie.
14. Twoje prawa
Na podstawie RODO masz prawo do:
- dostępu do swoich danych i otrzymania ich kopii,
- sprostowania danych nieprawidłowych lub niekompletnych,
- usunięcia danych („prawo do bycia zapomnianym”),
- ograniczenia przetwarzania,
- przeniesienia danych do innej usługi,
- wniesienia sprzeciwu wobec przetwarzania opartego na uzasadnionym interesie - w praktyce chodzi o statystyki użycia z sekcji 9 oraz zgłoszenia błędów i raporty awarii z sekcji 18,
- cofnięcia zgody, jeśli przetwarzanie opierało się na zgodzie - w praktyce chodzi o zgodę na AI z sekcji 7, którą cofasz w Ustawieniach, w wierszu „Wsparcie AI”, oraz o zgodę na kontakt mailowy w sprawie zgłoszenia z sekcji 18, którą cofasz, pisząc na adres podany niżej.
Konkretne kanały: usunięcie - w aplikacji (sekcja 13). Sprostowanie - wpisy, kategorie, profil i domowników edytujesz bezpośrednio w aplikacji. Kopia danych - w aplikacji jest eksport wpisów do pliku CSV; to funkcja Planu BEEZZ.
Pozostałe żądania kieruj na privacy@beezz.app. Odpowiadamy najpóźniej w ciągu 30 dni. Żeby chronić Twoje dane, możemy poprosić o potwierdzenie, że konto należy do Ciebie - na przykład o wiadomość z adresu e-mail konta Google albo Apple powiązanego z Beezz. Przy koncie anonimowym, niepowiązanym z żadnym dostawcą, możemy nie mieć jak Cię zweryfikować.
Zautomatyzowane decyzje. Nie profilujemy Cię. Bez udziału człowieka zapadają u nas tylko dwie decyzje i o obu decydują stałe, opisane tu warunki, a nie ocena Twojej osoby: (1) usunięcie pustego konta anonimowego - konto, w którego budżetach nigdy niczego nie zapisano i którego nikt nie otworzył od 30 dni, znika razem z tymi budżetami (dokładne warunki w sekcji 12); (2) pytanie o wiek przy zakupie w amerykańskim App Store - gdy przedział wieku zadeklarowany na Twoim koncie Apple wskazuje osobę poniżej 18 lat, gdy odmówisz jego podania albo nie da się go odczytać, zakupu nie ma (sekcja 15). Możesz zażądać, żeby taką decyzję przejrzał człowiek, przedstawić swoje stanowisko i ją zakwestionować - napisz na privacy@beezz.app.
Jeśli uważasz, że przetwarzamy dane niezgodnie z prawem, możesz złożyć skargę do Prezesa Urzędu Ochrony Danych Osobowych, ul. Stawki 2, 00-193 Warszawa, albo do organu ochrony danych w państwie Unii Europejskiej, w którym mieszkasz lub pracujesz - w Holandii jest nim Autoriteit Persoonsgegevens (autoriteitpersoonsgegevens.nl), a w Szwecji Integritetsskyddsmyndigheten, IMY (imy.se). Jeśli mieszkasz w Wielkiej Brytanii, możesz też złożyć skargę do Information Commissioner's Office (ico.org.uk). Wobec osób w Wielkiej Brytanii stosujemy UK GDPR i Data Protection Act 2018, a prawa z tej sekcji przysługują im w tym samym zakresie.
15. Dzieci i domownicy bez konta
Beezz nie jest kierowany do dzieci. Konto zakłada osoba pełnoletnia - tak stanowi Regulamin - i to ona odpowiada za dane w swoim gospodarstwie. Świadomie nie zbieramy danych od osób, które nie ukończyły 18 lat.
Dziś każdy domownik ma własne konto. Starsze wersje aplikacji pozwalały dopisać domownika samą nazwą - bez konta, bez logowania i bez dostępu do aplikacji - i takie wpisy mogą jeszcze istnieć. Taka nazwa leży na naszym serwerze. Jeśli dopisałeś tak dziecko, wystarczy imię albo pseudonim, a nie pełne dane.
Jeśli sądzisz, że dziecko założyło konto samodzielnie, napisz na privacy@beezz.app - usuniemy je.
Pytanie o wiek przy zakupie. Gdy kupujesz Plan BEEZZ w amerykańskim App Store na urządzeniu Apple z systemem w wersji 26.2 lub nowszej, aplikacja tuż przed płatnością najpierw pyta Apple, czy na Twoim koncie ciąży przepis o weryfikacji wieku - tak jest na przykład w Teksasie. Jeśli nie, zakup idzie dalej bez żadnego pytania - tak samo, gdy tego pierwszego pytania nie uda się Apple zadać. Jeśli tak, aplikacja prosi Apple o przedział wieku zadeklarowany na Twoim koncie Apple. Jeśli jesteś dorosły, zakup idzie dalej. Jeśli masz mniej niż 18 lat, zakupu nie ma - nie ma też ścieżki zgody rodzica. Jeśli odmówisz podania wieku albo przedziału wieku nie da się odczytać, zakup się zatrzymuje i możesz spróbować ponownie. Gdy aplikacja nie może odczytać kraju Twojego konta App Store, decyduje region ustawiony w telefonie. Odpowiedź służy wyłącznie temu jednemu zakupowi: nie zapisujemy jej ani nie logujemy, więc nie ma jej w tabeli w sekcji 4. Poza amerykańskim App Store (a gdy kraju konta nie da się odczytać - poza telefonem z regionem USA), na systemach starszych niż 26.2 (Apple nie daje na nich sposobu, żeby sprawdzić, czy przepis obowiązuje) i na Androidzie nikt nie jest pytany o wiek. Szczegóły są w sekcji 16 Regulaminu.
16. Bezpieczeństwo
- Cała komunikacja aplikacji z serwerami idzie szyfrowanym połączeniem HTTPS/TLS. W kodzie nie ma zwykłego HTTP.
- Dostęp do danych ograniczają reguły po stronie bazy: każde zapytanie widzi wyłącznie wiersze gospodarstwa, do którego należysz. Pilnuje tego baza, a nie tylko kod aplikacji.
- Nie przechowujemy haseł - uwierzytelnianie obsługują systemy logowania Apple i Google.
- Błędny kod zaproszenia zawsze wygląda tak samo, żeby nie dało się zgadywać kodów.
- Wersje publikowane w sklepach są zaciemniane, a symbole debugowania trzymamy poza aplikacją - u siebie i w Sentry, gdzie służą wyłącznie do odczytania raportu awarii.
- Dane na urządzeniu (cache i kolejka zapisów) leżą w piaskownicy aplikacji i są chronione szyfrowaniem systemu - nie szyfrujemy ich dodatkowo własnym kluczem. Nie ma tam haseł ani danych kart.
Dane na serwerze są szyfrowane na dyskach po stronie Supabase.
17. Strona beezz.app: cookies i logi
Ta strona jest zwykłą stroną statyczną: nie ma na niej pikseli, narzędzi analitycznych, wtyczek społecznościowych ani reklam. Krój pisma jest wgrany razem ze stroną, więc przeglądarka nie odpytuje o niego Google. Sama z siebie strona nie zapisuje niczego na Twoim urządzeniu. Zapisuje najwyżej trzy drobne rzeczy - każdą tylko wtedy, gdy sam klikniesz odpowiedni przycisk - po to, żeby zapamiętać ten wybór:
- Wybór języka - plik cookie o nazwie beezz_lang z wartością pl albo en, gdy klikniesz przełącznik języka w stopce albo link do angielskiej wersji strony. Leży rok. Przeglądarka odsyła go przy każdym wejściu na beezz.app i czyta go wyłącznie reguła, która decyduje, w jakim języku otworzyć stronę główną.
- Zatrzymanie animacji - wpis w pamięci lokalnej przeglądarki, gdy klikniesz „Zatrzymaj animacje” w stopce. Nie opuszcza Twojego urządzenia.
- Zamknięcie podpowiedzi o angielskiej wersji - wpis w pamięci lokalnej przeglądarki, gdy ją zamkniesz. Nie opuszcza Twojego urządzenia.
Żadna z tych rzeczy nie niesie identyfikatora, nie jest łączona z kontem w aplikacji i nie trafia do nikogo poza beezz.app. Usuniesz je, czyszcząc dane strony w przeglądarce. Język strony głównej wybieramy też bez zapisywania czegokolwiek: przeglądarka przy każdym wejściu na każdą stronę podaje listę preferowanych języków, a strona główna otwiera się po polsku, gdy polski jest na tej liście pierwszy, i po angielsku w pozostałych przypadkach. Nie prosimy o zgodę na cookies, bo niczego nie zapisujemy bez Twojego kliknięcia i tylko po to, żeby zapamiętać to kliknięcie - i piszemy to wprost, bo obowiązek poinformowania istnieje niezależnie od tego (art. 399 Prawa komunikacji elektronicznej).
Logi serwerowe. Jak każda strona w internecie, beezz.app jest serwowana przez dostawcę hostingu (Vercel), a jego serwery zapisują techniczne logi żądań: adres IP, datę i godzinę, adres odwiedzanej strony, typ przeglądarki i systemu. Logi powstają automatycznie, są potrzebne do utrzymania i bezpieczeństwa strony, i nie łączymy ich z żadnym kontem w aplikacji. Podstawą jest nasz uzasadniony interes (art. 6 ust. 1 lit. f RODO), a przechowuje je i kasuje dostawca zgodnie ze swoimi terminami - u nas nie powstaje z nich żadna baza.
Tak samo logi żądań powstają po stronie Supabase, gdy aplikacja rozmawia z bazą. Służą wyłącznie diagnostyce i utrzymaniu; nie budujemy z nich profili i nie wykorzystujemy do niczego innego.
18. Błędy i awarie: co zgłaszasz sam, a co aplikacja wysyła sama
Zgłoszenie błędu wysyłasz sam, z Ustawień w aplikacji. Trafia wtedy do nas to, co wpiszesz w opisie (do 2000 znaków), rodzaj zgłoszenia (problem albo pomysł), miejsce w aplikacji, którego dotyczy, Twoja nazwa wyświetlana, identyfikator Twojego konta i gospodarstwa, wersja aplikacji, system telefonu i jego wersja, język interfejsu oraz kod kraju rynku - ten sam, co w statystykach z sekcji 9. Opis jest zwykłym polem tekstowym, więc jest w nim dokładnie tyle, ile sam napiszesz - jeśli nie chcesz podawać kwot ani nazw, po prostu ich nie wpisuj. Zgłoszenia czytamy my i tylko my, po to, żeby naprawić błąd. Razem ze zgłoszeniem trzymamy naszą korespondencję w tej sprawie - odpowiedzi i notatki. Kasujemy je po 12 miesiącach, a razem z kontem - od razu.
Adres e-mail do odpowiedzi podajesz tylko wtedy, gdy chcesz. Pod opisem jest przełącznik „Zgadzam się na kontakt mailowy w sprawie zgłoszenia”. Bez niego zgłoszenie idzie bez żadnego adresu. Gdy go włączysz, a Twoje konto jest powiązane z Google albo Apple, pole podpowiada adres tego konta - możesz go zmienić albo wpisać inny - i do nas trafia dokładnie to, co stoi w polu. Używamy go wyłącznie do odpowiedzi na to jedno zgłoszenie, nie do newslettera ani reklamy, i kasujemy razem ze zgłoszeniem. Podstawą jest Twoja zgoda (art. 6 ust. 1 lit. a RODO). Cofasz ją, pisząc na privacy@beezz.app - usuwamy wtedy adres ze zgłoszenia; cofnięcie nie zmienia tego, co zdążyliśmy już odpisać.
Raporty awarii aplikacja wysyła sama, do narzędzia Sentry. Raport powstaje, gdy aplikacja się zawiesi, przestanie odpowiadać, zostanie zamknięta przez system z braku pamięci albo natrafi na błąd, po którym co prawda poszła dalej, ale czegoś nie udało się zrobić - na przykład nie zapisał się wpis. Do tego przy każdym uruchomieniu i zamknięciu aplikacji leci krótki sygnał sesji: kiedy się zaczęła, kiedy skończyła i czy skończyła się awarią. Bez niego nie dałoby się policzyć, jaki odsetek uruchomień przebiega bez błędu.
Co jest w raporcie. Identyfikator konta i identyfikator gospodarstwa - oba w postaci samego UUID. Rodzaj błędu, jego komunikat i miejsce w kodzie, w którym wystąpił. Ślad ostatnich kroków: ekrany, przez które przeszedłeś (sam wzorzec ekranu, bez tego, co na nim było), oraz wywołania do naszego serwera - metoda, adres bez wartości parametrów, kod odpowiedzi i czas trwania. Dane techniczne urządzenia, w szczególności: producent i model, wersja systemu, wersja i numer kompilacji aplikacji, język i strefa czasowa, orientacja i rozdzielczość ekranu, stan pamięci i baterii, to, czy telefon był online. Wreszcie data i godzina.
Czego w raporcie nie ma. Twojego adresu e-mail, imienia ani adresu IP. Kwot, notatek, nazw sklepów, nazw kategorii ani treści dyktowanych zdań. Zrzutu ekranu i drzewa widoków - zrzut ekranu tej aplikacji to czyjaś księga wydatków. Treści wysyłanych i odbieranych zapytań, ciasteczek, tokenów, kluczy i kodów zaproszeń. Etykiet tego, w co stukasz - w Beezz są to nazwy kategorii. Utrata sieci nie jest awarią i nie jest raportowana. Nie mierzymy też wydajności aplikacji: ta część narzędzia jest wyłączona.
Awarie natywne omijają sito. Gdy aplikacja pada na poziomie systemu (na przykład przez błąd pamięci), przestaje odpowiadać na Androidzie albo zostaje zamknięta przez system iOS, raport tworzy i wysyła natywna część biblioteki Sentry wbudowanej w aplikację, bez udziału sita. Taki raport niesie ramki stosu kodu natywnego, dane techniczne urządzenia oraz identyfikator konta i gospodarstwa (UUID) - nic spoza listy z akapitu „Co jest w raporcie”. Kroki śladu, które zapisała aplikacja, przeszły przez sito, zanim trafiły do takiego raportu, a blokada domyślnych danych osobowych obowiązuje i tu, więc i taki raport idzie bez adresu IP.
Gdzie i jak długo. Raporty trafiają do projektu Sentry w regionie europejskim (Frankfurt) i leżą tam 90 dni, po czym Sentry kasuje je samo - dłuższej kopii nie mamy. Usunięcie konta nie kasuje ich wcześniej, ale od tej chwili identyfikator w raporcie nie prowadzi już do żadnego konta. Narzędzie prowadzi Functional Software, Inc. ze Stanów Zjednoczonych; podstawa transferu jest ta sama co u pozostałych dostawców i opisuje ją sekcja 11. Raporty czytamy my i tylko my, po to, żeby naprawić to, co się psuje.
19. Zmiany polityki
Politykę możemy zmieniać - na przykład gdy dojdzie nowa funkcja albo zmieni się dostawca. O istotnych zmianach uprzedzimy w aplikacji lub e-mailem co najmniej 14 dni przed ich wejściem w życie. Data ostatniej aktualizacji jest zawsze na górze tej strony.
O istotnej zmianie tej polityki, Regulaminu albo sposobu, w jaki aplikacja pobiera opłaty, zawiadamiamy też App Store i Google Play. W niektórych miejscach - na przykład w Teksasie - to właśnie takie zawiadomienie pozwala Sklepowi ponownie zapytać rodzica o zgodę w imieniu osoby niepełnoletniej.