Polityka prywatności — EveryPenny
Ostatnia aktualizacja: 21 czerwca 2026 Administrator danych: Ihor Olkhovatyi, ukraiński jednoosobowy przedsiębiorca (osoba fizyczna prowadząca działalność gospodarczą / ФОП Ольховатий Ігор Васильович), numer identyfikacji podatkowej (РНОКПП) 3786107375. Adres rejestrowy: 28e Mykhaila Maksymovycha Street, wejście 3, mieszkanie 375, Kijów 01001, Ukraina (вулиця Максимовича Михайла, буд. 28е, під'їзд 3, кв. 375, м. Київ 01001, Україна). Kontakt: [email protected]
Przedstawiciel w UE (art. 27 RODO) Ponieważ administrator ma siedzibę poza UE/EOG, na podstawie art. 27 RODO wyznaczyliśmy przedstawiciela w UE dla osób z UE/EOG. Naszym przedstawicielem jest spółka Data Protection Representative Limited (działająca pod nazwą handlową DataRep). We wszelkich sprawach związanych z przetwarzaniem Twoich danych osobowych oraz wykonywaniem przysługujących Ci praw wynikających z RODO możesz kontaktować się z DataRep — dodatkowo lub zamiast kontaktu z nami.
Z naszym przedstawicielem możesz skontaktować się:
- E-mailem: [email protected] — w temacie wiadomości podaj <EveryPenny>.
- Przez formularz internetowy: www.datarep.com/data-request
- Listownie: do DataRep, na podany niżej adres właściwy dla Twojego kraju. Korespondencję zaadresuj do „DataRep" (a nie do EveryPenny) — w przeciwnym razie może ona nie dotrzeć do przedstawiciela.
| Kraj | Adres pocztowy (zawsze adresuj do „DataRep") |
|---|---|
| Austria | DataRep, City Tower, Brückenkopfgasse 1/6. Stock, Graz, 8020, Austria |
| Belgia | DataRep, Rue des Colonies 11, Brussels, 1000 |
| Bułgaria | DataRep, 132 Mimi Balkanska Str., Sofia, 1540, Bulgaria |
| Chorwacja | DataRep, Ground & 9th Floor, Hoto Tower, Savska cesta 32, Zagreb, 10000, Croatia |
| Cypr | DataRep, Victory House, 205 Archbishop Makarios Avenue, Limassol, 3030, Cyprus |
| Czechy | DataRep, Platan Office, 28. Října 205/45, Floor 3&4, Ostrava, 70200, Czech Republic |
| Dania | DataRep, Lautruphøj 1-3, Ballerup, 2750, Denmark |
| Estonia | DataRep, 2nd Floor, Tornimae 5, Tallinn, 10145, Estonia |
| Finlandia | DataRep, Luna House, 5.krs, Mannerheimintie 12 B, Helsinki, 00100, Finland |
| Francja | DataRep, 72 rue de Lessard, Rouen, 76100, France |
| Niemcy | DataRep, 3rd and 4th floor, Altmarkt 10 B/D, Dresden, 01067, Germany |
| Grecja | DataRep, Ippodamias Sq. 8, 4th floor, Piraeus, Attica, Greece |
| Węgry | DataRep, President Centre, Kálmán Imre utca 1, Budapest, 1054, Hungary |
| Islandia | DataRep, Laugavegur 13, 101 Reykjavik, Iceland |
| Irlandia | DataRep, The Cube, Monahan Road, Cork, T12 H1XY, Republic of Ireland |
| Włochy | DataRep, Viale Giorgio Ribotta 11, Piano 1, Rome, Lazio, 00144, Italy |
| Łotwa | DataRep, 4th & 5th floors, 14 Terbatas Street, Riga, LV-1011, Latvia |
| Liechtenstein | DataRep, City Tower, Brückenkopfgasse 1/6. Stock, Graz, 8020, Austria |
| Litwa | DataRep, 44A Gedimino Avenue, 01110 Vilnius, Lithuania |
| Luksemburg | DataRep, BPM 335368, Banzelt 4 A, 6921, Roodt-sur-Syre, Luxembourg |
| Malta | DataRep, Tower Business Centre, 2nd floor, Tower Street, Swatar, BKR4013, Malta |
| Holandia | DataRep, Cuserstraat 93, Floor 2 and 3, Amsterdam, 1081 CN, Netherlands |
| Norwegia | DataRep, C.J. Hambros Plass 2c, Oslo, 0164, Norway |
| Polska | DataRep, Budynek Fronton ul Kamienna 21, Krakow, 31-403, Poland |
| Portugalia | DataRep, Torre de Monsanto, Rua Afonso Praça 30, 7th floor, Algès, Lisbon, 1495-061, Portugal |
| Rumunia | DataRep, 15 Piaţa Charles de Gaulle, nr. 1-T, Bucureşti, Sectorul 1, 011857, Romania |
| Słowacja | DataRep, Apollo Business Centre II, Block E / 9th floor, 4D Prievozska, Bratislava, 821 09, Slovakia |
| Słowenia | DataRep, Trg. Republike 3, Floor 3, Ljubljana, 1000, Slovenia |
| Hiszpania | DataRep, Calle de Manzanares 4, Madrid, 28005, Spain |
| Szwecja | DataRep, S:t Johannesgatan 2, 4th floor, Malmo, SE - 211 46, Sweden |
Przedstawiciel ten został wyznaczony wyłącznie dla UE/EOG. DataRep nie jest naszym przedstawicielem w Wielkiej Brytanii ani w Szwajcarii. DataRep przetwarza Twoje dane zgodnie z własną informacją o ochronie prywatności dostępną pod adresem www.datarep.com/privacy-policy.
W sprawach ogólnych lub dotyczących produktu (wszystkim, co nie jest żądaniem z zakresu ochrony danych) pisz bezpośrednio do EveryPenny na adres [email protected], a nie do naszego przedstawiciela.
Podsumowanie (wersja skrócona)
EveryPenny to aplikacja do zarządzania finansami osobistymi. Przechowuje o Tobie jak najmniej informacji — tylko te, które są niezbędne, aby pokazać Ci Twoje własne pieniądze. Nigdy nie sprzedajemy ani nie udostępniamy Twoich danych reklamodawcom.
Konkretnie przechowujemy:
- Identyfikator od wybranego przez Ciebie dostawcy logowania (Apple, e-mail lub Google), abyśmy mogli rozpoznać Cię przy kolejnych logowaniach. Jeśli zalogowałeś się przez funkcję Apple Hide My Email, jedyne, co kiedykolwiek widzimy, to adres pośredniczący (relay) — Twój prawdziwy adres e-mail nigdy do nas nie dociera.
- Twój adres e-mail, jeśli zalogowałeś się przez Apple bez funkcji Hide-My-Email, za pomocą naszego linka magicznego wysyłanego e-mailem albo przez Google. Nigdy nie widzimy hasła — odpowiednio obsługują je Apple, nadawca naszych linków magicznych (Resend) oraz Google.
- Ręczne konta, salda i transakcje, które wprowadzasz samodzielnie.
- Konta bankowe i transakcje, które synchronizujemy w Twoim imieniu, jeśli połączysz bank (jedynie odczytujemy dane; nigdy nie przemieszczamy pieniędzy).
- Zaszyfrowane tokeny dostępu do banku, abyśmy mogli później ponownie zsynchronizować Twoje dane bez konieczności ponownego logowania. Tokeny każdego użytkownika są szyfrowane podkluczem przypisanym do danego użytkownika, wyprowadzonym z klucza głównego oraz identyfikatora Twojego konta, dzięki czemu nie można ich odszyfrować pomiędzy różnymi użytkownikami.
- Tokeny urządzeń, abyśmy mogli wysyłać Ci powiadomienia push (np. przypomnienie, że jutro przypada opłata za subskrypcję).
Wszystko jest przechowywane w Europejskim Obszarze Gospodarczym (Frankfurt, Niemcy). W każdej chwili możesz usunąć całe swoje konto z poziomu aplikacji. Możesz również usunąć pojedyncze konto bankowe lub pojedyncze subkonto połączonego banku bez usuwania pozostałych danych — zob. Twoje prawa poniżej.
1. Jakie dane zbieramy
1.1 Dane, które przekazujesz nam bezpośrednio
| Kategoria | Przykłady | Cel |
|---|---|---|
| Tożsamość konta | Identyfikator użytkownika wydany przez dostawcę (nieprzejrzysty ciąg znaków Apple, sub Google lub nasz wewnętrzny identyfikator dla logowania e-mailem), adres e-mail (lub prywatny adres pośredniczący Apple), wyświetlana nazwa (tylko przy pierwszym logowaniu) |
Rozpoznawanie Cię przy logowaniu; wysyłanie powiadomień bezpieczeństwa |
| Tożsamość urządzenia | Identifier-for-vendor (zahaszowany), token urządzenia APNs, nazwa modelu urządzenia | Powiadomienia push, unieważnianie sesji |
| Dane finansowe wprowadzane ręcznie | Nazwy kont, waluty, salda, daty transakcji, kwoty, sprzedawcy, kategorie | Podstawowa funkcja aplikacji |
1.2 Dane, które otrzymujemy od stron trzecich w Twoim imieniu
| Źródło | Dane | Wyzwalane przez |
|---|---|---|
| Monobank | Lista kont, salda, wyciągi, zdarzenia transakcyjne w czasie zbliżonym do rzeczywistego | Wybierasz Monobank w procesie połączenia banku (Connect Bank). Tam, gdzie uzyskaliśmy dostęp do Monobank Corporate API, otrzymujemy zdarzenia transakcyjne z Twojego banku w momencie ich wystąpienia za pośrednictwem autoryzowanego webhooka (bez odpytywania). W przeciwnym razie korzystamy z przestarzałego publicznego API, do którego wklejasz osobisty X-Token z api.monobank.ua. W obu przypadkach dostęp jest wyłącznie do odczytu — nie możemy inicjować płatności. |
| Enable Banking | Lista kont, salda, wyciągi (tylko do odczytu) | Łączysz bank z EOG w ramach PSD2; dane są pobierane za pośrednictwem agregatora po przeprowadzeniu silnego uwierzytelnienia klienta (Strong Customer Authentication) przez Twój bank |
| Apple | Weryfikacja tokenu tożsamości za pośrednictwem JWKS Apple; powiadomienia serwer-do-serwera o usunięciu konta lub przełączeniu funkcji Hide-My-Email | Wewnętrzne zdarzenia cyklu życia Apple |
Zweryfikowany adres e-mail + imię z Twojego konta Google (zwrócone w id_token OAuth i zweryfikowane względem JWKS Google) |
Wybierasz „Continue with Google" przy logowaniu | |
| Resend | Dostarczenie do Twojej skrzynki odbiorczej naszego e-maila z linkiem magicznym do logowania | Wybierasz „Continue with email" przy logowaniu |
| fawazahmed0/exchange-api + Frankfurter | Dane o kursach wymiany walut (publiczne, brak udostępniania danych osobowych) | Automatycznie, co kilka godzin |
1.3 Dane, które wyprowadzamy automatycznie
- Wykrywanie cyklicznych wzorców — grupujemy Twoje transakcje w celu zidentyfikowania subskrypcji i cyklicznych rachunków. Odbywa się to na naszych serwerach, a wynik pozostaje na Twoim koncie.
- Zahaszowana atrybucja — gdy się logujesz, przechowujemy hasz HMAC-SHA256 Twojego adresu IP oraz User-Agent, abyśmy mogli rozpoznawać podejrzane logowania bez przechowywania surowych wartości.
- Analityka produktu chroniąca prywatność — aby zrozumieć, czy aplikacja jest przydatna (czy osoby, które się zarejestrowały, wróciły? czy utworzyły swój pierwszy budżet?), rejestrujemy niewielki zestaw pseudonimowych, predefiniowanych zdarzeń: rejestrację, logowanie, otwarcie aplikacji oraz sygnały „kluczowych działań" (utworzenie budżetu/celu, połączenie banku, dodanie transakcji, potwierdzenie cyklicznej subskrypcji). Zdarzenia te zawierają wyłącznie nazwę zdarzenia oraz ogólny, zakodowany na stałe typ — nigdy kwot, nazw sprzedawców, nazw kont, kategorii ani jakiegokolwiek tekstu dowolnego. Jedynym dołączonym identyfikatorem jest nieprzejrzysty identyfikator Twojego konta (ten sam UUID używany wewnętrznie), ustawiany dopiero po zalogowaniu i czyszczony po wylogowaniu. Ponieważ taki identyfikator mógłby co do zasady zostać powiązany z Tobą, traktujemy te zdarzenia jako pseudonimowe (motyw 26 RODO), a nie anonimowe; zdarzenia wywołane przed zalogowaniem nie zawierają żadnego identyfikatora. Zob. Załącznik B, aby dowiedzieć się dokładnie, co otrzymuje nasz podmiot przetwarzający dane analityczne.
1.4 Dane, których NIE zbieramy
- Surowych adresów IP ani ciągów User-Agent (przechowujemy wyłącznie haszowane wartości z kluczem do wykrywania oszustw/nadużyć).
- Identyfikatorów reklamowych.
- Danych o lokalizacji. Nigdy nie żądamy dostępu do GPS, Wi-Fi ani CoreLocation. Serwerowe ustalanie lokalizacji na podstawie IP w PostHog jest wyłączone na poziomie projektu, a adres IP klienta jest odrzucany na etapie pozyskiwania danych (ingestion), więc nie wyprowadza się ani nie przechowuje żadnego kraju, miasta, kodu pocztowego ani współrzędnych pochodzących z adresu IP.
- Dostępu do kontaktów, zdjęć, mikrofonu ani aparatu.
- Danych biometrycznych. Face ID / Touch ID pozostają na Twoim urządzeniu — nigdy nie docierają do naszych serwerów.
- Danych logowania do Twojego banku. Generujesz token tylko do odczytu na własnej stronie Monobank i przekazujesz go nam bezpośrednio; nigdy nie widzimy Twojego hasła do Monobank.
2. Podstawa prawna (art. 6 RODO)
- Umowa (art. 6 ust. 1 lit. b RODO) — wszystko, czego potrzebujemy, aby dostarczyć produkt, do którego się zarejestrowałeś. Tożsamość konta, wpisy ręczne, synchronizacja banku, powiadomienia push.
- Prawnie uzasadniony interes (art. 6 ust. 1 lit. f RODO) — zahaszowana atrybucja do wykrywania oszustw/nadużyć; raporty o błędach Sentry; dziennik zdarzeń audytowych; analityka produktu chroniąca prywatność (pseudonimowa, bez bezpośrednio identyfikujących danych osobowych, hostowana w UE) w celu ulepszania aplikacji. Sygnał analityczny można w każdej chwili wyłączyć (opt-out) w Settings → Privacy → Share Product Analytics; wyłączenie odrzuca wszelkie zdarzenia będące w toku i natychmiast zatrzymuje dalsze zbieranie danych.
- Zgoda (art. 6 ust. 1 lit. a RODO) — połączenie banku stanowi wyraźną zgodę. Możesz wycofać zgodę w dowolnym momencie, rozłączając bank w aplikacji EveryPenny.
3. Gdzie znajdują się dane
| Kategoria | Podmiot przetwarzający | Region | Szyfrowanie w spoczynku |
|---|---|---|---|
| Postgres (użytkownicy, konta, transakcje, dziennik audytu) | Neon Inc. | eu-central-1 (Frankfurt) | AES-256 na warstwie pamięci masowej, z dodatkowym szyfrowaniem AES-256-GCM na poziomie kolumny dla tokenów bankowych, przy użyciu podklucza wyprowadzonego za pomocą HKDF dla danego użytkownika (dzięki czemu wiersz wklejony z kolumny jednego użytkownika do kolumny innego nie da się odszyfrować) |
| Redis (sesje, idempotencja, zadania BullMQ, liczniki limitów dla linków magicznych) | Upstash, Inc. | eu-central-1 (Frankfurt) | TLS w trakcie przesyłania; szyfrowane w spoczynku |
| Błędy + ślady (traces) | Sentry (Functional Software, Inc.) | Region UE, Frankfurt (firma z USA; Ramy ochrony danych UE-USA (EU-US Data Privacy Framework), z unijnymi SCC jako rozwiązaniem zapasowym) | Szyfrowanie po stronie Sentry; usuwamy dane osobowe (PII) po stronie serwera, zanim cokolwiek opuści nasz proces |
| Analityka produktu (zdarzenia pseudonimowe) | PostHog (PostHog, Inc.) | EU Cloud (Frankfurt) | Szyfrowanie po stronie PostHog; wysyłamy wyłącznie predefiniowane nazwy zdarzeń + nieprzejrzysty identyfikator konta, nigdy danych osobowych ani treści finansowych. Ustalanie lokalizacji GeoIP jest wyłączone na poziomie projektu, a adresy IP klienta są odrzucane na etapie pozyskiwania danych, więc nie jest przechowywany ani Twój adres IP, ani żadna lokalizacja pochodząca z IP |
| Logi | Fly.io (tag regionu Hashicorp fra) |
Frankfurt | Wewnętrzne szyfrowanie Fly |
| Powiadomienia push | Apple Push Notification Service | globalnie | Zarządzane przez Apple |
| Poczta transakcyjna | Resend Inc. | Region UE (firma z USA; Ramy ochrony danych UE-USA (EU-US Data Privacy Framework), z unijnymi SCC jako rozwiązaniem zapasowym) | Zarządzane przez Resend; wysyłamy wyłącznie adres odbiorcy + pojedynczy link do logowania w stylu Penny lub ładunek zgłoszenia błędu |
| Zakupy w aplikacji / uprawnienia | RevenueCat, Inc. | USA (Standardowe klauzule umowne) | Paragon App Store + nieprzejrzysty identyfikator Twojego konta; brak treści finansowych |
| Zakupy na stronie internetowej (rozliczenia) | Paddle.com Market Ltd. (sprzedawca odpowiedzialny / merchant of record) | UE/USA (SCC / Data Privacy Framework) | Twój adres e-mail + dane płatnicze, obsługiwane przez Paddle jako sprzedawcę |
Wszystkie dane pozostają w Europejskim Obszarze Gospodarczym z wyjątkiem następujących transferów, w przypadku których opieramy się na zabezpieczeniach z rozdziału V RODO: usługa Apple Push Notification (Apple, globalnie, na podstawie własnego załącznika dotyczącego przetwarzania danych); Sentry (firma z USA — korzystamy z jej regionu UE, w ramach Ram ochrony danych UE-USA (EU-US Data Privacy Framework), z unijnymi standardowymi klauzulami umownymi jako rozwiązaniem zapasowym); Resend (firma z USA — korzystamy z jej regionu UE, w ramach Ram ochrony danych UE-USA (EU-US Data Privacy Framework), z unijnymi standardowymi klauzulami umownymi jako rozwiązaniem zapasowym); RevenueCat (USA, na podstawie standardowych klauzul umownych); oraz Paddle (sprzedawca odpowiedzialny za płatności na naszej stronie internetowej, na podstawie SCC / Data Privacy Framework).
4. Jak długo je przechowujemy
- Twoje aktywne dane — tak długo, jak długo Twoje konto jest aktywne.
- Usunięte konto — Twój wiersz w tabeli
usersoraz każdy rekord z nim powiązany (konta, transakcje, połączenia bankowe, tokeny urządzeń, sesje) są usuwane z naszej produkcyjnej bazy danych natychmiast po naciśnięciu Delete Account (lub gdy Apple poinformuje nas, że Twój Apple ID został trwale usunięty). Wiersze usunięte kaskadowo znikają z aktywnej bazy Postgres w ramach żądania. Migawki kopii zapasowych Neon umożliwiające przywrócenie do punktu w czasie nadal przechowują stan sprzed usunięcia przez okres do końca okna retencji naszego planu Neon (obecnie 6 godzin), po którym wygasają w naturalny sposób. - Dane bankowe i transakcyjne — transakcje, salda oraz dane pochodne (kategorie, płatności cykliczne) przechowujemy w 24-miesięcznym oknie kroczącym liczonym od daty każdej transakcji; starsze wpisy wygasają automatycznie. Po usunięciu konta wszystko jest natychmiast usuwane kaskadowo (zob. powyżej).
- Zdarzenia audytowe / bezpieczeństwa — przechowywane przez okres do 24 miesięcy, a następnie
usuwane lub nieodwracalnie anonimizowane. Po usunięciu konta
userIdjest natychmiast ustawiane naNULL, więc każdy rekord nadal znajdujący się w tym oknie nie jest już powiązany z Tobą osobiście. - Analityka produktowa (PostHog) — pseudonimowe dane zdarzeń przechowujemy przez 12 miesięcy, a następnie usuwamy. Nigdy nie wysyłamy danych finansowych ani danych osobowych (zob. §7 i Załącznik B).
- Monitorowanie błędów (Sentry) — zdarzenia błędów pozbawione danych osobowych przechowujemy przez 90 dni, a następnie usuwamy.
- Wiersze sesji — usuwane 90 dni po wygaśnięciu (wyłącznie dane anonimowe — brak danych osobowych).
- Klucze idempotencji — usuwane 30 dni po utworzeniu (hasze treści żądań, brak danych osobowych).
- Pamięć podręczna synchronizacji (Redis) — 24 godziny; nic trwałego.
5. Twoje prawa (art. 15-22 RODO)
Masz prawo do:
- Dostępu do swoich danych — napisz do nas, a wyślemy Ci eksport w formacie JSON wszystkiego, co przechowujemy.
- Sprostowania nieprawidłowych danych — edytuj je w aplikacji lub napisz do nas na [email protected].
- Usunięcia swojego konta — naciśnij Delete Account w ustawieniach. Twoje dane są usuwane z naszej aktywnej produkcyjnej bazy danych w momencie zakończenia żądania. Dwa wąskie wyjątki, opisane szczegółowo w §4: zaszyfrowane kopie zapasowe bazy danych przechowują stan sprzed usunięcia przez okres do ok. 6 godzin, zanim wygasną w naturalny sposób, a wpisy w dziennikach bezpieczeństwa/audytu są zachowywane przez okres określony w §4 z usuniętym Twoim identyfikatorem, dzięki czemu nie identyfikują już Ciebie.
- Usunięcia pojedynczego konta bankowego lub subkonta — przytrzymaj konto w EveryPenny i wybierz Disconnect bank (usuwa całe połączenie oraz każdą powiązaną z nim transakcję) lub Remove this account (usuwa jedno subkonto synchronizowane z bankiem i jego transakcje, pozostawiając resztę połączenia nienaruszoną). Oba działania są ograniczone do danego konta; nic innego nie zostaje naruszone.
- Przenoszenia swoich danych — powyższy eksport ma postać przenośnego JSON.
- Sprzeciwu wobec przetwarzania — rozłącz banki; wyłącz powiadomienia push w ustawieniach iOS.
- Wycofania zgody — rozłączenie banku natychmiast cofa dostęp EveryPenny.
- Wniesienia skargi — do organu ochrony danych w Twoim kraju UE lub do ukraińskiego Urzędu Pełnomocnika ds. Ochrony Danych Osobowych.
Odpowiadamy na każde żądanie w ciągu jednego miesiąca od jego otrzymania. W przypadku skomplikowanych lub licznych żądań możemy przedłużyć ten termin o kolejne maksymalnie dwa miesiące i poinformujemy Cię o tym w ciągu pierwszego miesiąca, jeśli tak postąpimy (art. 12 ust. 3 RODO).
6. Bezpieczeństwo
Stosujemy najlepsze praktyki branżowe dla aplikacji finansowej:
- TLS 1.3 wszędzie. HSTS z preload.
- Wszystkie tokeny bankowe szyfrowane za pomocą podkluczy AES-256-GCM wyprowadzonych przez HKDF dla danego użytkownika, z identyfikatorem użytkownika powiązanym z tagiem uwierzytelniającym (auth tag), dzięki czemu wiersza nie można odszyfrować pomiędzy różnymi użytkownikami.
- Tokeny tożsamości od Apple i Google są weryfikowane względem JWKS (JSON Web Key Set) odpowiedniego dostawcy przy każdym logowaniu — nigdy nie ufamy niezweryfikowanemu tokenowi.
- Wartości nonce dla logowania linkiem magicznym przez e-mail są przechowywane jako hasze SHA-256 (nigdy jako tekst jawny), wygasają 15 minut po wygenerowaniu, są jednorazowego użytku i podlegają ograniczeniu częstotliwości na adres e-mail oraz na IP w celu zapobiegania nadużyciom.
- Tokeny odświeżania przechowywane jako hasze SHA-256, nigdy jako tekst jawny; rotowane przy każdym użyciu; powiązane z urządzeniem.
- Unieważnianie sesji przy wylogowaniu, przy usunięciu konta Apple, na żądanie.
- Ograniczanie częstotliwości zarówno na brzegu sieci (Cloudflare), jak i w warstwie aplikacji.
- Ochrona WAF + DDoS za pośrednictwem Cloudflare.
- Dziennik audytu tylko do dopisywania (append-only) przy każdej operacji dotyczącej pieniędzy.
- Automatyczne skanowanie pod kątem CVE i aktualizacje zależności przy każdym uruchomieniu CI.
Żaden system nie jest w 100% bezpieczny. Jeśli wykryjemy naruszenie ochrony danych osobowych, powiadomimy właściwy organ nadzorczy bez zbędnej zwłoki i, o ile będzie to wykonalne, w ciągu 72 godzin, oraz poinformujemy dotkniętych użytkowników bez zbędnej zwłoki, jeśli naruszenie może powodować wysokie ryzyko dla ich praw — zgodnie z wymogami RODO.
7. Kto jeszcze przetwarza Twoje dane
Są to jedyne firmy, które kiedykolwiek mają styczność z Twoimi danymi, w konkretnych rolach opisanych poniżej. RODO rozróżnia dwa rodzaje odbiorców, dlatego wymieniamy je oddzielnie: podmioty przetwarzające, które działają wyłącznie zgodnie z naszymi instrukcjami na podstawie umowy powierzenia przetwarzania danych (DPA), oraz niezależnych administratorów, którzy decydują o własnych celach i mają własne informacje o ochronie prywatności.
7.1 Podmioty przetwarzające (działają wyłącznie zgodnie z naszymi instrukcjami, na podstawie umowy powierzenia przetwarzania danych — DPA)
| Podmiot przetwarzający | Rola | Region | DPA |
|---|---|---|---|
| Neon Inc. | Zarządzany Postgres | UE (Frankfurt) | Neon DPA |
| Upstash, Inc. | Zarządzany Redis | UE (Frankfurt) | Upstash DPA |
| Fly.io, Inc. | Hosting aplikacji + logi | UE (Frankfurt) | Fly DPA |
| Cloudflare, Inc. | DNS + WAF + DDoS | Brzeg sieci UE | Cloudflare DPA |
| Functional Software, Inc. (Sentry) | Raportowanie awarii + błędów (dane osobowe usunięte) | Region UE (firma z USA; Ramy ochrony danych UE-USA (EU-US Data Privacy Framework), z unijnymi SCC jako rozwiązaniem zapasowym) | Sentry DPA |
| PostHog, Inc. | Analityka produktu chroniąca prywatność | EU Cloud (Frankfurt) | PostHog DPA |
| Resend Inc. | Poczta transakcyjna (linki do logowania, zgłoszenia błędów) | Region UE (firma z USA; Ramy ochrony danych UE-USA (EU-US Data Privacy Framework), z unijnymi SCC jako rozwiązaniem zapasowym) | Resend DPA |
| RevenueCat, Inc. | Zarządzanie subskrypcjami w aplikacji — śledzenie uprawnień Apple IAP (identyfikator użytkownika aplikacji, status subskrypcji, zdarzenia zakupu; brak danych kart płatniczych — płatności obsługuje Apple) | USA (Standardowe klauzule umowne) | RevenueCat DPA |
7.2 Niezależni administratorzy (ustalają własne cele; obowiązują ich własne informacje o ochronie prywatności)
| Administrator | Dlaczego Twoje dane do nich trafiają |
|---|---|
| Apple Inc. | Logowanie przez Apple, powiadomienia push oraz zakupy w App Store — Apple jest sprzedawcą (sprzedawcą odpowiedzialnym / merchant of record) zakupów w aplikacji |
| Google LLC | Tożsamość, jeśli wybierzesz „Continue with Google" |
| Paddle.com Market Ltd. | Sprzedawca odpowiedzialny (merchant of record) za zakupy na stronie internetowej — Paddle jest sprzedawcą, z którym zawierasz umowę, i obsługuje rozliczenia, podatki oraz zwroty (otrzymuje Twój adres e-mail + dane płatnicze) |
| Enable Banking Oy | Agregator kont bankowych z EOG oraz licencjonowany dostawca informacji o rachunku PSD2 dla połączeń, które autoryzujesz |
| Universal Bank (Monobank) | Ukraiński bank, który łączysz — bezpośrednia relacja między Tobą a Twoim bankiem |
Kursy wymiany walut pochodzą ze źródeł publicznych (Frankfurter i fawazahmed0/exchange-api, za pośrednictwem jsDelivr / Cloudflare); wysyłane są wyłącznie kody walut — brak danych osobowych, więc żadna umowa DPA nie jest potrzebna.
Będziemy aktualizować te listy za każdym razem, gdy dodamy lub zmienimy odbiorcę. Istotne zmiany powodują wyświetlenie powiadomienia w aplikacji.
8. Dzieci
EveryPenny nie jest skierowana do osób poniżej 16. roku życia. Nie zbieramy świadomie danych od osób małoletnich. Jeśli sądzisz, że osoba małoletnia się zarejestrowała, skontaktuj się z nami, a usuniemy konto.
9. Zmiany w niniejszej polityce
Istotne zmiany są ogłaszane w aplikacji, zanim wejdą w życie, i zostaniesz poproszony o ponowne wyrażenie zgody. Historia zmian jest dostępna na żądanie.
10. Kontakt
W przypadku jakiegokolwiek pytania lub żądania dotyczącego prywatności: [email protected]
Załącznik A — Co Sentry faktycznie otrzymuje
Sentry jest inicjalizowane z sendDefaultPii: false oraz mechanizmem czyszczącym (scrubber), który rekurencyjnie usuwa każdy klucz, którego nazwa pasuje do email, phone, password, token, secret, iban, pan, dateOfBirth, address, firstName, lastName, fullName oraz wielu innych terminów związanych z finansami, zanim jakiekolwiek zdarzenie opuści proces.
Co widzi Sentry:
- Oczyszczone ślady stosu (stack traces)
- Nazwy tras HTTP (np.
POST /auth/apple) — nigdy parametrów ścieżki z identyfikatorami - Klasę błędu + komunikat (z danymi osobowymi usuniętymi za pomocą wyrażeń regularnych)
- Nieprzejrzysty userId (UUID) — nigdy identyfikatora użytkownika Apple ani adresu e-mail
Czego Sentry nigdy nie widzi:
- Żadnego numeru konta bankowego, salda ani kwoty transakcji
- Żadnego prawdziwego ani pośredniczącego (relay) adresu e-mail
- Żadnego tokenu uwierzytelniającego w jakiejkolwiek postaci
Załącznik B — Co PostHog faktycznie otrzymuje
PostHog jest skonfigurowane dla EU Cloud (eu.i.posthog.com) z wyłączonymi funkcjami autocapture, session replay, przechwytywania widoków ekranu (screen-view capture) oraz autocapture cyklu życia aplikacji. Serwerowe wzbogacanie GeoIP w PostHog jest wyłączone na poziomie projektu, a adres IP klienta jest odrzucany na etapie pozyskiwania danych (ingestion) — więc z Twojego adresu IP nigdy nie jest wyprowadzany ani przechowywany żaden kraj, miasto, szerokość/długość geograficzna ani kod pocztowy. (Jako dodatkowe zabezpieczenie SDK rejestruje również $geoip_disable: true przy każdym zdarzeniu.) Profile osób są tworzone wyłącznie dla zidentyfikowanych użytkowników (personProfiles = .identifiedOnly), więc zdarzenia wywołane przed zalogowaniem nie zawierają żadnego identyfikatora (są anonimowe); zdarzenia po zalogowaniu są pseudonimowe — powiązane z poniższym nieprzejrzystym identyfikatorem konta, a nie z Twoim imieniem lub adresem e-mail. Każde zdarzenie w aplikacji jest wywoływane jawnie z kodu — nie ma żadnego automatycznego zbierania danych.
Pełny zestaw zdarzeń, które kiedykolwiek wysyłamy:
signup/signin— że utworzono konto lub że powracający użytkownik się zalogowałapp_opened— aplikacja przeszła na pierwszy plan (zasila raportowanie retencji)activated— użytkownik wykonał swoje pierwsze znaczące działanie w ramach tej instalacjikey_actionztypeo jednej z wartości:bank_connected,transaction_added,budget_created,goal_created,recurring_confirmed
Co widzi PostHog:
- Powyższe nazwy zdarzeń oraz ich zakodowaną na stałe wartość
type - Nieprzejrzysty identyfikator konta (UUID), dołączany dopiero po zalogowaniu i czyszczony po wylogowaniu
- Standardowe metadane SDK (wersja aplikacji, wersja systemu operacyjnego, model urządzenia, ogólny kontekst biblioteki)
Czego PostHog nigdy nie widzi:
- Żadnej kwoty, salda, nazwy sprzedawcy, nazwy konta ani nazwy kategorii
- Żadnej treści transakcji ani wpisanego przez Ciebie tekstu dowolnego
- Twojego adresu e-mail, wyświetlanej nazwy ani żadnych innych danych osobowych
- Żadnego identyfikatora reklamowego (nie zbieramy żadnego)
Ta funkcja jest zabezpieczona kluczem: bez skonfigurowanego klucza projektu PostHog, SDK nigdy nie jest inicjalizowane i nic nie jest wysyłane.