Legal information
Privacy policy
CalSnap doesn’t create an account and keeps no database of your meals. This page describes exactly what stays on your device, the little that leaves it, and where it goes.
Last updated: October 4, 2026
This is a translation. The French version is the reference text and prevails if the two ever differ.
Legal representative and privacy contact
Ilan Chelly
Har Shokef 1, Kefar Sava 4425000, Israel
support@calsnap.fr
Ilan Chelly is CalSnap’s legal representative and personal-data contact. No separate representative under Article 27 of the GDPR has been appointed in the European Union or the United Kingdom.
1. In one sentence
Your meals, weigh-ins and goals are stored on your phone and nowhere else. Your photos stay there too: while a photo is being analyzed, a copy passes through our provider, which then deletes it. There’s no account to create, no password, and no database holding what you eat. What follows spells out the few exceptions, because they exist and it would be dishonest to leave them out.
2. Who is responsible for your data
The data controller is Ilan Chelly, Sole proprietor (osek patur), registered in Israel under no. 323728451, whose address is Har Shokef 1, Kefar Sava 4425000, Israel.
Contact for any question about personal data: support@calsnap.fr.
3. What stays on your device
The following information is stored in the app’s private storage, on your phone. It isn’t passed to anyone, and we have no access to it:
- the meals you log, their foods, quantities and nutrition values;
- meal photos and progress photos;
- your weight, your weigh-ins over time and your goal;
- the profile information you enter during setup (age, height, sex, activity level) and the calorie goal calculated from it;
- your saved foods and your display preferences.
This data goes away with the app. Deleting CalSnap erases it. The “Erase all my data” option in the app’s settings erases it too, immediately and without going through us.
Something to know: because nothing is stored on a server, a new phone starts empty unless you restore a system backup. Check that your iCloud backup is turned on: for now, it’s the only way to get your history back.
4. What leaves your phone
The photo, while it’s being analyzed
To identify what’s on a plate, the photo is sent to an image analysis service, which returns a list of foods and an estimate of their weight. It is never used to train a model. The provider keeps it for up to 30 days, only to detect abuse of its own service, then deletes it. We don’t keep any copy.
The statement “your photos stay on your phone” is about storage: the original never leaves the device, and nothing is archived anywhere else for the long term. It doesn’t mean that no data passes through for analysis, or that the provider keeps no trace of it during its abuse monitoring. We’d rather say it this way than let you believe otherwise.
The anti-abuse count
So that a single installation can’t exhaust the analysis service, our server keeps count of how many analyses have been run that day. The count is tied to an installation ID picked at random the first time the app opens: it isn’t an advertising identifier or a serial number, and it can’t be used to find anyone. It contains no meals and no photos, and it’s deleted after two days.
If you subscribe, the server also keeps the link between this installation and a hash of your anonymous subscriber ID (never the ID itself), so it can check that your subscription is active without asking the provider again for every analysis. This link is deleted after 180 days without use.
Usage statistics
The app measures usage statistics (screens opened, features used, response times, errors) to understand what works and what gets in the way. It also records what appears on screen: your meals, photos and weight therefore appear in these recordings. They’re kept by our analytics provider and tied to a random technical ID specific to the installation, not to your name.
You can turn these statistics off at any time in the app, in Settings → Privacy. Recording stops, and the app works exactly the same.
The subscription
Your subscription status is managed by a specialized provider, using an anonymous subscriber ID generated the first time the app opens. The payment itself is handled by Apple or Google: we never receive your bank details, your name or your address.
Ad measurement
We buy advertising to make the app known. To find out which ads bring in people who stay, the app may tell Meta that a trial has started or a subscription has been taken out, together with an advertising identifier.
You stay in control of this. iOS asks you, once, whether you allow tracking: that’s Apple’s prompt, and your answer decides how the advertising identifier is used. Separately, this measurement can be turned off at any time in Settings → Privacy. Once it’s off, the measurement tool isn’t started at all and no longer reads anything on your phone.
What’s sent is limited to the event and the identifier: no meals, no photos, no weight, no calorie goal leaves your phone this way.
5. Every recipient
| Recipient | Why | What it receives | Where |
|---|---|---|---|
| Sentry (Functional Software, Inc.) | Technical error detection | Date, app version, environment and code location of the error CalSnap may send technical errors to Sentry to help us identify problems and improve the app’s reliability. Reports contain the date, app version and the location of the error in the code. Your meals, photos, weight, contact details and personal identifiers are excluded from these reports. IP addresses and locations inferred from them are filtered before events are stored. You can stop these reports using the app’s statistics setting. Reports are retained for 30 days on the Developer plan. | European Union (Frankfurt, Germany) |
| OpenAI | Meal photo analysis | The meal photo, while it’s being identified Kept for up to 30 days for the provider’s abuse monitoring, then deleted. Never used to train a model. | United States |
| Supabase | Relay to the analysis service, anti-abuse count and subscription check | The photo in transit, a random installation ID, the number of analyses that day, a hash of the subscriber ID No meals, no stored photos, no names. The count is deleted after 2 days, the subscription link after 180 days without use. | European Union |
| RevenueCat | Subscription management | An anonymous subscriber ID, the subscription status No name, no email address. Payment is handled by Apple or Google, never by us. | United States |
| PostHog | Usage statistics and screen recordings | Screens opened, features used, response times, and a recording of what appears on screen Your meals, photos and weight appear in the screen recordings. You can turn this off at any time in Settings → Privacy. | European Union (EU hosting) |
| Meta | Ad campaign measurement | An advertising identifier, and the fact that a trial started or a subscription was taken out No meals, no photos, no weight, no goals. You can turn this off at any time in Settings → Privacy. | United States |
| Open Food Facts | Packaged food information | The scanned barcode A public database run by a non-profit. | France |
No data is sold or rented, and there are no ads in the app. The only thing that goes to an advertiser is the measurement described in section 4; it only goes with your consent, and it contains none of your meals, photos or weight.
6. Legal bases
- Performance of a contract (GDPR Article 6(1)(b)) for analyzing photos and managing the subscription: without them, the app can’t provide the service you asked for.
- Legitimate interest (Article 6(1)(f)) for anonymous usage statistics, limited to improving the app. You can object in the app’s settings without losing access to anything.
- Legitimate interest (Article 6(1)(f)) for ad measurement, limited to knowing which ad brings in new users. You can object at any time in Settings → Privacy, and objecting stops the measurement from then on.
- Legitimate interest (Article 6(1)(f)) for the anti-abuse count, which protects the service from automated use and has no other purpose: it isn’t analyzed, cross-referenced or used to profile you.
7. How long data is kept
- On your device: for as long as you keep the app. You decide, and you can erase everything at any time from the settings.
- Photos sent for analysis: up to 30 days with the analysis provider, for its abuse monitoring, then deleted.
- Anti-abuse count: deleted after 2 days.
- Installation ↔ subscription link: deleted after 180 days without use.
- Usage statistics and screen recordings: kept for twelve months at most.
- Ad measurement: kept by Meta under its own retention policy, which we don’t control. Withdrawing your consent stops anything further being sent; to have what Meta already holds erased, the request goes to Meta.
- Subscription data: kept for as long as the subscription lasts, and for the legal period that applies to accounting obligations.
8. Transfers outside the European Union
Some of the recipients listed above are established in the United States. These transfers are covered by the European Commission’s standard contractual clauses or by an adequacy decision, depending on the provider. The data controller is established in Israel, a country covered by an adequacy decision of the European Commission.
9. Your rights
You have the right to access, rectify and erase your personal data, to restrict or object to its processing, and to data portability.
For most of your data, the answer is direct and immediate: it’s on your phone, you can see it in the app, and the “Erase all my data” button deletes it. We have no copy to send you or to erase.
For usage statistics and subscription data, write to support@calsnap.fr. We reply within one month.
You can also lodge a complaint with the CNIL (France’s data protection authority; its complaint service is in French) or with the data protection authority of the country where you live.
10. The website
The website uses Vercel Web Analytics, served from our domain, to count page views and clicks to the App Store. Data includes the page, referrer and campaign parameters, country, device type and browser. For clicks, we add only the page language and a source category (ChatGPT, another referral or unknown). No cookies or persistent identifiers are added. Fonts are hosted on our domain. This measurement helps us understand how visitors find the site and reach the App Store; a click does not confirm an installation. It is separate from the app analytics described in section 4.
11. Minors
CalSnap isn’t intended for anyone under 16 and doesn’t deliberately ask them for any information.
12. Changes
This policy may change if the app changes. The date of the last update is at the top of this page, and any significant change will be announced in the app.