Wellboy privacyverklaring

Concept, nog niet van krachtv0.6 · Bijgewerkt 24 augustus 2026

Ingangsdatum: nog niet van kracht (concept).

1. Wie we zijn

Wellboy wordt geëxploiteerd door Pankka Group Oy, een vennootschap met beperkte aansprakelijkheid die in Finland is geregistreerd (ondernemingsnummer 3397011-8), Sukkulatie 10, 87700 Kajaani, Finland. Pankka Group Oy is de verwerkingsverantwoordelijke voor de persoonsgegevens die in deze privacyverklaring worden beschreven.

Contact voor privacy: [email protected]

In deze privacyverklaring verwijzen “Wellboy”, “wij” en “ons” naar Pankka Group Oy, en betekent “de app” de Wellboy-applicatie (iOS-, Android- en desktopversies).

2. Samenvatting in gewone taal

  • De app werkt volgens het principe offline-first: je gegevens staan in een lokale database op je apparaat en de basisregistratie werkt zonder verbinding. Synchronisatie, AI-functies, aankopen, delen en online productzoekopdrachten vereisen een verbinding.
  • Wanneer je online bent, wordt je inhoud gesynchroniseerd met onze clouddatabase (Google Cloud Firestore) in de EU-regio europe-north1 (Finland), opgeslagen onder een privéaccount-ID dat alleen je ingelogde account kan lezen of schrijven.
  • Je begint automatisch met een anoniem account en registreert aan het einde van de onboarding een inlogmethode (Apple, Google of e-mail) om je gegevens op al je apparaten te behouden.
  • AI-functies (maaltijdfotoscan, coachchat, training genereren) sturen de benodigde invoer via de eigen servers van Wellboy naar OpenAI voor verwerking. De app roept onze server aan en de AI-API-sleutel wordt als geheim op de server bewaard. Verzoeken worden verzonden met uitgeschakelde opslag van de applicatiestatus door OpenAI; OpenAI mag API-logboeken bewaren voor misbruikcontrole volgens de eigen voorwaarden (doorgaans maximaal 30 dagen), en Wellboy noch OpenAI gebruiken je invoer om AI-modellen te trainen.
  • Je kunt optioneel Apple Health (HealthKit) of Health Connect (Android) koppelen. De import in de Wellboy-app is alleen-lezen. Als je de optionele begeleidende Apple Watch-app gebruikt om een training vast te leggen, slaat het horloge die training (met hartslag en actieve energie) op in Apple Health op je eigen apparaten; het stuurt die gegevens niet naar de servers van Wellboy (sectie 3.5).
  • Aankopen van Wellboy Pro worden verwerkt door Apple of Google; wij zien je kaartgegevens nooit. RevenueCat verwerkt aankoopbewijzen voor ons.
  • We tonen geen advertenties en gebruiken geen productanalyse door derden in deze versie. De Google-SDK-componenten die de app gebruikt (ML Kit, Firebase) melden beperkte technische telemetrie aan Google (secties 3.4 en 9).
  • Crashrapportage is optioneel en standaard uitgeschakeld. Als je dit inschakelt, gaan crash- en foutrapporten (alleen technische gegevens, nooit je inhoud) naar Google Firebase Crashlytics en worden ze in de Verenigde Staten verwerkt. Je kunt dit op elk moment uitschakelen in Instellingen (sectie 3.7).
  • Herinneringsmeldingen worden op je apparaat gepland en verlaten het apparaat nooit. De enige berichten die onze servers verzenden zijn optionele prijswaarschuwingen over de levenslange aankoop en een onzichtbaar signaal dat de app vertelt zijn eigen gegevens te verversen (sectie 3.8).
  • De geschiedenis van coachchats, boodschappenlijsten, dagelijkse stappentellingen en de meeste app-instellingen wordt nooit naar je cloudaccount geüpload. Foto’s van maaltijdscans blijven ook op je apparaat. Het antwoord van de coach op elk bericht waarvoor credits in rekening worden gebracht, wordt bewaard in een AI-verzoekrecord op de server (sectie 5.5).
  • Deelcodes publiceren een onveranderlijke, openbare momentopname van de gedeelde inhoud die iedereen met de code kan bekijken.
  • Je kunt je gegevens rechtstreeks in de app als ZIP-bestand exporteren (JSON + je afbeeldingsbestanden) en je account verwijderen (met alle gesynchroniseerde gegevens).

3. Welke gegevens we verzamelen

3.1 Accountgegevens

  • Een anoniem account (willekeurig account-ID) wordt automatisch aangemaakt wanneer de app voor het eerst verbinding maakt, en tijdens de onboarding wordt je gevraagd een inlogmethode te registreren.
  • Wanneer je een inlogmethode registreert of koppelt, slaan we de identificatiegegevens op die de provider ons geeft: je e-mailadres en provideraccount-ID’s (Sign in with Apple, Google Sign-In of e-mail + wachtwoord), plus de status van e-mailverificatie. Als de provider die deelt, kunnen we ook de naam ontvangen die aan dat provideraccount is gekoppeld (bijvoorbeeld via Sign in with Apple).
  • We bieden geen authenticatie via telefoon/SMS.

3.2 Inhoud die je toevoegt (gezondheids- en fitnessgegevens)

Afhankelijk van welke functies je gebruikt, kan dit het volgende omvatten:

  • maaltijden en voedingsregistraties (voedingsmiddelen, porties, energie, macronutriënten), hydratatie, dagelijkse samenvattingen van je incheckmomenten en voedingsdoelen,
  • je doelen (belangrijkste trainingsdoelen, streefgewicht, wekelijks trainingsdoel, dagelijks activiteitsniveau),
  • registraties van slaapkwaliteit,
  • trainingen: je eigen trainingssjablonen, voltooide sessies (sets, gewichten, reps, tijden, afstanden), geplande trainingen en trainingsprogramma’s,
  • recepten en kookboekinhoud, inclusief receptfoto’s,
  • boodschappenlijsten (alleen op het apparaat),
  • lichaamsmetingen en voortgangsfoto’s (voortgangsfoto’s zijn alleen beschikbaar voor gebruikers van 18 jaar en ouder, zie sectie 14),
  • gegevens geïmporteerd uit Apple Health of Health Connect (sectie 3.5),
  • resultaten van uitdagingen (bijvoorbeeld scores voor opdrukuitdagingen),
  • streaks, ervaringspunten (XP), geschiedenis van virtuele credits en ontvangstbewijzen voor inwisselingen met virtuele credits,
  • deelregistraties (metagegevens over door jou aangemaakte deelcodes) en registraties van vriendverwijzingen (sectie 8.3),
  • een optionele avatarfoto,
  • coachchatberichten (alleen op je apparaat opgeslagen),
  • je profiel: naam, geslacht en geboortedatum (gebruikt voor calorie-inschattingen, personalisatie van de coach en de minimumleeftijdscontrole; je leeftijd zelf wordt telkens opnieuw berekend en nooit opgeslagen).

Veel hiervan zijn gezondheidsgerelateerde gegevens. We behandelen dit standaard allemaal als privé en slaan het alleen op om de dienst aan jou te leveren.

3.3 Instellingen

Eenheden, taal, thema, meldingsvoorkeuren, trainingsstandaardinstellingen, een optionele globale locatie op land-/stadsniveau en een optioneel pad naar een profielfoto worden alleen op je apparaat opgeslagen (zie 4.3). De uitzonderingen zijn je naam, geslacht en geboortedatum, die met je cloudaccount worden gesynchroniseerd als je profiel (samen met een vlag die aangeeft dat je onboarding hebt voltooid en, als je die vraag hebt beantwoord, je optionele keuze “waar heb je van ons gehoord”, sectie 3.6), zodat ze naar een nieuw apparaat meegaan.

Details over locatie: je kunt zelf je land en stad invoeren of de toestemming voor globale locatie van het besturingssysteem verlenen. De app vraagt nooit om een precieze GPS-locatie. Locatie wordt alleen gebruikt voor regionale inhoud.

3.4 Automatisch verzamelde gegevens

  • We gebruiken geen SDK’s voor advertenties en geen SDK’s voor productanalyse door derden. De Google-SDK-componenten die de app gebruikt (ML Kit voor houdingsdetectie, Firebase) melden beperkte technische telemetrie aan Google (apparaat-, app-, configuratie-, prestatie- en foutgegevens; zie sectie 9).
  • Het gebruik van Google-diensten stelt standaard technische gegevens (IP-adres, apparaatgegevens, tijdstempels) noodzakelijkerwijs bloot aan Google als onze dienstverlener wanneer de app communiceert met eindpunten voor authenticatie, de database of de server.
  • De app gebruikt Firebase App Check voor attestatie van apparaat en app om te helpen controleren of verzoeken afkomstig zijn van een echte, ongewijzigde Wellboy-app. Bij attestatie wordt een integriteitstoken uitgewisseld dat door Apple of Google is uitgegeven; hiermee word je niet persoonlijk geïdentificeerd.
  • Om dagelijkse limieten eerlijk over tijdzones toe te passen, slaat onze server de meest recente IANA-tijdzonenaam (bijvoorbeeld “Europe/Helsinki”) van je apparaat op in je account en gebruikt die (of Europe/Helsinki als geen tijdzone is opgeslagen) voor de daggrenzen. Een tijdzone is een grof regionaal signaal, geen locatievolgspoor.
  • Bij het scannen van een barcode worden alleen de cijfers van de barcode naar onze eigen productspiegeldienst (food.wellboy.net, gehost op Cloudflare) gestuurd. Als de spiegel geen bruikbaar product oplevert (onbekende barcode, ontbrekende voedingswaarden of een spiegelfout), worden de cijfers vervolgens naar Open Food Facts gestuurd en voor gebruikers op de Amerikaanse markt naar USDA FoodData Central als alternatieve zoekopdrachten. Elke dienst ziet noodzakelijkerwijs je IP-adres als onderdeel van het verzoek; er wordt geen account-ID meegestuurd. Resultaten met voedingswaarden worden 30 dagen op het apparaat gecachet, zodat herhaalde scans van hetzelfde product geen netwerkverzoek doen.
  • Video’s met oefendemonstraties worden gestreamd vanaf onze CDN (cdn.wellboy.net), die standaardlogboeken van webverzoeken ziet.
  • Optionele crash- en foutrapportage is standaard uitgeschakeld en wordt beschreven in sectie 3.7; zolang deze uitstaat wordt hiervoor niets verzameld.
  • Op iOS en Android registreert de app een pushrouteringstoken bij Google Firebase Cloud Messaging, zodat onze server de in sectie 3.8 beschreven berichten kan bezorgen. Het token wordt op je account opgeslagen en wordt zelfs aangemaakt als je zichtbare meldingen weigert (het bevat ook het onzichtbare verversingssignaal).

3.5 Import uit gezondheidsapps (Apple Health / Health Connect)

Als je Wellboy koppelt aan Apple Health (iOS) of Health Connect (Android), leest de app met jouw toestemming alleen de volgende typen:

  • gewicht, lichaamsvetpercentage, vetvrije lichaamsmassa, rusthartslag en (op iOS) middelomtrek: geïmporteerde gegevens worden opgeslagen zoals handmatig ingevoerde lichaamsmetingen, gemarkeerd met hun bron en gesynchroniseerd met je cloudaccount zoals andere lichaamsmetingen,
  • dagelijkse stappentellingen en, als je trainingscalorieën hebt ingeschakeld in de instellingen van Wellboy, dagelijkse actieve energie: gespiegeld in de activiteitenweergave en uitdagingen van de app, alleen op je apparaat opgeslagen en nooit gesynchroniseerd,
  • hartslagmetingen tijdens een training (alleen als je hartslag tijdens trainingen inschakelt): live gelezen om je hartslag en geschatte calorieën tijdens en na de sessie te tonen; de metingen zelf worden nooit opgeslagen; alleen de trainingssamenvatting die je opslaat, wordt bewaard.

De import uit de gezondheidsopslag van je telefoon is alleen-lezen: de Wellboy-telefoonapp leest alleen de hierboven genoemde typen en schrijft niet naar je gezondheidsopslag.

Begeleidende Apple Watch-app: als je de optionele Wellboy-watchapp installeert en daarmee een training vastlegt, meet het horloge de sessie via HealthKit en, met de HealthKit-machtigingen die je op het horloge verleent, slaat het de training met de hartslag en actieve energie op in Apple Health, zodat de training meetelt voor je activiteitsringen. Dit schrijven gebeurt in je eigen gezondheidsopslag op je eigen apparaten; het horloge uploadt de training, hartslag of energiegegevens niet naar de servers van Wellboy.

Je kunt op elk moment de verbinding verbreken via de OS-instellingen (iOS: Instellingen > Gezondheid > Gegevenstoegang; Android: Health Connect-app), en een optionele automatische synchronisatie voor aanvulling kan in de Wellboy-instellingen worden uitgeschakeld. Gezondheidsgegevens worden nooit gebruikt voor advertenties of marketing en nooit gedeeld met derden voor hun eigen doeleinden.

3.6 Waar je van ons hebt gehoord (optionele marketingvraag)

Aan het einde van de onboarding vragen we waar je van Wellboy hebt gehoord. Antwoorden is optioneel en je kunt doorgaan zonder iets te kiezen. Als je antwoordt, wordt de ene keuze die je hebt geselecteerd (een vriend, Instagram, TikTok, YouTube, Facebook, de appstore, een podcast of “anders”) opgeslagen bij je profiel (sectie 4.2) en gebruikt om te begrijpen welke kanalen gebruikers naar Wellboy brengen. Dit zijn marketinggegevens, geen diagnostische gegevens: ze maken geen deel uit van de crashrapporten die in sectie 3.7 worden beschreven, er wordt niets naar het gekozen platform gestuurd, ze worden niet gebruikt voor advertenties of volgen en ze worden verwijderd wanneer je je account verwijdert.

3.7 Crash- en foutrapportage (optioneel, standaard uitgeschakeld)

Om crashes en verborgen fouten te vinden en op te lossen, bevat de app Firebase Crashlytics (Google). Crashrapportage is standaard uitgeschakeld en wordt alleen ingeschakeld als je dit activeert, op de onboardingpagina waarop dit wordt gevraagd of later in Instellingen. Het wordt nooit vooraf geselecteerd en nooit als neveneffect van iets anders ingeschakeld. Zolang het uitstaat, wordt voor dit doel niets verzameld of verzonden.

Als je dit inschakelt, stuurt Wellboy naar Google Crashlytics:

  • crashrapporten en rapporten van niet-fatale fouten (fouten die de app heeft opgevangen en waar de app van is blijven werken, bijvoorbeeld een mislukte synchronisatiepoging of een mislukte serveraanroep), met de technische fouttracering,
  • apparaatmodel, versie van het besturingssysteem, appversie en technische apparaatstatus op het moment van het rapport (bijvoorbeeld beschikbaar geheugen),
  • een Crashlytics-installatie-ID: een willekeurige ID voor de app-installatie, gebruikt om te tellen op hoeveel apparaten een probleem invloed heeft. We stellen geen identificator in die een rapport aan je Wellboy-account zou koppelen,
  • tijdstempels,
  • voor niet-fatale fouten een kleine set technische contextwaarden: welk subsysteem van de app de fout rapporteerde, technische redencodes, fout- en HTTP-statuscodes en kleine aantallen. De toegestane contextsleutels staan op een vaste lijst van technische sleutels die in de code van de app wordt afgedwongen.

Crash- en foutrapporten bevatten nooit je inhoud of gezondheidsgegevens: geen trainingen, geen maaltijden, geen gewicht of metingen, geen foto’s, geen namen, geen e-mailadressen en geen coachberichten.

Crashgegevens worden door Google in de Verenigde Staten verwerkt (Crashlytics biedt geen keuze voor de gegevenslocatie). Dit is een bewuste, gedocumenteerde uitzondering op de EU-opslag die in sectie 4.2 wordt beschreven, en een reden waarom deze functie alleen na jouw keuze actief is. De doorgifte steunt op de certificering van Google LLC onder het EU-US Data Privacy Framework, met EU-standaardcontractbepalingen als terugvalwaarborg (sectie 9).

Crashrapporten en de bijbehorende identificatoren worden 90 dagen bewaard en daarna automatisch verwijderd. Crashlytics biedt geen verwijdering per gebruiker: reeds verzonden rapporten kunnen achteraf niet selectief worden verwijderd, dus het uitschakelen van rapportage of verwijderen van je Wellboy-account verwijdert reeds verzonden rapporten niet met terugwerkende kracht; ze verdwijnen binnen de periode van 90 dagen vanzelf. Omdat er geen aan een account gekoppelde identificator wordt ingesteld, kunnen rapporten ook niet op gebruiker worden opgezocht.

De rechtsgrond voor deze verwerking is je toestemming (sectie 12). Je kunt deze op elk moment intrekken door crashrapportage uit te schakelen in Instellingen; de wijziging wordt volledig van kracht wanneer de app de volgende keer start.

3.8 Pushmeldingen en de pushrouteringstoken

Meldingen in Wellboy komen van twee verschillende plaatsen, en dat verschil is belangrijk:

  • Herinneringen worden op je apparaat gemaakt. Trainingsherinneringen, de gecombineerde herinnering voor de avondlijke incheck en credits, het ochtendoverzicht en hydratatieherinneringen worden door de app lokaal gepland op basis van gegevens die al op je telefoon staan. Ze verlaten het apparaat nooit en er is geen server betrokken bij het verzenden ervan.
  • Slechts twee soorten berichten komen van de servers van Wellboy, afgeleverd via Google’s Firebase Cloud Messaging (FCM): optionele prijswaarschuwingen over de levenslange aankoop (een waarschuwing wanneer het huidige prijsniveau bijna vol is en een melding in het laatste uur voordat dit sluit), die alleen worden getoond als meldingen voor de app zijn toegestaan; en een onzichtbaar signaal voor verversen op de achtergrond dat de app vertelt nieuwe gegevens uit je eigen account op te halen (bijvoorbeeld meteen nadat onze server je ervaringspunten heeft toegekend). Het verversingssignaal toont niets aan jou en bevat geen inhoud, alleen de instructie om te verversen.

Prijswaarschuwingen worden gericht aan een anoniem onderwerp per valuta (bijvoorbeeld “price_eur” voor iedereen van wie de winkelprijzen in euro’s zijn), niet persoonlijk aan jou: de server kiest ontvangers niet op basis van account.

Om deze berichten te routeren, bevat je apparaat een FCM-registratietoken: een pushrouteringsadres dat door Google Firebase Cloud Messaging wordt uitgegeven. Het identificeert je app-installatie voor bezorging van berichten; het is niet je account-ID en bevat geen persoonsgegevens. De app slaat de actuele token van elk apparaat op onder je eigen accountgegevens (users/{uid}/pushTokens), samen met het platform (“ios” of “android”) en tijdstempels voor aanmaak/bijwerking, en gebruikt deze uitsluitend om de hierboven beschreven berichten af te leveren: nooit voor advertenties, profilering of volgen tussen apps.

Levensloop van de token: het besturingssysteem en de Firebase-SDK vernieuwen de token van tijd tot tijd, waarna de app de opgeslagen token vervangt. Uitloggen verwijdert de token van het apparaat op basis van beste inspanning uit je account; als Google meldt dat een token niet langer geldig is, verwijdert onze server deze automatisch; en de tokenregistraties worden samen met al het andere onder je account verwijderd wanneer je je account verwijdert (sectie 10.3). De token wordt aangemaakt voor het signaal voor verversen op de achtergrond, zelfs als je de toestemming voor meldingen weigert (het verversingssignaal toont niets, dus het besturingssysteem vereist hiervoor geen toestemming); weigeren van de toestemming betekent dat er nooit een zichtbare melding aan jou wordt getoond. Pushberichten bevatten zelf nooit je inhoud of gezondheidsgegevens.

4. Waar je gegevens worden opgeslagen

4.1 Op je apparaat

De lokale database is de werkversie van alles, waardoor het bijhouden van de kerngegevens offline werkt; online functies (synchronisatie, AI, aankopen, delen, online producten opzoeken) hebben een verbinding nodig. Afbeeldingsbestanden (avatar, receptfoto’s, maaltijdscanfoto’s, voortgangsfoto’s) worden opgeslagen in de privéopslag van de app op het apparaat.

4.2 In onze cloud (gesynchroniseerde collecties)

Wanneer het apparaat online is, synchroniseert de app de volgende inhoud naar Cloud Firestore (regio europe-north1, Finland), dat door Google als onze verwerker wordt beheerd. De gegevens van elke gebruiker staan onder hun eigen privéaccount-ID:

Gesynchroniseerde inhoud Opmerkingen
Trainingssjablonen Je eigen opgeslagen trainingen
Voltooide trainingssessies Sets, gewichten, reps, tijden
Ingeplande trainingen Kalenderitems
Trainingsprogramma’s Programmastatus en voortgang
Maaltijdregistraties Voedingsmiddelen, porties, voedingswaarden
Hydratatieregistraties Drinkhoeveelheden
Goedkeuringen van dagelijkse check-ins Dagsamenvattingen incl. hydratatietotaal
Voedingsdoelen Energie- en macrodoelen
Gebruikersdoelen Hoofddoelen, streefgewicht, weekdoel, activiteitsniveau
Slaapregistraties Eén kwaliteitsbeoordeling per dag
Recepten Inhoud van je kookboek
EXP-toekenningen Geschiedenis van ervaringspunten
Creditregistraties Register van verdiende en uitgegeven virtuele credits
Inwisselingen in de winkel Bewijzen van inwisseling met virtuele credits
Uitdagingresultaten Bijvoorbeeld scores voor de opdrukuitdaging
Lichaamsmetingen Gewicht en andere metingen, incl. imports uit gezondheidsapps
Voortgangsfoto’s Fotoregistratie en de gecomprimeerde afbeelding zelf
Deelregistraties Metadata over je deelcodes
Streakstatus Dagelijkse streaktellers
Gebruikersafbeeldingen Avatar, recept- en voortgangsfoto’s als gecomprimeerde afbeeldingen
Profiel Naam, geslacht, geboortedatum, optioneel antwoord op “waar heb je van ons gehoord”

Opmerkingen over afbeeldingen:

  • Avatar, recept- en voortgangsfoto’s worden als kleine gecomprimeerde afbeeldingsblobs gesynchroniseerd, zodat ze met je meegaan naar een nieuw apparaat. Als je er een verwijdert, worden ook de afbeeldingsbytes ervan van de server gewist.
  • Maaltijdscanfoto’s worden niet gesynchroniseerd: ze blijven alleen op je apparaat staan als miniaturen van maaltijden. De maaltijdregistratie synchroniseert wel het bestandspad van de foto als tekstmetadata, maar de afbeeldingsbytes worden nooit geüpload.

Bovenop de gesynchroniseerde inhoud bewaart onze server kleine operationele registraties onder je account: AI-aanvraagregistraties (sectie 5.5), supporttickets (sectie 8), je Pro-lidmaatschapsstatus (sectie 6) en de push-routeringstokens van je apparaten (sectie 3.8).

4.3 Nooit gesynchroniseerd (alleen op het apparaat)

Chatgeschiedenis met de coach, boodschappenlijsten, dagelijkse stappentellingen en actieve energie, de status van wateruitdagingen, app-instellingen behalve je profiel (waaronder de land-/stadsvelden en het bestandspad van je profielfoto), maaltijdscanfoto’s en maaltijdconcepten in bewerking blijven op je apparaat staan en worden niet geüpload.

4.4 Toegangsbeheer

Toegang tot onze database wordt beheerd met beveiligingsregels waarbij standaard alles wordt geweigerd: alleen verzoeken die met jouw account zijn geauthenticeerd, kunnen je gesynchroniseerde inhoud lezen of schrijven, en de serverregistraties die in dit beleid worden beschreven (bijvoorbeeld aankoopgebeurtenissen en openbare deelmomentopnamen) zijn alleen leesbaar zoals hun eigen secties beschrijven. De regels worden versiebeheerd en alleen gewijzigd door een expliciete uitrol.

5. AI-functies (OpenAI)

Alle AI-aanvragen lopen via de eigen server van Wellboy (een Google Cloud Function in de EU), die de AI-API-sleutel als servergeheim bewaart, de gebruikslimieten van je plan controleert en alleen de benodigde invoer ter verwerking doorstuurt naar OpenAI. Omdat onze server de aanvraag aan OpenAI doet, ontvangt OpenAI het netwerkadres van de server in plaats van je IP-adres, en voegt Wellboy je account-ID niet aan de aanvraag toe (tekst die je zelf typt wordt ongewijzigd verzonden, dus typ geen identificatiegegevens die je niet wilt verzenden). Aanvragen worden verzonden met uitgeschakelde opslag van de applicatiestatus door OpenAI (“store: false”), wat onze server bij elke aanvraag afdwingt; OpenAI kan API-logs voor misbruikcontrole bewaren volgens de eigen voorwaarden (doorgaans maximaal 30 dagen). Noch Wellboy noch OpenAI gebruikt je invoer om AI-modellen te trainen.

5.1 Maaltijdscan

Als je een maaltijd scant, wordt de foto op je apparaat normaal bijgesneden tot een gecentreerd vierkant en verkleind (ongeveer 768 px); als die verwerking mislukt, wordt in plaats daarvan de originele foto verzonden. De afbeelding wordt samen met de optionele naam/notities die je hebt getypt verzonden om de voedingswaarde te schatten. De schatting wordt opgeslagen in je maaltijdoverzicht. De foto zelf wordt alleen op je apparaat bewaard als miniatuur van de maaltijdkaart; Wellboy uploadt de foto niet naar door Wellboy beheerde opslag.

5.2 Coachchat

Berichten die je naar de AI-coach typt, worden ter verwerking verzonden samen met de laatste paar berichten van het gesprek. De coach kan om appgegevens vragen, maar gegevens worden alleen gedeeld wanneer je expliciet een specifieke aanvraagkaart goedkeurt in de chat. Na goedkeuring wordt op je apparaat een compacte tekstsamenvatting (recente trainingen, goedgekeurde dagvoeding, slaap, lichaamsmetingen of streak) gegenereerd en verzonden; precies de samenvattingstekst die wordt getoond en in de chat opgeslagen, verlaat het apparaat, nooit de onbewerkte database. De chatgeschiedenis wordt alleen op je apparaat opgeslagen en niet als gesprek geüpload; het antwoord van de coach op elk bericht waarvoor credits zijn afgeschreven, wordt echter bewaard in de AI-aanvraagregistratie op de server die in sectie 5.5 wordt beschreven.

5.3 Training genereren

Als je AI-trainingsgeneratie gebruikt, worden je materiaallijst, ervaringsniveau en je keuzes in de generator (tijd, plaats, focus, optionele vrije tekstwensen) verzonden om een trainingssuggestie samen te stellen.

5.4 Gebruikslimieten en kosten

AI-acties verbruiken virtuele credits in de app op het gratis plan en zijn op beide plannen onderworpen aan dagelijkse en maandelijkse limieten als maatregel tegen misbruik (de limieten voor redelijk gebruik van Pro staan in de gebruiksvoorwaarden en de app toont hoeveel gebruik je nog hebt). Kosten en terugbetalingen worden vastgelegd in het creditregister in je account.

5.5 AI-aanvraagregistraties op onze server

Om correct kosten in rekening te brengen, houdt onze server voor elke AI-actie waarvoor credits zijn afgeschreven een kleine AI-aanvraagregistratie bij in je account: de gebruikte AI-functie, status, kosten, tijdstempels en het AI-resultaat (bijvoorbeeld de gegenereerde training, de scan-schatting of het antwoord van de coach). Je prompttekst en foto’s worden nooit opgeslagen in deze registraties. De AI-applicatielogs van Wellboy zijn ontworpen om je prompts, foto’s en resultaten niet te bevatten; ze bevatten identificatiegegevens (account- en aanvraag-ID’s), status, latentie en tokenaantallen. Aanvraagregistraties worden met je account verwijderd.

6. Aankopen (Wellboy Pro)

  • Betaling voor Wellboy Pro (abonnementen en levenslange aankopen) wordt verwerkt door de App Store van Apple of Google Play volgens hun eigen voorwaarden. We ontvangen nooit je kaart- of bankgegevens.
  • Wij gebruiken RevenueCat, Inc. (USA) als verwerker voor aankoopbeheer. RevenueCat ontvangt je willekeurige Wellboy-account-ID, het aankoopbewijs/-token uit de store en je aankoopgeschiedenis voor deze app, samen met de basis technische gegevens die de SDK verzamelt (model en type van het apparaat, versie van het besturingssysteem, appversie en tijdstempels van laatste activiteit), en laat ons weten welk lidmaatschap actief is. Als je een makerscode hebt gebruikt, wordt de code aan de aankoop gekoppeld. We sturen je naam, e-mailadres of inhoud niet naar RevenueCat.
  • Onze server ontvangt via RevenueCat aankoopgebeurtenissen (product, prijs, valuta, tijd, account-ID) en slaat je lidmaatschapsstatus op in je account, plus een gebeurtenislog voor boekhouding, fraudepreventie en verkooptoeschrijving aan makerscodes. Makers hebben geen directe toegang tot deze registraties; verkooprapporten die we aan makers verstrekken bevatten geen account-ID’s en uitsluitend geaggregeerde cijfers.
  • De appstores zelf bewaren je aankoopgeschiedenis ook volgens hun eigen privacyverklaringen (Apple en Google treden op als afzonderlijke verwerkingsverantwoordelijken voor de betalingstransactie).

7. Verwerking die voornamelijk op je apparaat blijft

  • Opdrukuitdaging: camerabeelden worden op het apparaat geanalyseerd met positiedetectie van ML Kit. Geen video of camerabeelden worden ergens naartoe verzonden; de ML Kit-bibliotheek zelf meldt technische telemetrie aan Google (sectie 3.4), maar nooit je afbeeldingen of houdingsresultaten. De optionele schermopname wordt alleen in je eigen fotobibliotheek opgeslagen.
  • Barcodes scannen: detectie gebeurt op het apparaat; alleen de cijfers van de barcode worden verstuurd, voornamelijk naar onze eigen productspiegel (food.wellboy.net), met Open Food Facts (en, voor gebruikers op de US-markt, USDA FoodData Central) als terugvalopties wanneer de spiegel geen bruikbaar product heeft. Gecachte resultaten worden zonder netwerkverzoek geleverd.
  • Zoeken naar voedsel in tekst: de algemene voedseldatabase (gebaseerd op open gegevens van Fineli en USDA) is in de app opgenomen, zodat voedselzoekopdrachten volledig op het apparaat worden uitgevoerd en niets wordt verzonden.
  • Dagelijkse stappen: stappentellingen die uit je gezondheidsopslag worden gelezen, worden op het apparaat getoond en voor uitdagingen beoordeeld en blijven daar.

8. Delen, doorverwijzingen en support

8.1 Deelcodes

Als je een deelcode maakt, publiceert de app een bevroren momentopname van de geselecteerde inhoud (een recept, training, herstelsessie of programma, inclusief gecomprimeerde afbeeldingen) bij een willekeurige code in een openbaar gedeelte van onze database. Iedereen die de code heeft, kan die momentopname bekijken en importeren. Momentopnamen worden niet bijgewerkt wanneer je het origineel later bewerkt.

Wanneer iemand je code inwisselt, registreren we het ID van het account dat de code inwisselt en het tijdstip, zodat afzonderlijke inwisselingen kunnen worden geteld. Je ziet aantallen, geen identiteiten.

Je kunt je codes op elk moment deactiveren (en opnieuw activeren) via Instellingen > Mijn deelcodes. Gedeactiveerde codes kunnen niet meer worden bekeken of ingewisseld.

8.2 Delen en accountverwijdering

Als je je account verwijdert, worden ook de openbare deelmomentopnamen die je hebt gepubliceerd permanent verwijderd (de momentopname, de afbeeldingen en de registraties van inwisselingen), als onderdeel van de verwijderingscascade die in sectie 10.3 wordt beschreven. Inhoud die andere gebruikers al uit je codes hebben geïmporteerd, blijft in hun accounts staan (bij het importeren werd het hun kopie).

8.3 Vrienden doorverwijzen

Als je een vriendencode maakt of invoert, slaan we de code, de account-ID’s van de verwijzende en verwezen accounts en de beloningsstatus op, zodat de vriendenbeloning één keer aan beide kanten kan worden toegekend. Vriendencodes zijn identificatiegegevens die je zelf kiest om te delen, geen geheimen. Doorverwijzingsregistraties worden verwijderd in de accountverwijderingscascade.

8.4 Supportverzoeken (Neem contact met ons op)

Wanneer je via Instellingen > Neem contact met ons op een bericht verstuurt, slaan we het ticket op in je account en sturen we het per e-mail door naar ons supportadres; de kopie in onze verzendwachtrij wordt na 30 dagen verwijderd. Een ticket bevat je bericht, een optioneel contact-e-mailadres en, bij oefeningsverzoeken, een optionele referentievideolink die je verstrekt, plus diagnostische gegevens waarvan de omvang afhangt van het type verzoek: functie- en oefeningsverzoeken bevatten een compacte set (appversie, buildtype, platform en OS-versie, app-taal), terwijl bugmeldingen en hulpverzoeken ook het apparaatmodel, de tijdzone van het apparaat, regio- en taalinstellingen (locale), eenheden en thema, instellingen voor meldingen en gezondheidssynchronisatie, je account-ID, het type inlogprovider, het e-mailadres van je account, je Pro/level/creditstatus, synchronisatiestatus en aantallen (alleen cijfers, nooit inhoud) van je belangrijkste gegevenstypen bevatten. Bugmeldingen voegen bovendien maximaal 12 afgekorte foutmeldingen van één regel uit de huidige appsessie toe. Het verzenden is beperkt in frequentie om misbruik te voorkomen. Als het ticket niet kan worden verzonden, biedt de app een vooraf ingevulde e-mail aan naar [email protected]; de e-mail gaat dan buiten de app om.

8.5 Systeemdeelmenu

De inhoud die je via het deelmenu van het besturingssysteem verstuurt (bijvoorbeeld de gegevensexport of een deelcode), gaat naar de app die je kiest en valt buiten onze controle.

9. Diensten van derden

Dienst Rol Wat het ontvangt
Google Firebase (Authentication, Cloud Firestore, Cloud Functions, App Check, Cloud Messaging) Verwerker / dienstverlener Account-ID’s, gesynchroniseerde inhoud (sectie 4.2), push-tokens en de pushberichten die via deze tokens worden doorgestuurd (sectie 3.8), technische gegevens van verzoeken
Google Firebase Crashlytics Crash- en foutrapportage (alleen als je dit inschakelt) Crash- en foutrapporten met technische apparaat-/appgegevens (sectie 3.7); verwerkt in de Verenigde Staten
OpenAI API AI-verwerking (via onze server) De in sectie 5 beschreven AI-invoer; geen IP-adres, geen account-ID
Apple App Store / Google Play Betalingsverwerking (onafhankelijke verwerkingsverantwoordelijken) Aankoop- en betalingsgegevens volgens hun eigen voorwaarden
RevenueCat, Inc. Verwerker voor aankoopbeheer Willekeurige account-ID, aankoopbewijzen van appstores, aankoopgeschiedenis, basisgegevens van het apparaat (model, OS-versie, appversie, laatst gezien), optionele makerscode
Sign in with Apple Aanbieder voor inloggen Standaard uitwisseling voor inloggen
Google Sign-In Aanbieder voor inloggen Standaard uitwisseling voor inloggen
Wellboy food mirror (food.wellboy.net, Cloudflare Workers + KV) Primaire productzoekfunctie, door ons beheerd Cijfers van gescande productbarcodes
Open Food Facts Onafhankelijke voedseldatabase (terugvaloptie wanneer onze spiegelservice geen bruikbaar product heeft) Cijfers van gescande productbarcodes
USDA FoodData Central Amerikaanse overheidsvoedseldatabase (terugvaloptie voor gebruikers op de Amerikaanse markt) Cijfers van gescande productbarcodes
Wellboy CDN (cdn.wellboy.net, ondersteund door Cloudflare R2) Contentlevering Standaardlogboeken van webverzoeken wanneer democlips worden gestreamd
ML Kit pose detection (Google) Verwerkingsbibliotheek op het apparaat Camerabeelden en houdingsresultaten blijven op het apparaat; de bibliotheek rapporteert technische apparaat-/apptelemetrie aan Google

Internationale doorgiften: de verwerkingsverantwoordelijke is gevestigd in de EU en je gesynchroniseerde inhoud wordt opgeslagen in de EU (europe-north1). Sommige van onze verwerkers zijn in de VS gevestigd (OpenAI voor de AI-functies; RevenueCat voor aankoopbeheer; Cloudflare voor de spiegelservice en de media-CDN), en Google kan beperkte technische gegevens op andere locaties verwerken volgens de voorwaarden voor gegevensverwerking van Google Cloud. Als je crashrapportage inschakelt (sectie 3.7), worden crashgegevens door Google in de Verenigde Staten verwerkt; die doorgifte steunt op de certificering van Google LLC onder het EU-VS Data Privacy Framework, met EU-standaardcontractbepalingen als waarborg bij wijze van terugval. De pushberichtlevering (sectie 3.8) verloopt via de wereldwijde infrastructuur van Google Firebase Cloud Messaging, waardoor push-tokens en gegevens over berichtroutering buiten de EU kunnen worden verwerkt volgens dezelfde voorwaarden voor gegevensverwerking van Google Cloud. Deze doorgiften berusten op de voorwaarden voor gegevensverwerking van de aanbieders, EU-standaardcontractbepalingen en, waar van toepassing, het EU-VS Data Privacy Framework. Je kunt een kopie van de gebruikte waarborgen voor deze doorgiften (bijvoorbeeld de relevante EU-standaardcontractbepalingen) opvragen door contact op te nemen met [email protected].

10. Bewaartermijnen, verwijdering, export

10.1 Verwijdering van inhoud

Je inhoud wordt bewaard totdat je die verwijdert of je account verwijdert. Wanneer je een afzonderlijk item verwijdert, blijft er een minimale verwijderingsmarkering (zonder inhoud) bewaard zodat je apparaten naar dezelfde toestand convergeren; de markeringen worden samen met je account verwijderd. Van verwijderde afbeeldingen worden ook de afbeeldingsbytes op de server gewist.

10.2 Uitloggen

Uitloggen wist de app op dat apparaat en brengt die terug naar de fabrieksinstellingen. Gesynchroniseerde gegevens blijven in je cloudaccount staan en komen terug wanneer je opnieuw inlogt. Bij anonieme accounts kun je niet opnieuw inloggen: als je Wellboy gebruikt zonder je te registreren en uitlogt of het apparaat kwijtraakt, gaat de toegang tot die gegevens definitief verloren.

10.3 Account verwijderen

Instellingen > Account > Account verwijderen verwijdert permanent je gepubliceerde deelmomentopnamen, je gegevens over vriendverwijzingen en alles wat onder je account is opgeslagen (alle gesynchroniseerde verzamelingen in sectie 4.2, AI-verzoekrecords, supporttickets, lidmaatschapsstatus, push-tokens), verwijdert je authenticatierecord en wist de lokale kopie op het apparaat. Dit kan niet ongedaan worden gemaakt. Een technisch record van de verwijderingstaak (je account-ID en tijdstempels van de voortgang, zonder inhoud) wordt na voltooiing 7 dagen bewaard om te zorgen dat de verwijdering wordt afgerond en daarna automatisch verwijderd. Aankoopgegevens die Apple, Google en RevenueCat bewaren, evenals onze aankoopgebeurtenissen en gegevens over makerverkopen (sectie 6), worden na accountverwijdering bewaard volgens hun respectieve beleidsregels en wettelijke bewaarplichten (boekhouding en fraudepreventie). Crash- en foutrapporten die al naar Crashlytics zijn verzonden (sectie 3.7) kunnen niet selectief worden gewist en zijn niet aan je account gekoppeld; ze worden automatisch verwijderd wanneer hun bewaartermijn van 90 dagen eindigt.

10.4 Exporteren

De accountpagina heeft de actie Gegevens exporteren die een ZIP-bestand maakt met je gegevens als JSON (alle gesynchroniseerde inhoud plus je app-instellingen) en je beschikbare afbeeldingsbestanden die door de app worden beheerd (avatar, receptfoto’s, voortgangsfoto’s en maaltijdfoto’s die in de eigen opslag van de app zijn opgeslagen), en het systeemvenster voor delen opent zodat je het kunt opslaan waar je maar wilt.

De export bevat geen gegevens die alleen op het apparaat staan en nooit worden gesynchroniseerd: chatgeschiedenis van de coach, boodschappenlijsten, dagelijkse stappentellingen en actieve energie, de status van de wateruitdaging en concepten waaraan je nog werkt. De export bevat ook niet de operationele records aan de serverzijde die in deze verklaring worden beschreven (AI-verzoekrecords, supporttickets, aankoopgebeurtenissen, push-tokens); supporttickets die je hebt verzonden zijn cloudrecords die met je account worden verwijderd.

11. Je rechten

Omdat de verwerkingsverantwoordelijke in Finland is gevestigd, is de GDPR van toepassing op onze verwerking, ongeacht waar je woont, en kun je ook aanvullende rechten hebben volgens de wetgeving van je eigen land. Je hebt het recht om:

  • inzage in je gegevens te krijgen (de export in de app omvat de gesynchroniseerde inhoud),
  • rectificatie van je gegevens te krijgen (de meeste gegevens die je hebt ingevoerd kun je in de app bewerken; neem voor gegevens die je zelf niet kunt bewerken, zoals grootboekregels, contact op via [email protected]),
  • wissing van je gegevens te krijgen (verwijder items of het hele account in de app),
  • gegevensoverdraagbaarheid (de ZIP/JSON-export),
  • bezwaar te maken, om redenen die verband houden met je specifieke situatie, tegen verwerking op basis van onze gerechtvaardigde belangen (sectie 12), en verwerking te beperken in de gevallen waarin de GDPR voorziet,
  • toestemming in te trekken wanneer verwerking op toestemming is gebaseerd (bijvoorbeeld het delen van coachgegevens wordt per verzoek goedgekeurd; crashrapportage wordt uitgeschakeld in Instellingen, sectie 3.7; toegang tot gezondheidsapps, camera, foto’s, meldingen en locatie kan in de OS-instellingen worden gewijzigd). Het intrekken van toestemming doet geen afbreuk aan de rechtmatigheid van verwerking die al heeft plaatsgevonden. Als je de verbinding met een gezondheidsapp verbreekt, stopt de import van nieuwe gegevens; reeds geïmporteerde gegevens blijven in je account totdat je ze verwijdert,
  • een klacht in te dienen bij een toezichthoudende autoriteit. Onze leidende toezichthoudende autoriteit is de Office of the Data Protection Ombudsman in Finland (tietosuoja.fi), omdat de verwerkingsverantwoordelijke in Finland is gevestigd; je kunt ook een klacht indienen bij de autoriteit in je eigen woonland.

Om een recht uit te oefenen dat de functies in de app niet dekken, neem je contact op met [email protected].

12. Rechtsgrondslagen (GDPR)

Verwerking Rechtsgrondslag
Account aanmaken en authenticatie Uitvoering van een overeenkomst (de dienst leveren)
De dienst leveren (lokale en gesynchroniseerde registratie) Uitvoering van een overeenkomst; uitdrukkelijke toestemming voor gezondheidsgegevens
Import uit gezondheidsapps Uitdrukkelijke toestemming, verleend via de toestemmingsprocedure voor gezondheid van het besturingssysteem
AI-functies (fotoscan, coachchat, generatie) Toestemming, gegeven per gebruik wanneer je de actie start; uitdrukkelijke toestemming voor gezondheidsgerelateerde invoer
Delen van coachgegevens Uitdrukkelijke toestemming per verzoekkaart
Deelcodes, vriendverwijzingen en ondersteuningsverzoeken Uitvoering van een overeenkomst (functies die je gebruikt)
Barcode- en productzoekopdrachten en mediaverstrekking Uitvoering van een overeenkomst (functies die je gebruikt)
Optionele globale locatie (regionale inhoud) Toestemming, via de OS-toestemming of door je eigen invoer
Crash- en foutrapportage (Crashlytics, sectie 3.7) Toestemming (opt-in-schakelaar, standaard uit; intrekken in Instellingen)
Optionele marketingvraag (waar je van ons hebt gehoord, sectie 3.6) Toestemming (beantwoorden is vrijwillig)
Prijswaarschuwingsmeldingen (push, sectie 3.8) Toestemming, via de OS-toestemming voor meldingen
Signaal voor verversen op de achtergrond (stille push, sectie 3.8) Uitvoering van een overeenkomst (je apparaten en account gesynchroniseerd houden)
Aankopen en lidmaatschapsbeheer Uitvoering van een overeenkomst; wettelijke verplichting (boekhouding); gerechtvaardigde belangen (fraudepreventie en toeschrijving van verkopen aan makers)
Beveiliging en misbruikbestrijding (attestatie, regels, limieten) Gerechtvaardigde belangen
Optionele toestemmingen (camera, foto’s, meldingen) Toestemming via OS-toestemming

Je geboortedatum is nodig om de minimumleeftijd te controleren bij het instellen van de app, en voor een aankoop zijn de gegevens nodig die de store bij het afrekenen verzamelt; zonder deze gegevens kunnen registratie of aankoop niet worden voltooid. Alles wat je verder toevoegt is vrijwillig: functies werken gewoon zonder gegevens die je weglaat.

13. Beveiliging

Gegevens worden versleuteld tijdens verzending (TLS) en in rust (door Google beheerde versleuteling). Toegang wordt beperkt door beveiligingsregels per gebruiker die standaard toegang weigeren. Het grootste deel van de gebruikersinterface van de app leest de lokale kopie van je gegevens (de prijs- en lidmaatschapsstatus van de paywall worden van de server gelezen); de cloud is verder alleen een synchronisatiedoel, wat de routes waarlangs gegevens kunnen worden blootgesteld beperkt. Saldi van virtuele credits en XP worden op de server vastgesteld. Onze AI-applicatielogs zijn ontworpen om je prompts, foto’s en resultaten niet vast te leggen (sectie 5.5); andere serverlogs kunnen identificatoren en technische details van verzoeken bevatten en worden gebruikt voor operationele doeleinden en misbruikpreventie. We gebruiken geen advertentiecode van derden en geen productanalyse van derden (Google SDK-componenten rapporteren beperkte technische telemetrie, sectie 3.4). Crash- en foutrapportage is optioneel en standaard uitgeschakeld (sectie 3.7).

14. Kinderen

Wellboy is bedoeld voor gebruikers van 13 jaar en ouder, en voor een hogere leeftijd wanneer de nationale digitale toestemmingsleeftijd hoger ligt (13 tot 16 in de EU/EER; 13 in Finland, 16 in Duitsland, Ierland en Nederland, bijvoorbeeld). De app vraagt om je geboortedatum en accepteert geen geboortedatum die zou betekenen dat je jonger bent dan de minimumleeftijd die geldt waar je woont, tijdens het instellen, in Instellingen en in een eenmalige vraag voor accounts die zijn aangemaakt voordat de leeftijdscontrole bestond. Er is geen mogelijkheid voor ouderlijke toestemming: onder de lokale minimumleeftijd kun je de app niet gebruiken, dus verzamelen we niet bewust gegevens van kinderen onder die leeftijd.

Voortgangsfoto’s zijn voor gebruikers van 18 jaar en ouder. Ben je jonger dan 18, dan wordt de functie voor voortgangsfoto’s niet aan je aangeboden en wordt er geen voortgangsfoto op je apparaat opgeslagen, naar je account gesynchroniseerd of ergens geüpload. Elke andere functie werkt normaal.

15. Wijzigingen in deze verklaring

We publiceren updates op https://wellboy.app/privacy en melden materiële wijzigingen in de app voordat ze van kracht worden.

16. Taal

Deze verklaring wordt opgesteld en onderhouden in het Engels; vertalingen worden voor het gemak uit de Engelse tekst gemaakt. Als een vertaling en de Engelse tekst verschillen, is de Engelse tekst de versie die we onderhouden en waaraan we correcte vertalingen toetsen, en we streven ernaar elke gepubliceerde taalversie inhoudelijk correct te houden.

17. Contact

Pankka Group Oy Sukkulatie 10, 87700 Kajaani, Finland Business ID 3397011-8 [email protected]