Polityka prywatności
Wersja 1.2 · Ostatnia aktualizacja: 2026-06-23 · Regulamin
Preambuła
Niniejsza Polityka prywatności określa zasady przetwarzania danych osobowych Użytkowników aplikacji Kalorka.app oraz Użytkowników gościnnych korzystających z trybu bez konta. Polityka stanowi realizację obowiązku informacyjnego z art. 13 RODO.
Niniejszy dokument jest spójny z Regulaminem Aplikacji.
I. Administrator danych osobowych
Administratorem danych osobowych Użytkowników jest:
TFB Group sp. z o.o.
ul. św. Filipa 23/4, 31-150 Kraków
KRS: 0000499144 · NIP: 6762474679 · REGON: 123048916
Email kontaktowy w sprawach RODO: info@kalorka.app, info@tfbgroup.pl
Administrator nie jest zobowiązany do wyznaczenia inspektora ochrony danych osobowych (DPO) zgodnie z art. 37 RODO — skala i charakter przetwarzania nie spełniają przesłanek obowiązkowego wyznaczenia.
II. Cele przetwarzania danych
- Realizacja usługi — analiza zdjęć jedzenia przy użyciu AI, zapis wyników, zarządzanie kontem, system poleceń (referral).
- Autoryzacja konta — obsługa sesji, magic linki email, OAuth (Google, Apple), tokenów referral.
- Komunikacja transakcyjna — magic linki, powiadomienia o zmianach Konta, retention nudges (przypomnienia o powrocie do Aplikacji), alerty operatora.
- Bezpieczeństwo — rate limiting, ochrona przed nadużyciami, cost capping Aplikacji gościnnej, audit trail inbound emaili.
- Statystyka i ulepszanie usługi — anonimowa telemetria zdarzeń (zhashowane IP, kategoryzowany User-Agent), bez identyfikacji osób.
- Newsletter / marketing — wyłącznie po wyrażeniu zgody (opt-in). Aktualnie Aplikacja nie wysyła newslettera.
- Cel dzienny (profil żywieniowy) — wyliczenie szacunkowego dziennego zapotrzebowania kalorycznego (TDEE) oraz celów makroskładników na podstawie danych podanych dobrowolnie przez Użytkownika (waga, wzrost, rok urodzenia, płeć, poziom aktywności). Funkcja opcjonalna — uruchamiana wyłącznie, gdy Użytkownik sam zdecyduje się ustawić cel w ustawieniach Konta.
III. Podstawy prawne (RODO art. 6)
- art. 6 ust. 1 lit. b) — wykonanie umowy (Regulamin Aplikacji) — dla celów II.a) Realizacja usługi, II.b) Autoryzacja konta oraz II.g) Cel dzienny (dane profilu żywieniowego podawane dobrowolnie przez Użytkownika w ramach opcjonalnej funkcji);
- art. 6 ust. 1 lit. f) — uzasadniony interes Administratora — dla celów II.c) Komunikacja transakcyjna (retention nudges), II.d) Bezpieczeństwo, II.e) Statystyka;
- art. 6 ust. 1 lit. a) — zgoda Użytkownika — dla celu II.f) Newsletter / marketing;
- art. 6 ust. 1 lit. c) — obowiązek prawny — dla wyznaczonych przypadków wynikających z przepisów (np. odpowiedzi na żądania organów ścigania).
IV. Jakie dane przetwarzamy
A. Dane Konta
- adres email
- user_id (UUID generowany przez Supabase)
- provider rejestracji (Google / Apple / Email magic link)
- data rejestracji + data ostatniego logowania
- avatar URL (jeśli OAuth zwrócił)
B. Dane funkcjonalne
- zdjęcia jedzenia (Supabase Storage, prywatny bucket, signed URLs TTL 300s)
- wyniki analizy AI (ingredienty, kalorie, makroskładniki, raw_response JSON)
- edycje wyników (meal_user_edited)
- historia Skanów + Kredyty
C. Dane techniczne
- anonymous_id cookie (tryb gościnny)
- tokeny referral (cookie + baza)
- cookie sesji Supabase (httpOnly + secure + SameSite)
- logi analytics (zhashowane IP — SHA-256 + salt, skategoryzowany User-Agent)
D. Dane behawioralne
- liczba i częstotliwość wykonanych Skanów
- status subskrypcji retention nudges (subscribed / unsubscribed)
- click-through na linki w mailach (oznaczane przez UTM parameters)
E. Dane profilu żywieniowego (opcjonalne — funkcja „Cel dzienny”)
- waga (kg), wzrost (cm), rok urodzenia, płeć
- poziom aktywności fizycznej
- dzienny cel kaloryczny oraz cele makroskładników (białko / węgle / tłuszcz)
Dane te są podawane dobrowolnie przez Użytkownika i przetwarzane wyłącznie wtedy, gdy korzysta on z opcjonalnej funkcji „Cel dzienny”. Służą jedynie do wyliczenia szacunkowego dziennego celu kalorycznego i makroskładników. Wyliczenia mają charakter orientacyjny i nie stanowią porady medycznej ani nie zastępują konsultacji z lekarzem lub dietetykiem. Użytkownik może w każdej chwili zmienić lub usunąć te dane w ustawieniach Konta; usunięcie Konta kasuje je wraz z pozostałymi danymi.
V. Procesorzy danych (3rd parties)
Administrator korzysta z następujących procesorów danych (podmioty przetwarzające na rzecz Administratora — art. 28 RODO):
| Procesor | Zakres | Region | Mechanizm transferu |
|---|---|---|---|
| Supabase Inc. | Baza danych + Auth + Storage zdjęć | EU (eu-central-1) | DPA + SCC |
| Vercel Inc. | Hosting aplikacji + Serverless Functions | Multi-region EU (fra1) | DPA + SCC |
| Resend Inc. | Email (wychodzące + przychodzące) | EU (eu-west-1) | DPA + SCC |
| Anthropic PBC | Analiza AI zdjęć (Claude Sonnet + Haiku) | Multi-region USA | DPA + SCC + NO training |
| Google LLC | OAuth login (opcjonalny) | Multi-region | DPF (Data Privacy Framework) |
| Apple Inc. | Sign in with Apple (opcjonalny) | Multi-region | DPF |
| Upstash Inc. | Redis (rate limiting + cost cap) | EU | DPA + SCC |
| Zendesk Inc. + TFB Group | Helpdesk (po /api/inbound/email forward) | Multi-region | DPA + SCC |
DPA = Data Processing Agreement · SCC = Standard Contractual Clauses · DPF = EU-US Data Privacy Framework
Dodatkowi odbiorcy / procesorzy danych (subskrypcje i płatności)
- RevenueCat, Inc. — dostawca infrastruktury do obsługi i synchronizacji statusu subskrypcji oraz uprawnień użytkownika między aplikacją mobilną, sklepami Apple App Store / Google Play a systemami Kalorki. Może przetwarzać identyfikator użytkownika lub aplikacyjny, informacje o produkcie subskrypcyjnym, status subskrypcji, daty zakupu/odnowienia/wygaśnięcia, token lub potwierdzenie zakupu przekazane przez sklep oraz techniczne metadane weryfikacji uprawnień. Cel: weryfikacja aktywnego płatnego dostępu i przyznanie uprawnień.
- Stripe, Inc. — historyczny dostawca obsługi płatności webowych. Od czerwca 2026 Kalorka nie inicjuje nowych płatności przez Stripe ani nie udostępnia nowej ścieżki zakupu przez Stripe. Dane historycznych transakcji (identyfikatory płatności, kwoty, daty, przyznane kredyty, metadane rozliczeniowe) mogą być przechowywane do celów rozliczeniowych, dowodowych, podatkowych, bezpieczeństwa i obsługi reklamacji.
VI. Transfer danych poza EOG
Część procesorów Administratora ma siedzibę poza Europejskim Obszarem Gospodarczym (głównie USA — Anthropic, Google, Apple, Zendesk). Transfer danych do tych podmiotów odbywa się na podstawie:
- Standardowych Klauzul Umownych (SCC) — zatwierdzonych przez Komisję Europejską (decyzja 2021/914);
- Data Privacy Framework (DPF) — ramy ochrony danych UE-USA (decyzja Komisji Europejskiej z 10 lipca 2023 r.) — dla podmiotów które dokonały samocertyfikacji.
Administrator NIE transferuje danych do krajów bez adekwatnego poziomu ochrony danych osobowych.
VII. Czas przechowywania danych
| Kategoria danych | Okres retencji |
|---|---|
| Dane Konta (email, user_id, provider) | do usunięcia Konta + 30 dni backup |
| Zdjęcia jedzenia (Storage) | do usunięcia Konta + 30 dni backup |
| Wyniki analizy AI (parsed_result) | do usunięcia Konta + 30 dni backup |
| Profil żywieniowy (cel dzienny: waga, wzrost, rok urodzenia, płeć, aktywność + cel kcal/makra) | do usunięcia Konta + 30 dni backup |
| Dane gościnne (anonymous_id cookie) | 30 dni od ostatniej aktywności |
| Logi techniczne (analytics, hash IP) | 12 miesięcy |
| Logi inbound emaili (forward audit) | 6 miesięcy |
| Logi rate-limit (Upstash Redis) | 24 godziny (rolling window) |
| Subskrypcja retention nudges (opt-out) | do unsubscribe lub usunięcia Konta |
Dane rozliczeniowe i dotyczące historycznych płatności przechowywane są przez okres wymagany przepisami prawa podatkowego i o rachunkowości — co najmniej 5 lat, licząc od końca roku kalendarzowego, w którym powstał obowiązek. W tym zakresie prawo do usunięcia danych (art. 17 RODO) jest ograniczone obowiązkiem prawnym ciążącym na administratorze (art. 17 ust. 3 lit. b RODO).
VIII. Prawa Użytkownika (RODO art. 15-22)
Każdy Użytkownik ma prawo do:
- Dostępu do swoich danych (art. 15 RODO);
- Sprostowania danych nieprawidłowych (art. 16);
- Usunięcia danych („prawo do bycia zapomnianym", art. 17);
- Ograniczenia przetwarzania (art. 18);
- Przenoszenia danych (art. 20);
- Sprzeciwu wobec przetwarzania na podstawie uzasadnionego interesu (art. 21);
- Cofnięcia zgody w dowolnym momencie (art. 7 ust. 3).
Realizacja praw: kontakt na email info@kalorka.app. Odpowiedź w terminie do 30 dni od otrzymania żądania (zgodnie z art. 12 ust. 3 RODO).
Użytkownik ma również prawo wniesienia skargi do organu nadzorczego — Prezes Urzędu Ochrony Danych Osobowych, ul. Stawki 2, 00-193 Warszawa, uodo.gov.pl.
X. Bezpieczeństwo danych
- Wszystkie transmisje danych zabezpieczone protokołem HTTPS (TLS 1.3) — certyfikat zarządzany przez Vercel.
- Hasła Użytkowników NIE są przechowywane — Aplikacja używa wyłącznie magic linków email oraz OAuth (Google / Apple).
- Zdjęcia jedzenia przechowywane w prywatnym bucket Supabase Storage z dostępem przez signed URL z czasem życia 300 sekund.
- Bazą danych Postgres chroni mechanizm RLS (Row Level Security) — każdy rekord wymaga uwierzytelnienia i jest izolowany per Użytkownik.
- Mechanizmy rate limiting (Upstash Redis) oraz cost capping (limity dziennego wykorzystania API AI) chronią Aplikację przed nadużyciami.
- Backupy automatyczne — codzienne snapshoty bazy przez Supabase (retencja 7 dni Pro plan).
XI. Postanowienia końcowe
- Wersja Polityki prywatności: 1.2. Data ostatniej aktualizacji: 2026-06-23.
- Zmiany Polityki prywatności wymagają zawiadomienia Użytkowników z 14-dniowym wyprzedzeniem (analogicznie do Regulaminu — §XIII).
- Pytania dotyczące Polityki prywatności prosimy kierować na email info@kalorka.app.
- Niniejsza Polityka stanowi integralną część Regulaminu Aplikacji.