CalorieLens Privacy Policy
Last updated: July 13, 2026
CalorieLens ("we", "our", or "us") is operated by Donggi Yang. This Privacy Policy explains what information we collect when you use the CalorieLens iOS app, how we use it, and your rights regarding that information.
1. Information We Collect
Account Information
When you sign in with Google or Apple, we receive and store:
- Your email address
- Your display name
- Your profile picture URL (Google only)
We do not receive your Google or Apple password. Authentication is handled entirely by Google Sign-In and Sign in with Apple.
Meal Photos
When you photograph a meal:
- For calorie analysis: your photo is transmitted over HTTPS to our server and forwarded to OpenAI's API to estimate calories and macros. OpenAI processes the image under their own Privacy Policy; images submitted via the API are not used to train OpenAI models by default (as of the date of this policy).
- When you save a meal to your history: the photo is stored on our server so it can appear in your history and sync across your devices. Before storing, we automatically downscale the image and strip embedded metadata, including any GPS/location data. Stored meal photos are kept for up to 6 months, after which they are automatically deleted. You can remove a photo at any time by deleting its meal entry.
- If you analyze a meal without saving it, the photo is not permanently stored — it is discarded after analysis.
Supplements & Vitamins
- Vitamins and supplements you add, and your intake logs, are stored in our database and associated with your account, to power supplement tracking, the daily nutrient dashboard, and reminders.
- If you scan a supplement label, text recognition runs on your device by default and the label image is not transmitted. If on-device recognition can't read the label, you may choose to send the image to OpenAI's API (as with meal analysis) for a more thorough read.
- To improve the shared product catalog for everyone, product information you scan or enter (product name, brand, serving size, and nutrient facts) may be added to our shared supplement database. This includes only product facts — never your identity or your intake history.
- If you enable Apple Health Sync, supplement intake is written to Apple Health on your device.
Health & Nutrition Data
- Calorie and macro entries (calories, protein, carbs, fat) you save are stored in our database, associated with your account.
- Body metrics (height, weight, birth year, gender, activity level, goal, and goal weight) you enter during onboarding or in Settings are stored in our database to personalize your calorie goal.
- Dietary preferences (your diet type and any allergies) you optionally enter in Settings are stored in our database. When you analyze a meal, these are included in the prompt sent to OpenAI so the AI can flag conflicts with your diet or allergies. Leave them blank to opt out.
- Weight log entries you add are stored in our database.
- Saved meals — meal templates you save for quick re-logging (name, calories, macros, and grade) are stored in our database.
- If you enable Apple Health Sync, your meal nutrition data and weight entries are written to Apple Health on your device. This data goes directly from the app to HealthKit and is never transmitted to our servers beyond what you explicitly save.
- We never sell or share your health or nutrition data with third parties.
Usage Data
We log the AI model used, token counts, and estimated cost for each meal analysis. This data is associated with your account and is used only for internal cost monitoring and quota management. It is not shared externally.
Streak & Goal Data
Your daily logging streaks, longest streak, and daily calorie goal are stored in our database to power the streak and progress features.
Social Data (Friends & Challenges)
CalorieLens includes optional social features. Each account has a unique invite code. When you connect with a friend (by exchanging invite codes) or join a challenge, we store the connection between your accounts, your challenge participation, and your progress toward shared goals.
What other users can see: friends you add — and other participants in a challenge you join — can see your display name, profile picture, and streak counts (current and longest), plus your progress toward a shared challenge goal. They cannot see your individual meals, photos, weight, body metrics, or calorie history. Friend connections are mutual and require both people to opt in; you can remove a friend or leave a challenge at any time in Settings → Friends.
AI Coaching
If you use AI Weekly Coaching, a summary of your aggregated weekly statistics (days logged, average calories, average macros, goal-hit days, and streak) — not your photos or individual entries — is sent to OpenAI to generate a short personalized coaching note. The generated note is cached in our database for the current week. See Section 3.
Push Notification Tokens
If you grant notification permission, local notifications are scheduled on-device only. We do not currently collect or transmit push notification tokens to our servers.
2. How We Use Your Information
| Data | Purpose |
| Email, name, picture | Account identity; display in the app |
| Meal entries & macros | Calorie history, trend charts, weekly summary |
| Meal photos | Attach to your meal history; sync across your devices |
| Supplements & intake logs | Supplement tracking; daily nutrient dashboard; reminders |
| Body metrics | TDEE calculation; personalized calorie goal |
| Weight logs | Weight trend chart |
| AI usage logs | Quota enforcement; internal cost tracking |
| Streak data | Streak counter display; visible to friends you add |
| Saved meals | Quick re-logging of frequent meals |
| Friend & challenge data | Buddy accountability; shared streaks and challenge progress with people you connect with |
| Weekly stats (aggregated) | Generating your AI weekly coaching note via OpenAI |
We do not use your data for advertising targeting, sell it to data brokers, or share it with any third party except as described in Section 3.
3. Third-Party Services
OpenAI
OpenAI's API is used for:
- Meal analysis — your meal photo (or, if you log by text, your typed description) and a text prompt are sent to OpenAI to estimate calories and macros. If you have set dietary preferences or allergies, these are included in the prompt so the AI can flag conflicts.
- Supplement label scanning (fallback only) — label recognition runs on your device by default. Only if on-device recognition can't read a label, and you choose the more thorough option, is the label image sent to OpenAI.
- AI weekly coaching — your aggregated weekly statistics (days logged, average calories and macros, goal-hit days, streak) are sent to OpenAI to generate a short coaching note. No photos or individual entries are sent for coaching.
OpenAI's use of this data is governed by their Privacy Policy and API Data Usage Policies. Data submitted via the OpenAI API is not used to train their models by default (as of the date of this policy).
Google Sign-In
Authentication is handled by Google Sign-In SDK. Google's use of sign-in data is governed by Google's Privacy Policy.
Sign in with Apple
Authentication is handled by Apple's Sign in with Apple framework. Apple's use of sign-in data is governed by Apple's Privacy Policy.
Google AdMob
Free-tier users see ads served by Google AdMob. AdMob may collect device identifiers and usage data to serve contextually relevant ads, subject to your device's App Tracking Transparency (ATT) consent. You can opt out by upgrading to the Standard plan, which removes all ads. AdMob's data practices are governed by Google's Privacy Policy.
Apple HealthKit
If you enable Apple Health Sync, nutrition (including supplement intake) and weight data is written to HealthKit on your device. HealthKit data is managed by Apple and governed by Apple's Health Privacy Policy. CalorieLens does not read any data from HealthKit.
4. Data Storage & Security
- Your account data and calorie history are stored on servers we operate.
- Meal photos are stored in self-hosted, S3-compatible object storage that we operate.
- All data is transmitted over HTTPS (TLS 1.2+).
- Passwords are never stored — we use token-based authentication only.
- JWT tokens used for API authentication are stored in your device's Keychain and survive app reinstalls.
5. Data Retention
- Your account and all associated data (entries, weight logs, body metrics, supplements, and intake logs) are retained as long as your account exists.
- Meal photos attached to your history are automatically deleted after 6 months. Deleting a meal entry also deletes its photo; clearing your history deletes all of your photos.
- You can delete all your calorie history at any time from Settings → Data → Clear All History.
- You can permanently delete your account and all associated data — entries, weight logs, body metrics, dietary preferences, saved meals, friend connections, challenge participation, and your AI coaching note — at any time from Settings → Account → Delete Account. Deletion is immediate and irreversible.
6. Children's Privacy
CalorieLens is not directed to children under the age of 13. We do not knowingly collect personal information from children under 13. If you believe a child under 13 has provided us with personal information, please contact us and we will delete it promptly.
7. Your Rights
Depending on your jurisdiction, you may have the right to:
- Access the personal data we hold about you
- Correct inaccurate data
- Delete your account and all associated data (available in-app via Settings → Account → Delete Account)
- Export your calorie history (contact us to request a data export)
- Opt out of targeted advertising (upgrade to Standard plan to remove all ads)
To exercise any of these rights, contact us at the address below.
8. Contact
Developer: Donggi Yang
Email: xronace@gmail.com
9. Changes to This Policy
We may update this Privacy Policy from time to time. When we do, we will update the "Last updated" date at the top of this page. Continued use of the app after changes constitutes acceptance of the updated policy. For material changes, we will notify you within the app.