Datum stupanja na snagu: još nije na snazi (nacrt).
1. Tko smo
Wellboyom upravlja Pankka Group Oy, društvo s ograničenom odgovornošću registrirano u Finskoj (matični broj 3397011-8), Sukkulatie 10, 87700 Kajaani, Finska. Pankka Group Oy voditelj je obrade osobnih podataka opisanih u ovim pravilima.
Kontakt za privatnost: [email protected]
U ovim pravilima riječi “Wellboy”, “mi” i “nas” znače Pankka Group Oy, a “aplikacija” znači aplikaciju Wellboy (iOS, Android i desktop verzije).
2. Sažetak jednostavnim jezikom
- Aplikacija je prvenstveno izvanmrežna: tvoji se podaci nalaze u lokalnoj bazi podataka na tvom uređaju, a osnovno praćenje radi bez veze. Sinkronizacija, AI značajke, kupnje, dijeljenje i mrežne pretrage proizvoda zahtijevaju vezu.
- Kad si na mreži, tvoj se sadržaj sinkronizira s našom bazom podataka u oblaku (Google Cloud Firestore) u regiji EU-a europe-north1 (Finska), pohranjen pod privatnim ID-jem računa kojem samo tvoj prijavljeni račun može pristupati za čitanje ili pisanje.
- Automatski započinješ kao anonimni račun, a pri kraju početnog postavljanja registriraš način prijave (Apple, Google ili e-pošta) kako bi tvoji podaci ostali dostupni na svim uređajima.
- AI značajke (skeniranje fotografije obroka, razgovor s trenerom, generiranje treninga) šalju potreban unos putem vlastitih poslužitelja Wellboya u OpenAI na obradu. Aplikacija poziva naš poslužitelj, a ključ AI API-ja čuva se kao tajna poslužitelja. Zahtjevi se šalju uz isključenu OpenAI-jevu pohranu stanja aplikacije; OpenAI može zadržati API zapisnike radi praćenja zloupotrebe prema vlastitim uvjetima (obično do 30 dana), a ni Wellboy ni OpenAI ne koriste tvoje unose za treniranje AI modela.
- Po želji možeš povezati Apple Health (HealthKit) ili Health Connect (Android). Uvoz u aplikaciju Wellboy je samo za čitanje. Ako koristiš neobaveznu popratnu aplikaciju za Apple Watch za bilježenje treninga, sat sprema taj trening (s pulsom i aktivnom energijom) u Apple Health na tvojim vlastitim uređajima; ti se podaci ne šalju na poslužitelje Wellboya (odjeljak 3.5).
- Kupnje Wellboy Pro obrađuju Apple ili Google; mi nikad ne vidimo podatke tvoje kartice. RevenueCat za nas obrađuje potvrde o kupnji.
- U ovoj verziji nema oglasa ni analitike proizvoda trećih strana. Komponente Googleovih SDK-ova koje aplikacija koristi (ML Kit, Firebase) Googleu prijavljuju ograničenu tehničku telemetriju (odjeljci 3.4 i 9).
- Izvještavanje o padovima i pogreškama nije obavezno i zadano je isključeno. Ako ga uključiš, izvještaji o padovima i pogreškama (samo tehnički podaci, nikad tvoj sadržaj) šalju se Googleovu Firebase Crashlyticsu i obrađuju u Sjedinjenim Američkim Državama. Možeš ga u bilo kojem trenutku isključiti u Postavkama (odjeljak 3.7).
- Obavijesti s podsjetnicima zakazuju se na tvom uređaju i nikad ga ne napuštaju. Jedine poruke koje naši poslužitelji šalju jesu neobavezna upozorenja o cijeni doživotne kupnje i nevidljivi signal koji aplikaciji govori da osvježi vlastite podatke (odjeljak 3.8).
- Povijest razgovora s trenerom, popisi za kupnju, dnevni broj koraka i većina postavki aplikacije nikad se ne prenose na tvoj račun u oblaku. Fotografije skeniranja obroka također ostaju na tvom uređaju. Odgovor trenera na svaku naplaćenu poruku čuva se u zapisu AI zahtjeva na poslužitelju (odjeljak 5.5).
- Kodovi za dijeljenje objavljuju nepromjenjivu, javnu snimku dijeljenog sadržaja koju može vidjeti svatko tko ima kod.
- Svoje podatke možeš izvesti kao ZIP datoteku (JSON + tvoje slikovne datoteke) i izbrisati svoj račun (sa svim sinkroniziranim podacima) izravno u aplikaciji.
3. Podaci koje prikupljamo
3.1 Podaci računa
- Anonimni račun (nasumični ID računa) stvara se automatski prvi put kad se aplikacija poveže, a pri početnom postavljanju traži se da registriraš način prijave.
- Kad registriraš ili povežeš način prijave, pohranjujemo identifikatore koje nam daje taj pružatelj: tvoju adresu e-pošte i ID-ove računa pružatelja (Sign in with Apple, Google Sign-In ili e-pošta + lozinka), kao i status potvrde adrese e-pošte. Ako je pružatelj dijeli, možemo primiti i ime povezano s tim računom pružatelja (na primjer iz usluge Sign in with Apple).
- Ne nudimo autentifikaciju putem telefona/SMS-a.
3.2 Sadržaj koji dodaješ (zdravstveni i podaci o tjelesnoj aktivnosti)
Ovisno o značajkama koje koristiš, to može uključivati:
- unose obroka i prehrane (namirnice, porcije, energija, makronutrijenti), hidrataciju, sažetke dnevnih potvrda i prehrambene ciljeve,
- tvoje ciljeve (glavne ciljeve treninga, ciljnu težinu, tjedni cilj treninga, razinu svakodnevne aktivnosti),
- unose kvalitete sna,
- treninge: vlastite predloške treninga, dovršene treninge (serije, težine, ponavljanja, vremena, udaljenosti), zakazane treninge i programe treninga,
- recepte i sadržaj kuharice, uključujući fotografije recepata,
- popise za kupnju (samo na uređaju),
- tjelesne mjere i fotografije napretka (fotografije napretka dostupne su samo korisnicima od 18 godina naviše, vidi odjeljak 14),
- podatke uvezene iz aplikacija Apple Health ili Health Connect (odjeljak 3.5),
- rezultate izazova (na primjer rezultate izazova u sklekovima),
- nizove, bodove iskustva (XP), povijest virtualnih kredita i potvrde o iskorištavanjima izvršenima virtualnim kreditima,
- zapise dijeljenja (metapodatke o kodovima za dijeljenje koje si stvorio) i zapise preporuka prijatelja (odjeljak 8.3),
- neobaveznu fotografiju avatara,
- poruke razgovora s trenerom (pohranjene samo na tvom uređaju),
- tvoj profil: ime, spol i datum rođenja (upotrebljavaju se za procjene kalorija, prilagodbu trenera i provjeru minimalne dobi; sama se dob izračunava u hodu i nikad ne pohranjuje).
Velik dio toga su zdravstveni podaci. Sve to prema zadanim postavkama tretiramo kao privatno i pohranjujemo samo radi pružanja usluge tebi.
3.3 Postavke
Jedinice, jezik, tema, postavke obavijesti, zadane postavke treninga, neobavezna približna lokacija na razini države/grada i neobavezna putanja fotografije profila pohranjuju se samo na tvom uređaju (vidi 4.3). Iznimke su tvoje ime, spol i datum rođenja, koji se sinkroniziraju s tvojim računom u oblaku kao tvoj profil (zajedno sa zastavicom koja bilježi da je početno postavljanje dovršeno i, ako si na pitanje odgovorio, tvojim neobaveznim odabirom “gdje si čuo za nas”, odjeljak 3.6) kako bi te pratili na novom uređaju.
Pojedinosti o lokaciji: svoju državu i grad možeš sam upisati ili operativnom sustavu dati dopuštenje za približnu lokaciju. Aplikacija nikad ne traži preciznu GPS lokaciju. Lokacija se upotrebljava samo za regionalni sadržaj.
3.4 Automatski prikupljeni podaci
- Ne uključujemo SDK-ove za oglašavanje ni SDK-ove za analitiku proizvoda trećih strana. Komponente Googleovih SDK-ova koje aplikacija koristi (detekcija poza pomoću ML Kita, Firebase) Googleu prijavljuju ograničenu tehničku telemetriju (podaci o uređaju, aplikaciji, konfiguraciji, radu i pogreškama; vidi odjeljak 9).
- Upotreba Googleovih usluga nužno izlaže Googleu standardne tehničke podatke (IP adresu, podatke o uređaju, vremenske oznake) kao našem pružatelju usluge kada aplikacija komunicira s krajnjim točkama za autentifikaciju, bazu podataka ili poslužitelj.
- Aplikacija upotrebljava Firebase App Check za provjeru vjerodostojnosti uređaja/aplikacije kako bi pomogla provjeriti da zahtjevi dolaze iz autentične, neizmijenjene aplikacije Wellboy. Razmjenjuje se token integriteta koji izdaje Apple ili Google; on te osobno ne identificira.
- Radi poštenog provođenja dnevnih ograničenja kroz vremenske zone naš poslužitelj pohranjuje najnoviji naziv IANA vremenske zone tvog uređaja (na primjer “Europe/Helsinki”) na tvom računu i upotrebljava ga (ili Europe/Helsinki, ako zona nije pohranjena) za dnevne granice. Vremenska zona grubi je regionalni signal, a ne praćenje lokacije.
- Skeniranje barkoda šalje samo znamenke barkoda našoj vlastitoj usluzi zrcala proizvoda (food.wellboy.net, hostanoj na Cloudflareu). Ako zrcalo ne vrati upotrebljiv proizvod (nepoznat barkod, nedostajuće nutritivne vrijednosti ili pogreška zrcala), znamenke se zatim šalju uslugama Open Food Facts i, za korisnike na tržištu SAD-a, USDA FoodData Central kao pričuvnim pretragama. Svaka usluga nužno vidi tvoju IP adresu kao dio zahtjeva; ne šalje se identifikator računa. Rezultati s nutritivnim vrijednostima predmemoriraju se na uređaju 30 dana, pa ponovljena skeniranja istog proizvoda ne šalju mrežni zahtjev.
- Videozapisi s demonstracijama vježbi struje s našeg CDN-a (cdn.wellboy.net), koji vidi standardne zapisnike web-zahtjeva.
- Neobavezno izvještavanje o padovima i pogreškama zadano je isključeno i opisano u odjeljku 3.7; dok je isključeno, za njega se ništa ne prikuplja.
- Na iOS-u i Androidu aplikacija registrira token za usmjeravanje obavijesti kod Googleova Firebase Cloud Messaginga kako bi naš poslužitelj mogao isporučiti poruke opisane u odjeljku 3.8. Token se pohranjuje na tvom računu i stvara se čak i ako odbiješ vidljive obavijesti (nosi i nevidljivi signal za osvježavanje).
3.5 Uvoz iz zdravstvene aplikacije (Apple Health / Health Connect)
Ako povežeš Wellboy s aplikacijom Apple Health (iOS) ili Health Connect (Android), aplikacija uz tvoje dopuštenje čita samo sljedeće vrste podataka:
- težinu, postotak tjelesne masti, nemasnu tjelesnu masu, puls u mirovanju i (na iOS-u) opseg struka: uvezeni unosi pohranjuju se kao ručno upisane tjelesne mjere, označeni svojim izvorom, i sinkroniziraju se s tvojim računom u oblaku kao i druge tjelesne mjere,
- dnevne brojeve koraka i, ako si u postavkama Wellboya uključio kalorije treninga, dnevnu aktivnu energiju: preslikavaju se u prikaz aktivnosti aplikacije i izazove, pohranjuju se samo na tvom uređaju, nikad se ne sinkroniziraju,
- uzorke pulsa tijekom treninga (samo ako uključiš puls tijekom treninga): čitaju se uživo za prikaz pulsa i procijenjenih kalorija tijekom i nakon treninga; sami se uzorci nikad ne pohranjuju; čuva se samo sažetak treninga koji spremiš.
Uvoz iz zdravstvenog spremišta tvog telefona je samo za čitanje: telefonska aplikacija Wellboy čita samo gore navedene vrste podataka i ne zapisuje u tvoje zdravstveno spremište.
Popratna aplikacija za Apple Watch: ako instaliraš neobaveznu aplikaciju Wellboy za sat i njome zabilježiš trening, sat mjeri sesiju putem HealthKita i, uz dopuštenja HealthKita koja dodijeliš na satu, sprema trening s njegovim pulsom i aktivnom energijom u Apple Health, pa se trening ubraja u tvoje prstenove aktivnosti. To se zapisivanje događa unutar tvog vlastitog zdravstvenog spremišta na tvojim uređajima; sat ne prenosi trening, podatke o pulsu ni podatke o energiji na poslužitelje Wellboya.
Vezu možeš prekinuti u bilo kojem trenutku u postavkama operativnog sustava (iOS: Postavke > Zdravlje > Pristup podacima; Android: aplikacija Health Connect), a neobaveznu automatsku sinkronizaciju dopune možeš isključiti u postavkama Wellboya. Zdravstveni podaci nikad se ne upotrebljavaju za oglašavanje ili marketing i nikad se ne dijele s trećim stranama za njihove vlastite svrhe.
3.6 Gdje si čuo za nas (neobavezno marketinško pitanje)
Na kraju početnog postavljanja pitamo te gdje si čuo za Wellboy. Odgovor je neobavezan i možeš nastaviti bez odabira. Ako odgovoriš, jedan odabir koji si napravio (prijatelj, Instagram, TikTok, YouTube, Facebook, trgovina aplikacija, podcast ili “drugo”) pohranjuje se s tvojim profilom (odjeljak 4.2) i upotrebljava za razumijevanje kanala koji dovode korisnike u Wellboy. To su marketinški podaci, a ne dijagnostika: nisu dio izvještaja o padovima opisanih u odjeljku 3.7, ništa se ne šalje platformi koju odabereš, ne upotrebljavaju se za oglašavanje ili praćenje i brišu se zajedno s tvojim računom.
3.7 Izvještavanje o padovima i pogreškama (neobavezno, zadano isključeno)
Radi pronalaženja i ispravljanja padova i skrivenih pogrešaka aplikacija uključuje Firebase Crashlytics (Google). Izvještavanje o padovima zadano je isključeno i uključuje se samo ako ga aktiviraš, na uvodnoj stranici koja pita o tome ili kasnije u Postavkama. Nikad nije unaprijed odabrano i nikad se ne uključuje kao nuspojava nečeg drugog. Dok je isključeno, za tu se svrhu ništa ne prikuplja ni šalje.
Ako ga uključiš, Wellboy Googleovu Crashlyticsu šalje:
- izvještaje o padovima i izvještaje o nefatalnim pogreškama (pogreškama koje je aplikacija uhvatila i nakon kojih je nastavila raditi, na primjer neuspjeli pokušaj sinkronizacije ili neuspjeli poziv poslužitelja), s tehničkim tragom pogreške,
- model uređaja, verziju operativnog sustava, verziju aplikacije i tehničko stanje uređaja u trenutku izvješća (na primjer dostupnu memoriju),
- identifikator instalacije Crashlyticsa: nasumični ID instalacije aplikacije koji se upotrebljava za prebrojavanje broja uređaja na koje problem utječe. Ne postavljamo nijedan identifikator koji bi povezao izvještaj s tvojim računom Wellboya,
- vremenske oznake,
- za nefatalne pogreške mali skup vrijednosti tehničkog konteksta: koji je podsustav aplikacije prijavio pogrešku, tehničke kodove razloga, kodove pogrešaka i HTTP statusa te male brojače. Dopušteni ključevi konteksta čine fiksni tehnički popis dopuštenih vrijednosti koji se provodi u kodu aplikacije.
Izvještaji o padovima i pogreškama nikad ne sadržavaju tvoj sadržaj ni zdravstvene podatke: nema treninga, obroka, težine ni mjera, fotografija, imena, adresa e-pošte ni poruka treneru.
Podaci o padovima obrađuju se kod Googlea u Sjedinjenim Američkim Državama (Crashlytics ne nudi izbor lokacije podataka). To je namjerna, dokumentirana iznimka od pohrane u EU-u opisane u odjeljku 4.2 i jedan od razloga zašto je značajka neobavezna. Prijenos se oslanja na certifikaciju društva Google LLC prema EU-US Data Privacy Framework, uz EU Standard Contractual Clauses kao pričuvnu zaštitu (odjeljak 9).
Izvještaji o padovima i njihovi identifikatori čuvaju se 90 dana, a zatim se automatski brišu. Crashlytics ne nudi brisanje po korisniku: već poslani izvještaji ne mogu se naknadno selektivno izbrisati, pa isključivanje izvještavanja ili brisanje računa Wellboya ne uklanja retroaktivno već poslane izvještaje; oni zastarijevaju unutar razdoblja od 90 dana. Budući da se ne postavlja identifikator povezan s računom, izvještaji se ne mogu ni potražiti prema korisniku.
Pravna osnova za ovu obradu tvoj je pristanak (odjeljak 12). Možeš ga povući u bilo kojem trenutku isključivanjem izvještavanja o padovima u Postavkama; promjena u cijelosti stupa na snagu pri sljedećem pokretanju aplikacije.
3.8 Obavijesti i token za usmjeravanje obavijesti
Obavijesti u Wellboyu dolaze s dva različita mjesta, a razlika je važna:
- Podsjetnici nastaju na tvom uređaju. Podsjetnike za trening, kombinirani večernji podsjetnik za potvrdu dana i kredite, jutarnji sažetak i podsjetnike za hidrataciju aplikacija lokalno zakazuje na temelju podataka koji su već na tvom telefonu. Nikad ne napuštaju uređaj i nijedan poslužitelj ne sudjeluje u njihovu slanju.
- Samo dvije vrste poruka dolaze s poslužitelja Wellboya, isporučene putem Googleova Firebase Cloud Messaginga (FCM): neobavezna upozorenja o cijeni doživotne kupnje (upozorenje kada je trenutačna razina cijene gotovo popunjena i obavijest u posljednjem satu prije njezina zatvaranja), koja se prikazuju samo ako su obavijesti dopuštene za aplikaciju; i nevidljivi signal za osvježavanje u pozadini koji aplikaciji govori da dohvaća svježe podatke s tvog računa (na primjer odmah nakon što ti naš poslužitelj dodijeli bodove iskustva). Signal za osvježavanje ništa ti ne prikazuje i ne prenosi nikakav sadržaj, samo uputu da osvježi podatke.
Upozorenja o cijeni usmjerena su na anonimnu temu po valuti (na primjer “price_eur” za sve čije su cijene u trgovini u eurima), a ne osobno na tebe: poslužitelj ne odabire primatelje prema računu.
Za usmjeravanje tih poruka tvoj uređaj ima registracijski token FCM-a: adresu za usmjeravanje obavijesti koju izdaje Google Firebase Cloud Messaging. Ona identificira instalaciju tvoje aplikacije radi isporuke poruka; nije ID tvog računa i ne sadržava osobne podatke. Aplikacija pohranjuje trenutačni token svakog uređaja u tvoje podatke računa (users/{uid}/pushTokens), zajedno s platformom (“ios” ili “android”) i vremenskim oznakama stvaranja/ažuriranja, i upotrebljava ga isključivo za isporuku gore opisanih poruka: nikad za oglašavanje, izradu profila ni praćenje među aplikacijama.
Životni ciklus tokena: operativni sustav i Firebase SDK povremeno osvježavaju token, a aplikacija zatim zamjenjuje pohranjeni token. Odjava uklanja token uređaja s tvog računa uz najbolja nastojanja; ako Google prijavi da token više nije valjan, naš ga poslužitelj automatski uklanja; a zapisi tokena brišu se sa svime ostalim pod tvojim računom kada izbrišeš račun (odjeljak 10.3). Token se stvara za signal osvježavanja u pozadini čak i ako odbiješ dopuštenje za obavijesti (signal osvježavanja ništa ne prikazuje, pa operativni sustav za njega ne traži dopuštenje); odbijanje dopuštenja znači da ti se nikad neće prikazati vidljiva obavijest. Same poruke nikad ne sadržavaju tvoj sadržaj ni zdravstvene podatke.
4. Gdje se tvoji podaci pohranjuju
4.1 Na tvom uređaju
Lokalna baza podataka je radna kopija svega, pa osnovno praćenje radi izvanmrežno; mrežne značajke (sinkronizacija, AI, kupnje, dijeljenje, mrežne pretrage proizvoda) zahtijevaju vezu. Datoteke slika (avatar, fotografije recepata, fotografije skeniranja obroka, fotografije napretka) pohranjuju se u privatnoj pohrani aplikacije na uređaju.
4.2 U našem oblaku (sinkronizirane zbirke)
Kad je uređaj na mreži, aplikacija sinkronizira sljedeći sadržaj s uslugom Cloud Firestore (regija europe-north1, Finska), kojom Google upravlja kao našim izvršiteljem obrade. Podaci svakog korisnika nalaze se pod njegovim vlastitim privatnim ID-om računa:
| Sinkronizirani sadržaj | Napomene |
|---|---|
| Predlošci treninga | Tvoji vlastiti spremljeni treninzi |
| Dovršene sesije treninga | Serije, težine, ponavljanja, vremena |
| Zakazani treninzi | Unosi u kalendaru |
| Programi treninga | Stanje programa i napredak |
| Unosi obroka | Namirnice, porcije, nutritivne vrijednosti |
| Unosi hidratacije | Količine pića |
| Dnevne potvrde dana | Sažeci dana, uključujući ukupnu hidrataciju |
| Prehrambeni ciljevi | Energetski i makrociljevi |
| Korisnički ciljevi | Glavni ciljevi, ciljna težina, tjedni cilj, razina aktivnosti |
| Unosi sna | Jedna ocjena kvalitete dnevno |
| Recepti | Tvoj sadržaj kuharice |
| Dodjele EXP-a | Povijest bodova iskustva |
| Unosi kredita | Evidencija zarade i potrošnje virtualnih kredita |
| Iskorištenja u trgovini | Potvrde iskorištenja virtualnih kredita |
| Rezultati izazova | Na primjer rezultati izazova sklekova |
| Tjelesne mjere | Težina i druge metrike, uključujući uvoze iz zdravstvenih aplikacija |
| Fotografije napretka | Fotografski zapis i sama komprimirana slika |
| Zapisi o dijeljenju | Metapodaci o tvojim kodovima za dijeljenje |
| Stanje niza | Dnevni brojači niza |
| Korisničke slike | Avatar te fotografije recepata i napretka kao komprimirane slike |
| Profil | Ime, spol, datum rođenja, neobavezni odgovor na pitanje „gdje si čuo/čula za nas“ |
Napomene o slikama:
- Avatar, fotografije recepata i fotografije napretka sinkroniziraju se kao mali komprimirani blokovi slika kako bi bili dostupni na novom uređaju zajedno s tobom. Brisanjem bilo koje slike brišu se i njezini bajtovi s poslužitelja.
- Fotografije skeniranja obroka ne sinkroniziraju se: čuvaju se samo na tvom uređaju kao minijature obroka. Unos obroka također sinkronizira putanju datoteke fotografije kao dio tekstualnih metapodataka, ali se bajtovi slike nikad ne prenose.
Osim sinkroniziranog sadržaja, naš poslužitelj pod tvojim računom čuva male operativne zapise: zapise AI zahtjeva (odjeljak 5.5), zahtjeve podršci (odjeljak 8), status tvog Pro članstva (odjeljak 6) i tokene za usmjeravanje push obavijesti tvojih uređaja (odjeljak 3.8).
4.3 Nikad sinkronizirano (samo na uređaju)
Povijest razgovora s trenerom, popisi za kupnju, dnevni brojevi koraka i aktivna energija, stanje izazova vode, postavke aplikacije osim tvog profila (uključujući polja države/grada i putanju fotografije profila), fotografije skeniranja obroka i nedovršeni nacrti obroka ostaju na tvom uređaju i ne prenose se.
4.4 Kontrola pristupa
Pristup našoj bazi podataka kontroliraju sigurnosna pravila koja po zadanim postavkama odbijaju pristup: samo zahtjevi autentificirani kao tvoj račun mogu čitati ili zapisivati tvoj sinkronizirani sadržaj, a zapisi na strani poslužitelja opisani u ovim pravilima (na primjer događaji kupnje i javne snimke dijeljenja) čitljivi su samo kako je opisano u odgovarajućim odjeljcima. Pravila su pod kontrolom verzija i mijenjaju se samo izričitom implementacijom.
5. AI značajke (OpenAI)
Svi AI zahtjevi prolaze kroz vlastiti poslužitelj Wellboya (Google Cloud Function u EU-u), koji čuva API ključ AI-ja kao tajnu poslužitelja, provjerava ograničenja korištenja tvog plana i prosljeđuje samo potreban unos OpenAI-ju na obradu. Budući da naš poslužitelj šalje zahtjev OpenAI-ju, OpenAI prima mrežnu adresu poslužitelja umjesto tvoje IP adrese, a Wellboy ne dodaje tvoj ID računa u zahtjev (tekst koji sam upišeš šalje se onakav kakav jest, stoga izbjegavaj upisivati identifikatore koje ne želiš poslati). Zahtjevi se šalju s isključenom pohranom stanja aplikacije OpenAI-ja („store: false“), što naš poslužitelj provodi za svaki zahtjev; OpenAI može zadržati API zapisnike radi nadzora zloupotrebe prema vlastitim uvjetima (obično do 30 dana). Ni Wellboy ni OpenAI ne koriste tvoje unose za treniranje AI modela.
5.1 Skeniranje fotografije obroka
Kada skeniraš obrok, fotografija se na tvom uređaju obično izrezuje u centrirani kvadrat i smanjuje (oko 768 px); ako ta obrada ne uspije, šalje se izvorna fotografija. Slika se, zajedno s neobaveznim nazivom/bilješkama koje uneseš, šalje radi procjene nutritivnih vrijednosti. Procjena se pohranjuje u dnevnik obroka. Sama fotografija čuva se samo na tvom uređaju kao minijatura kartice obroka; Wellboy je ne prenosi u pohranu kojom upravlja Wellboy.
5.2 Razgovor s trenerom
Poruke koje upišeš AI treneru šalju se na obradu zajedno s posljednjih nekoliko poruka razgovora. Trener može zatražiti podatke aplikacije, ali podaci se dijele samo kada izričito odobriš određenu karticu zahtjeva u razgovoru. Nakon odobrenja na tvom se uređaju generira sažetak u tekstualnom obliku (nedavni treninzi, prehrana odobrenih dana, san, tjelesne mjere ili niz) i šalje; s uređaja odlazi upravo tekst sažetka koji se prikazuje i pohranjuje u razgovoru, nikada sirova baza podataka. Povijest razgovora pohranjuje se samo na tvom uređaju i ne prenosi se kao razgovor; odgovor trenera na svaku naplaćenu poruku ipak se čuva u zapisu AI zahtjeva na strani poslužitelja opisanom u odjeljku 5.5.
5.3 Generiranje treninga
Ako koristiš generiranje treninga pomoću AI-ja, tvoj popis opreme, razina iskustva i tvoji odabiri u generatoru (vrijeme, mjesto, fokus, neobavezne želje u slobodnom tekstu) šalju se radi sastavljanja prijedloga treninga.
5.4 Ograničenja korištenja i naplata
AI radnje troše virtualne kredite u aplikaciji na besplatnom planu i podliježu dnevnim i mjesečnim ograničenjima na oba plana kao mjera protiv zloupotrebe (ograničenja poštenog korištenja Pro plana objavljena su u uvjetima korištenja, a aplikacija prikazuje koliko ti je korištenja preostalo). Naplate i povrati evidentiraju se u evidenciji kredita tvog računa.
5.5 Zapisi AI zahtjeva na našem poslužitelju
Radi pravilne naplate, naš poslužitelj čuva mali zapis AI zahtjeva na tvom računu za svaku naplaćenu AI radnju: korištenu značajku AI-ja, status, cijenu, vremenske oznake i AI rezultat (na primjer generirani trening, procjenu skeniranja ili odgovor trenera). Tekst tvog upita i fotografije nikad se ne pohranjuju u tim zapisima. Zapisnici Wellboyeve AI aplikacije osmišljeni su tako da izbjegavaju bilježenje tvojih upita, fotografija i rezultata; sadrže identifikatore (ID računa i ID zahtjeva), status, latenciju i brojače tokena. Zapisi zahtjeva brišu se zajedno s tvojim računom.
6. Kupnje (Wellboy Pro)
- Plaćanje za Wellboy Pro (pretplate i doživotne kupnje) obrađuje se putem Appleova App Storea ili Google Playa prema njihovim vlastitim uvjetima. Nikad ne primamo podatke tvoje kartice ni bankovne podatke.
- Kao izvršitelja obrade za upravljanje kupnjama koristimo RevenueCat, Inc. (USA). RevenueCat prima tvoj nasumični Wellboy ID računa, potvrdu/token kupnje iz trgovine i tvoju povijest kupnji za ovu aplikaciju, zajedno s osnovnim tehničkim podacima koje prikuplja njegov SDK (model i vrsta uređaja, verzija operacijskog sustava, verzija aplikacije i vremenske oznake posljednjeg viđenja), te nam govori koje je članstvo aktivno. Ako si upotrijebio kod kreatora, kod se povezuje s kupnjom. RevenueCatu ne šaljemo tvoje ime, adresu e-pošte ni sadržaj.
- Naš poslužitelj prima događaje kupnje (proizvod, cijena, valuta, vrijeme, ID računa) putem RevenueCata i pohranjuje status tvog članstva u tvom računu, uz zapisnik događaja koji se koristi za računovodstvo, sprječavanje prijevara i pripisivanje prodaje kodovima kreatora. Kreatori nemaju izravan pristup tim zapisima; svi izvještaji o prodaji koje im pružamo isključuju ID-jeve računa i sadrže samo objedinjene brojke.
- Same trgovine aplikacijama čuvaju tvoju povijest kupnji prema vlastitim pravilima o privatnosti (Apple i Google djeluju kao neovisni voditelji obrade platne transakcije).
7. Obrada koja prvenstveno ostaje na tvom uređaju
- Izazov sklekova: okviri kamere analiziraju se na uređaju pomoću detekcije poza ML Kita. Ni videozapisi ni okviri ne prenose se nigdje; sama biblioteka ML Kit Googleu prijavljuje tehničku telemetriju (odjeljak 3.4), ali nikad tvoje slike ni rezultate poza. Neobavezno snimanje zaslona sprema se samo u tvoju fototeku.
- Skeniranje barkoda: detekcija se izvodi na uređaju; samo se znamenke barkoda šalju izvan uređaja, prvenstveno u naše vlastito zrcalo proizvoda (food.wellboy.net), uz Open Food Facts (i, za korisnike s američkog tržišta, USDA FoodData Central) kao rezervne izvore kada zrcalo nema upotrebljiv proizvod. Predmemorirani rezultati prikazuju se bez ikakvog mrežnog zahtjeva.
- Pretraživanje hrane po tekstu: opća baza hrane (na temelju otvorenih podataka Finelija i USDA-e) ugrađena je u aplikaciju, pa pretraživanja hrane u cijelosti rade na uređaju i ništa se ne prenosi.
- Dnevni koraci: brojevi koraka očitani iz tvog spremišta zdravstvenih podataka prikazuju se i procjenjuju za izazove na uređaju te tamo ostaju.
8. Dijeljenje, preporuke i podrška
8.1 Kodovi za dijeljenje
Stvaranjem koda za dijeljenje objavljuješ zamrznutu snimku odabranog sadržaja (recept, trening, sesija oporavka ili program, uključujući komprimirane slike) pod nasumičnim kodom u javnom području naše baze podataka. Svatko tko ima kod može pregledati i uvesti tu snimku. Zamrznute snimke ne ažuriraju se kada kasnije urediš izvornik.
Kad netko iskoristi tvoj kod, bilježimo ID računa korisnika koji ga je iskoristio i vrijeme kako bismo mogli prebrojiti pojedinačna iskorištenja. Vidiš broj iskorištenja, ne identitete.
Možeš deaktivirati (i ponovno aktivirati) svoje kodove u bilo kojem trenutku u Postavke > Moji kodovi za dijeljenje. Deaktivirani kodovi više se ne mogu pregledati ni iskoristiti.
8.2 Dijeljenja i brisanje računa
Brisanje tvog računa također trajno briše javne zamrznute snimke objavljene s tvog računa (snimku, njezine slike i zapise o iskorištenjima), kao dio kaskade brisanja opisane u odjeljku 10.3. Sadržaj koji su drugi korisnici već uvezli iz tvojih kodova ostaje na njihovim računima (pri uvozu postao je njihova kopija).
8.3 Preporuke prijatelja
Ako izradiš kod prijatelja ili uneseš neki, pohranjujemo kod, ID-jeve računa preporučitelja i preporučenog korisnika te status nagrade kako bi se nagrada za prijatelja mogla dodijeliti jednom svakoj strani. Kodovi prijatelja identifikatori su za dijeljenje po izboru, a ne tajne. Zapisi preporuka brišu se u kaskadi brisanja računa.
8.4 Zahtjevi podršci (Kontaktiraj nas)
Kada pošalješ poruku putem Postavke > Kontaktiraj nas, pohranjujemo zahtjev u tvom računu i prosljeđujemo ga e-poštom na našu adresu podrške; kopija u našem redu za slanje briše se nakon 30 dana. Zahtjev sadrži tvoju poruku, neobaveznu adresu e-pošte za kontakt i, kod zahtjeva za vježbu, neobaveznu poveznicu na referentni videozapis koju navedeš, kao i dijagnostiku čiji opseg ovisi o vrsti zahtjeva: zahtjevi za značajke i vježbe sadrže sažeti skup podataka (verzija aplikacije, vrsta izgradnje, platforma i verzija operacijskog sustava, jezik aplikacije), dok prijave pogrešaka i zahtjevi za pomoć uključuju i model uređaja, vremensku zonu uređaja, regiju i jezične postavke (lokalitet), jedinice i temu, postavke obavijesti i sinkronizacije zdravstvenih podataka, tvoj ID računa, vrstu davatelja prijave, adresu e-pošte računa, status Proa/razine/kredita, status sinkronizacije i brojeve (samo brojeve, nikad sadržaj) tvojih glavnih vrsta podataka. Prijave pogrešaka dodatno prilažu do 12 skraćenih jednorednih poruka o pogreškama iz trenutačne sesije aplikacije. Slanje je ograničeno po učestalosti radi sprječavanja zloupotrebe. Ako se zahtjev ne može poslati, aplikacija umjesto toga nudi unaprijed ispunjenu poruku e-pošte na [email protected]; e-pošta tada putuje izvan aplikacije.
8.5 Sistemski izbornik dijeljenja
Sadržaj koji pošalješ putem izbornika dijeljenja operacijskog sustava (na primjer izvoz podataka ili kod za dijeljenje) odlazi u aplikaciju koju odabereš i izvan je naše kontrole.
9. Usluge trećih strana
| Usluga | Uloga | Što prima |
|---|---|---|
| Google Firebase (Authentication, Cloud Firestore, Cloud Functions, App Check, Cloud Messaging) | Izvršitelj obrade / pružatelj usluge | Identifikatori računa, sinkronizirani sadržaj (odjeljak 4.2), push tokeni i push poruke koje oni usmjeravaju (odjeljak 3.8), tehnički podaci zahtjeva |
| Google Firebase Crashlytics | Izvještavanje o rušenjima i pogreškama (samo ako ga omogućiš) | Izvještaji o rušenjima i pogreškama s tehničkim podacima o uređaju/aplikaciji (odjeljak 3.7); obrađuju se u Sjedinjenim Američkim Državama |
| OpenAI API | Obrada umjetnom inteligencijom (putem našeg poslužitelja) | Ulazni podaci za umjetnu inteligenciju opisani u odjeljku 5; bez IP adrese i bez ID-a računa |
| Apple App Store / Google Play | Obrada plaćanja (neovisni voditelji obrade) | Podaci o kupnji i plaćanju prema njihovim vlastitim uvjetima |
| RevenueCat, Inc. | Izvršitelj obrade za upravljanje kupnjama | Nasumični ID računa, potvrde trgovine, povijest kupnji, osnovni podaci o uređaju (model, verzija OS-a, verzija aplikacije, zadnji put viđeno), neobavezni kod kreatora |
| Sign in with Apple | Pružatelj prijave | Standardna razmjena podataka za prijavu |
| Google Sign-In | Pružatelj prijave | Standardna razmjena podataka za prijavu |
| Wellboy food mirror (food.wellboy.net, Cloudflare Workers + KV) | Primarno pretraživanje proizvoda, kojim upravljamo mi | Znamenke barkoda skeniranih proizvoda |
| Open Food Facts | Neovisna baza podataka o hrani (rezervna opcija kada naše zrcalo nema upotrebljiv proizvod) | Znamenke barkoda skeniranih proizvoda |
| USDA FoodData Central | Američka vladina baza podataka o hrani (rezervna opcija za korisnike na tržištu SAD-a) | Znamenke barkoda skeniranih proizvoda |
| Wellboy CDN (cdn.wellboy.net, koji se oslanja na Cloudflare R2) | Isporuka sadržaja | Standardni zapisi web-zahtjeva pri reprodukciji demonstracijskih isječaka |
| ML Kit pose detection (Google) | Biblioteka za obradu na uređaju | Kadrovi kamere i rezultati procjene položaja ostaju na uređaju; biblioteka Googleu prijavljuje tehničku telemetriju uređaja/aplikacije |
Međunarodni prijenosi: voditelj obrade ima sjedište u EU-u, a tvoj sinkronizirani sadržaj pohranjuje se u EU-u (europe-north1). Neki su naši izvršitelji obrade sa sjedištem u SAD-u (OpenAI za značajke umjetne inteligencije; RevenueCat za upravljanje kupnjama; Cloudflare za zrcalo hrane i medijski CDN), a Google može obrađivati ograničene tehničke podatke na drugim lokacijama u skladu s uvjetima obrade podataka Google Clouda. Ako omogućiš izvještavanje o rušenjima (odjeljak 3.7), Google obrađuje podatke o rušenjima u Sjedinjenim Američkim Državama; taj se prijenos oslanja na certifikaciju društva Google LLC u okviru Okvira za zaštitu podataka EU-a i SAD-a, uz standardne ugovorne klauzule EU-a kao pričuvnu zaštitnu mjeru. Isporuka push poruka (odjeljak 3.8) odvija se na globalnoj infrastrukturi usluge Google Firebase Cloud Messaging, pa se push tokeni i podaci o usmjeravanju poruka mogu obrađivati izvan EU-a u skladu s istim uvjetima obrade podataka Google Clouda. Ti se prijenosi oslanjaju na uvjete obrade podataka pružatelja, standardne ugovorne klauzule EU-a i, gdje je primjenjivo, Okvir za zaštitu podataka EU-a i SAD-a. Kopiju zaštitnih mjera koje se koriste za te prijenose (primjerice relevantnih standardnih ugovornih klauzula) možeš zatražiti na [email protected].
10. Čuvanje, brisanje i izvoz
10.1 Brisanje sadržaja
Tvoj se sadržaj čuva dok ga ne izbrišeš ili dok ne izbrišeš svoj račun. Kada izbrišeš pojedinu stavku, čuva se minimalna oznaka brisanja (bez sadržaja) kako bi tvoji uređaji uskladili brisanje; oznake se brišu zajedno s tvojim računom. Bajtovi izbrisanih slika također se brišu s poslužitelja.
10.2 Odjava
Odjava vraća aplikaciju na tom uređaju u tvorničko stanje. Sinkronizirani podaci ostaju u tvom računu u oblaku i vraćaju se kada se ponovno prijaviš. Na anonimne račune nije se moguće ponovno prijaviti: ako koristiš Wellboy bez registracije i odjaviš se ili izgubiš uređaj, pristup tim podacima trajno se gubi.
10.3 Brisanje računa
Postavke > Račun > Izbriši račun trajno briše tvoje objavljene snimke dijeljenja, zapise preporuka prijatelja i sve pohranjeno pod tvojim računom (sve sinkronizirane zbirke iz odjeljka 4.2, zapise zahtjeva umjetnoj inteligenciji, zahtjeve podršci, status članstva, push tokene), briše tvoj zapis autentifikacije i uklanja lokalnu kopiju na uređaju. To se ne može poništiti. Tehnički zapis zadatka brisanja (ID tvog računa i vremenske oznake napretka, bez sadržaja) čuva se 7 dana nakon dovršetka kako bi se osiguralo da je brisanje završeno, a zatim se automatski uklanja. Zapisi o kupnjama koje čuvaju Apple, Google i RevenueCat, kao i naši zapisi o događajima kupnje i prodaji kreatora (odjeljak 6), zadržavaju se nakon brisanja računa u skladu s njihovim odgovarajućim pravilima i zakonskim obvezama čuvanja (računovodstvo i sprječavanje prijevara). Izvještaji o rušenjima i pogreškama već poslani Crashlyticsu (odjeljak 3.7) ne mogu se selektivno izbrisati i nisu povezani s tvojim računom; automatski se brišu kada istekne njihov rok čuvanja od 90 dana.
10.4 Izvoz
Stranica Račun ima radnju Izvezi podatke koja stvara ZIP datoteku koja sadržava tvoje podatke u JSON-u (sav sinkronizirani sadržaj i postavke aplikacije) i dostupne slikovne datoteke u vlasništvu aplikacije (avatar, fotografije recepata, fotografije napretka i fotografije obroka pohranjene u vlastitoj pohrani aplikacije), a zatim otvara sistemski izbornik za dijeljenje kako bi je mogao spremiti gdje želiš.
Izvoz ne uključuje podatke koji postoje samo na uređaju i nikad se ne sinkroniziraju: povijest razgovora s trenerom, popise za kupnju, dnevne brojeve koraka i aktivnu energiju, stanje izazova s vodom te skice u tijeku. Također ne uključuje operativne zapise na poslužitelju opisane u ovim pravilima (zapise zahtjeva umjetnoj inteligenciji, zahtjeve podršci, događaje kupnje, push tokene); zahtjevi podršci koje si poslao zapisi su u oblaku i brišu se s tvojim računom.
11. Tvoja prava
Budući da je voditelj obrade osnovan u Finskoj, GDPR se primjenjuje na našu obradu bez obzira na to gdje živiš, a možeš imati i dodatna prava prema zakonima vlastite države. Imaš pravo na:
- pristup svojim podacima (izvoz u aplikaciji obuhvaća sinkronizirani sadržaj),
- ispravak (većinu sadržaja koji si unio možeš urediti u aplikaciji; za zapise koje ne možeš sam urediti, poput redaka evidencije, obrati se na [email protected]),
- brisanje (izbriši stavke ili cijeli račun u aplikaciji),
- prenosivost podataka (izvoz u ZIP/JSON-u),
- prigovor, na temelju razloga povezanih s tvojom posebnom situacijom, na obradu koja se temelji na našim legitimnim interesima (odjeljak 12), te ograničenje obrade u slučajevima predviđenima GDPR-om,
- povlačenje privole ako se obrada temelji na privoli (primjerice dijeljenje podataka s trenerom odobrava se za svaki zahtjev; izvještavanje o rušenjima isključuje se u Postavkama, odjeljak 3.7; pristup zdravstvenim aplikacijama, kameri, fotografijama, obavijestima i lokaciji možeš promijeniti u postavkama OS-a). Povlačenje privole ne utječe na zakonitost već provedene obrade. Prekidom veze sa zdravstvenom aplikacijom zaustavljaju se novi uvozi; već uvezeni podaci ostaju na tvom računu dok ih ne izbrišeš,
- pritužbu nadzornom tijelu. Naše vodeće nadzorno tijelo je Ured povjerenika za zaštitu podataka u Finskoj (tietosuoja.fi), jer je voditelj obrade osnovan u Finskoj; pritužbu možeš podnijeti i tijelu u vlastitoj državi prebivališta.
Za ostvarivanje bilo kojeg prava koje alati u aplikaciji ne pokrivaju, obrati se na [email protected].
12. Pravne osnove (GDPR)
| Obrada | Pravna osnova |
|---|---|
| Izrada računa i autentifikacija | Izvršenje ugovora (pružanje usluge) |
| Pružanje usluge (lokalno + sinkronizirano praćenje) | Izvršenje ugovora; izričita privola za podatke o zdravlju |
| Uvoz iz zdravstvenih aplikacija | Izričita privola, izražena putem postupka OS-ova dopuštenja za zdravlje |
| Značajke umjetne inteligencije (skeniranje fotografija, razgovor s trenerom, generiranje) | Privola, dana pri svakoj upotrebi kada pokreneš radnju; izričita privola za unose povezane sa zdravljem |
| Dijeljenje podataka s trenerom | Izričita privola za svaki zahtjev |
| Kodovi za dijeljenje, preporuke prijatelja i zahtjevi podršci | Izvršenje ugovora (značajke koje aktiviraš) |
| Pretraživanja barkodova/proizvoda i isporuka medija | Izvršenje ugovora (značajke koje aktiviraš) |
| Neobavezna približna lokacija (regionalni sadržaj) | Privola, putem dopuštenja OS-a ili vlastitog unosa |
| Izvještavanje o rušenjima i pogreškama (Crashlytics, odjeljak 3.7) | Privola (prekidač za uključivanje, isključeno po zadanim postavkama; privolu možeš povući u Postavkama) |
| Neobavezno marketinško pitanje (gdje si čuo za nas, odjeljak 3.6) | Privola (odgovor je dobrovoljan) |
| Obavijesti o cijenama (push, odjeljak 3.8) | Privola, putem dopuštenja OS-a za obavijesti |
| Signal pozadinskog osvježavanja (tihi push, odjeljak 3.8) | Izvršenje ugovora (održavanje sinkronizacije tvojih uređaja i računa) |
| Kupnje i upravljanje članstvom | Izvršenje ugovora; zakonska obveza (računovodstvo); legitimni interesi (sprječavanje prijevara i pripisivanje prodaje kreatorima) |
| Sigurnost i sprječavanje zlouporabe (provjera autentičnosti, pravila, ograničenja) | Legitimni interesi |
| Neobavezna dopuštenja (kamera, fotografije, obavijesti) | Privola putem dopuštenja OS-a |
Tvoj je datum rođenja potreban za provjeru minimalne dobi pri postavljanju aplikacije, a za kupnju su potrebni podaci koje prikuplja postupak naplate u trgovini; bez njih se registracija ili kupnja ne može dovršiti. Sve ostalo što dodaš dobrovoljno je: značajke jednostavno rade bez podataka koje izostaviš.
13. Sigurnost
Podaci se šifriraju tijekom prijenosa (TLS) i u mirovanju (šifriranje kojim upravlja Google). Pristup je ograničen sigurnosnim pravilima za svakog korisnika koja prema zadanim postavkama zabranjuju pristup. Većina korisničkog sučelja aplikacije čita lokalnu kopiju tvojih podataka (cijene i status članstva prikazani na zaslonu ponude čitaju se s poslužitelja); oblak je inače samo odredište za sinkronizaciju, čime se smanjuje broj putova izlaganja podataka. Stanja virtualnih kredita i EXP-a određuju se na poslužitelju. Zapisnici naše aplikacije za umjetnu inteligenciju osmišljeni su tako da ne sadrže tvoje upite, fotografije i rezultate (odjeljak 5.5); drugi zapisi poslužitelja mogu sadržavati identifikatore i tehničke pojedinosti zahtjeva te se upotrebljavaju za rad sustava i sprječavanje zlouporabe. Ne uključujemo kôd za oglašavanje trećih strana ni analitiku proizvoda trećih strana (komponente Googleovih SDK-ova prijavljuju ograničenu tehničku telemetriju, odjeljak 3.4). Izvještavanje o rušenjima i pogreškama neobavezno je i po zadanim je postavkama isključeno (odjeljak 3.7).
14. Djeca
Wellboy je namijenjen korisnicima u dobi od 13 i više godina, odnosno starijima ondje gdje je nacionalna digitalna dob za davanje privole viša (od 13 do 16 godina u EU/EGP-u; primjerice 13 u Finskoj, a 16 u Njemačkoj, Irskoj i Nizozemskoj). Aplikacija traži datum rođenja i tijekom početnog postavljanja, u Postavkama te u jednokratnom upitu za račune stvorene prije uvođenja provjere dobi ne prihvaća datum rođenja iz kojeg proizlazi dob manja od minimalne dobi koja se primjenjuje ondje gdje živiš. Ne postoji postupak roditeljske privole: ispod lokalne minimalne dobi ne možeš koristiti aplikaciju, pa svjesno ne prikupljamo podatke djece mlađe od te dobi.
Fotografije napretka namijenjene su korisnicima u dobi od 18 i više godina. Ako imaš manje od 18 godina, značajka fotografija napretka nije ti ponuđena i nijedna se fotografija napretka ne pohranjuje na tvom uređaju, ne sinkronizira s tvojim računom niti se igdje prenosi. Sve ostale značajke rade uobičajeno.
15. Izmjene ovih pravila
Objavit ćemo sva ažuriranja na https://wellboy.app/privacy i u aplikaciji istaknuti bitne promjene prije nego što stupe na snagu.
16. Jezik
Ova se pravila sastavljaju i održavaju na engleskom jeziku; prijevodi se izrađuju iz engleskog teksta radi praktičnosti. Ako se prijevod i engleski tekst razlikuju, engleski je tekst verzija koju održavamo i prema kojoj ispravljamo prijevode, a nastojimo da svaki objavljeni prijevod bude u bitnome točan.
17. Kontakt
Pankka Group Oy Sukkulatie 10, 87700 Kajaani, Finland Business ID 3397011-8 [email protected]