Draft, awaiting legal review. Not yet the final policy.
Privacy policy
This page describes what the website stores and how the app handles photos of ingredient lists.
Who is responsible for the data
Operator: to be stated before launch. Contact for data questions: hello@lulyo.com.
What we store
The waiting list stores your email address, the country you chose, the page language, the time you gave consent, the version of this policy, a status (waiting for confirmation or confirmed) and a random token for the links in our email. We do not store your IP address or browser data. To guard against abuse, counters made of salted, shortened hashes of the IP address and email are kept for one hour; the addresses themselves are not in them. The website uses no analytics and no advertising cookies.
Why, and on what basis
To write to you once, when the app is available. First we send one email asking you to confirm the address. Basis: your consent, which you give by ticking the box.
Ingredient check
The ingredient check on this site runs in your browser. The text you paste is not sent to our servers and is not stored or logged.
Photos in the app
When you scan, the app sends the photo of the ingredient list through our server (Google Cloud, Belgium) to OpenAI (USA), only so the text can be read. We do not store the photo. If you photograph the nutrition table after the result, the app sends it together with the ingredient photo already taken, in one request. Until then the ingredient photo stays in the app's memory while this scan is open; the app does not add it to your photo library, and our server does not store it. With your consent, ingredient lines read from the photo that our dictionary did not recognise are sent to OpenAI as text, without the photo and without any identifier, to work out what the ingredients are. Lines you typed or corrected yourself are not sent. So that we do not ask twice, our server keeps the answer under a hash of the line, without the line text; it is not linked to you or your device and is deleted automatically 180 days after it was last used. OpenAI does not use API data for training and may keep requests, including images, for up to 30 days to detect abuse. Our server keeps a counter for the daily limit and the budget, tied to a salted hash of a random identifier created in the app, not to your name or phone. The child's age group stays on your device. Basis: your consent on the consent screen; you can withdraw it at any time in Settings, and scanning then switches off. The safeguards for the transfer to the USA will be stated before launch.
Who processes data for us
The data is stored by Upstash (a Redis database, EU region). The confirmation email is sent by Resend (EU region); it only sends that one message and holds no list of addresses. There are no other recipients: we do not sell data or pass it on for advertising.
How long
Until the app launches and we send the announcement, or until you withdraw consent, whichever comes first. The exact upper limit, including for addresses that are never confirmed, will be stated before launch.
Your rights and how to unsubscribe
You can ask for access to your data, its correction or deletion, and withdraw consent at any time. The easiest way is to unsubscribe yourself: every email from us contains an unsubscribe link, which deletes your entry from the list completely. Or write to hello@lulyo.com.
Complaints
You have the right to complain to a data protection authority. Authority: to be stated before launch.
Changes
The date of each change will be shown on this page.