Privacy Policy
Last updated: 8 November 2026
eatnibble is a calorie and macro tracker. This page explains, in plain terms, what happens to your data when you use the app.
What we process to analyze a meal
When you take or pick a photo, or type a description of what you ate, that content is sent to our backend, which forwards it to Google's Gemini API for analysis. The photo or text is processed in memory to produce a nutrition estimate (calories, protein, carbs, fat) and is not written to a database or kept after the request completes. It is not linked to your account.
Signing in
You can analyze your first few meals on a device without signing in. After that, eatnibble asks you to sign in with Apple so your daily analysis limit follows your account instead of the device.
Sign in with Apple is the only method — there is no password, and you choose whether to share your real email or use Apple's private relay address. On our backend we store a user record containing the identifier Apple gives us, that email or relay address, and a per-day count of how many analyses you've run (used only to enforce the daily limit). Your meals, photos and descriptions are never attached to this record — the only exceptions are the optional AI assistant connection, partner sharing and shared links described below, and only while you use them.
What stays on your device and in your iCloud
Your meal log, the photos attached to your meals, your daily water count, your reminder settings and your profile (height, weight, age, sex, activity level, goal, water goal and drink size, goal weight, units, plate size, saved meals, recipes, calorie cycling and fasting plans) are stored in the app's storage on your device, along with your sign-in session token. They are never uploaded to us unless you connect an AI assistant (see the next section), and even then only the limited summary described there, or you create a shared link (see "Shared plans and reports" below).
If you're signed in to iCloud, your meal log, water count and profile also sync to your other devices through your own private iCloud database, using Apple's CloudKit. That copy belongs to your Apple account: we can't see or access it. Meal photos are not synced and stay on the device where you took them. You can turn syncing off for eatnibble in iOS Settings → your name → iCloud.
Export data (Profile → Settings → Data & iCloud) creates a file of your profile, log, water history and meal photos on your device. Where it goes from there is up to you — it's only shared through the iOS share sheet when you choose to. Import backup reads such a file back and adds what's missing; it never deletes or overwrites anything.
The home and lock screen widgets read the same on-device data; nothing extra leaves your iPhone for them. The Apple Watch app gets today's numbers straight from your iPhone over Apple's WatchConnectivity, not through our backend. Weekly coach conversations are kept only on the device where you had them.
Connecting an AI assistant (optional)
You can connect an AI assistant that supports the Model Context Protocol — for example ChatGPT, Claude, Gemini, Grok or Cursor — so it can log meals for you and answer questions about your day. Connecting is entirely optional, requires signing in, and happens only when you approve the assistant's 6-digit code in the app (Profile → Settings → AI Connections). Nothing below applies if you never connect one.
While at least one assistant is connected, our backend stores:
- The connection: the assistant's name, when you connected it, and the security tokens it uses — stored only as one-way hashes, never in readable form. The same applies to a personal key, if you create one for developer tools.
- Meals the assistant logs: the meal name, time, food items with their estimated grams and calories/macros, and any note. They wait on our backend only until the eatnibble app next opens and adds them to your log, and are then deleted from our backend. If you ask the assistant to correct or remove a meal, that change waits the same way until the app applies it.
- A summary of your log: so the assistant can answer questions like "what did I eat today?", the app uploads your time zone, today's date and the meals of the last 7 days (name, time and calorie/macro totals — no photos). Your profile and daily goal are not included. Each update replaces the previous one. The app doesn't upload it at all while no assistant is connected, and we delete it when you remove your last connection.
Never shared with an assistant or stored on our backend: your meal photos, and any data from Apple Health (such as calories burned, water, height, weight or age).
The assistant itself is a third-party service. What you tell it, and what it reads through eatnibble when you ask it to, is processed by its provider (for example OpenAI, Anthropic, Google, xAI or Anysphere) under that provider's own terms and privacy policy — we don't control how they handle it.
You can disconnect an assistant at any time in AI Connections; it immediately loses access, and removing the last one deletes the summary from our backend.
Weekly coach
On iPhones that support Apple's on-device language model (Apple Intelligence), the weekly review and the chat after it are written entirely on your iPhone; nothing is sent anywhere. On other iPhones, the coach requires signing in: when you open it, the app sends that week's logged meals (dates, times, meal names and calorie/macro totals) and your conversation with the coach to our backend, which has Google's Gemini write the reply. Nothing from it is stored on our backend. Your goal, weight and any Apple Health data are never sent.
Sharing with a partner (optional)
You can pair with one other eatnibble user (Profile → Settings → Partner, signed in only) to send them meals you choose. Neither of you can see the other's log. While paired, our backend stores the pairing, when it was made and the name each of you chose to show. The 6-digit pairing code is stored only as a one-way hash and expires after 10 minutes. A meal you share (its name, time, items, calories/macros and note — no photo) waits on our backend only until your partner's app picks it up, and is then deleted. Disconnecting removes the pairing for both of you.
Shared plans and reports (optional)
You can share your eating plan or a meal report as a link (Profile → Sharing, signed in only). Nothing is shared until you create a link, and only what you choose goes into it:
- A plan: your macro split and, if you include them, your calorie cycling days, fasting hours, recipes and pinned meals.
- A meal report: the meals you logged in the period you pick (7, 14 or 30 days) — each meal's name, time, calories and macros. No photos or notes from your log.
Both carry the name you type to show who shared it and, if you add one, a short note. Your calorie goal, weight, height, age, calories burned and any other Apple Health data are never included.
Our backend stores the link's content with your account so you can see and stop your links. Anyone who has the link can see it on eatnibble.app — your Apple ID, email and account identifier are never shown there — and anyone with a plan link can add the plan to their own app. Shared pages are marked so search engines don't index them. A link stops working when the time you chose runs out (1, 7 or 30 days, or never) or when you stop sharing it in Profile → Shared Links. A link you stop is deleted from our backend right away; an expired one can no longer be opened and is cleaned up from our backend afterwards. A plan someone already added to their app stays in their app.
Voice entry
When you describe a meal by voice, eatnibble uses Apple's speech recognition. If your iPhone can recognize the chosen language on device, the audio never leaves it; otherwise Apple processes it under Apple's privacy policy, and the app tells you so. eatnibble never stores or sends us the audio — only the resulting text is analyzed, like a typed description.
Photos
Photos you take with the in-app camera are also saved to an "eatnibble" album in your Photos library, so you keep a copy. eatnibble asks only for add-only access for this — it can't see or read the rest of your library. Photos you pick from your library are read only once, for the meal you're logging.
Restaurant menu photos are analyzed the same way as meal photos and aren't kept, on your iPhone or on our backend. Nutrition label photos are read on your iPhone and never leave it or get saved. With a photo analysis the app may also send your plate size setting and, on iPhones with LiDAR, the measured distance to the food and the width of the scene — two numbers, nothing else from the depth sensor.
Photos taken with the Lock Screen, Control Center or Action button camera are kept in the app's own storage until you next open eatnibble, which then analyzes them like any other photo.
When you scan a packaged product's barcode, the camera image is processed on your iPhone and only the barcode number is sent to Open Food Facts to look up the product's nutrition. No account or personal information is sent with it.
Reminders
Meal and water reminders, the evening note, the weekly summary and the fasting timer (including its Live Activity) are scheduled on your device. No push server is involved, and no reminder data is sent to us.
Apple Health
Apple Health access is optional. If you grant permission, eatnibble reads:
- your height, weight, date of birth (to work out your age) and sex, to fill in your profile and calculate your daily goal;
- the active energy you've burned today and your walking and running distance, to add what you've burned to your remaining calorie budget (distance is only used for an estimate when no active energy has synced yet);
- the water you've logged today, including water logged by other apps, to keep your water count in step;
- your weight history, for Weight History, the calories-and-weight chart and the measured maintenance estimate;
- today's steps and workouts (type, duration, calories and the app that recorded them), to show your activity on Home and so calorie cycling can offer to make a workout day a high day.
eatnibble writes four things to Apple Health. Water: each glass you tap is saved as a water entry, and removing a glass removes the entry eatnibble created — it never deletes water logged by other apps. You can turn water syncing off in Profile → Water. Meals: each meal from the last 30 days of your log is saved as one food entry with its calories, protein, carbs and fat (and fiber, sugar and sodium if you allow them); editing or deleting the meal updates or removes that entry. Weight: weigh-ins you add in Weight History, and the weight you enter in your profile. Height: the height you enter in your profile. For weight and height, the newest measurement wins: a newer value in Apple Health updates your profile, and a newer one you type is written to Apple Health.
Health data stays on your device and is never sent to our backend, to a connected AI assistant, to the weekly coach, to your partner or any other third party, nor used for advertising. You can decline any of these permissions without losing the rest of the app, and change them at any time in the Health app or iOS Settings.
Third-party services
We use Google's Gemini API to analyze the photos, menus and text you submit, to apply your corrections to an analysis and, on iPhones without Apple's on-device model, to write the weekly coach's replies; Google's own terms and privacy practices apply to that processing. Sign in with Apple is handled by Apple, and iCloud sync by Apple's CloudKit. Barcode lookups go to Open Food Facts, an open food database, with only the barcode number. If you connect an AI assistant, its provider processes your conversations with it under its own terms, as described above. Our backend is hosted on Vercel. We don't use any analytics, advertising or tracking SDKs in the app.
Deleting your data
Clear log (Profile → Settings → Data & iCloud) erases the meal entries, meal photos and water history stored on your device, and the synced copy in your iCloud (photos already saved to your Photos album stay there until you delete them). Delete Account (Profile → Settings → Account) permanently deletes your backend account, its daily analysis history, everything stored for AI assistant connections (connections, personal key, pending meals and the summary) and your partner pairing and any open pairing code, and all your shared links — this can't be undone. Deleting the app removes all remaining local data. Revoking eatnibble's access to your Apple ID in iOS Settings signs you out the next time you open the app.
Children's privacy
eatnibble is not directed at children under 13, and we don't knowingly collect information from them.
Changes to this policy
If this policy changes, we'll update this page and adjust the date above.
Contact
Questions about this policy? Reach us at support@eatnibble.app.