Privacy Policy
Last updated: October 2026
Souva is a pantry and recipe app. We designed it to keep your data on your device.
Data stored on your device
Your pantry contents, saved recipes, preferences, and theme settings are stored locally on your device. They are not synced to any account and we cannot access them. Deleting the app deletes this data.
Data sent over the network
- Recipe search: to find and count recipes, the app sends the ingredient names in your pantry (or the ones you type) to TheMealDB and to our recipe-discovery service, which queries public recipe websites on your behalf. Requests to our service also carry a random id the app makes up when it is installed. It is not an account, not a device id, and not anything Apple or Google assigns, and it is never sent to TheMealDB. It is there so that one person's heavy use cannot slow anyone else's: the per-minute request limit and the free usage limits are counted per install rather than per network, and the id is never stored with the catalogue described next. The recipes the discovery service finds are saved to a shared catalogue so the next person searching the same things gets an answer without another trip to the web, and the ingredient list that found them is stored alongside them. Nothing in that catalogue records who searched: there is no account, no device id, and no address attached to it.
- Barcode scanning: scanned barcode numbers are sent to Open Food Facts to look up nutrition information. When a pantry item's name reads like a store product, with a brand, a size, or four or more words, that name is sent to our service, where an AI model shortens it to the ingredient a cook would call it (“Great Value Granulated Sugar” becomes sugar). The name is processed in memory and not stored, and the request carries the same random install id as recipe search, for the same per-minute request limit.
- AI recipe generation: your ingredient list and recipe preferences are sent to our recipe-generation service (hosted on Cloudflare), which forwards them to an AI model to create recipes. Requests are not linked to your identity, are not stored, and request contents are not logged. To enforce the free usage limits (and the fair-use ceilings of Souva Unlimited), the app sends a random identifier that is not derived from you or your device. What is stored server-side for that identifier is counts: how many generations, scans, and imports it used on each day, how many optional rewarded ads it watched, how many scans came back empty, and how many seconds of linked video were read for imports, plus the time of its most recent generation. The app also sends your phone's time-zone offset from UTC (for example, four hours behind), so that a daily limit resets at midnight where you are; the server keeps only the most recent offset with those counts. An offset is a time zone, not a location. Versions 1.2.2 and earlier of the app do not send it, and their limits reset at midnight UTC. Some limits are counted by the week, so the counts cannot be deleted daily: a day’s count is dropped once it is nine days old, the next time the identifier is used, and the whole record for an identifier is deleted after ten days in which it is not used at all. No count outlives the last use of these features by more than ten days.
- Photo scanning (optional): if you choose to photograph your fridge or pantry, that photo is sent to our service and forwarded to an AI vision provider to identify ingredients. The photo is processed in memory only: it is never stored, never logged, and never used by us to train anything; location and other camera metadata are removed on your device before upload. The same random identifier and usage counts described above, kept for the same time, apply to photo scans. So that a scan interrupted by a lost connection is not charged twice, the list of ingredients it found (never the photo) is kept for ten minutes under that identifier and a random id for the scan. The scan id is also held with the counts, and is cleared from them once it is fifteen minutes old, or at the latest when the counts themselves are deleted. If you never use photo scanning, no photos ever leave your device.
- Receipt scanning (optional): if you choose to photograph a grocery receipt, the photo is read entirely on your device and the image never leaves your phone. Only the text of priced line items is sent to our service, where an AI model identifies the food items; that text is processed in memory only, never stored, and never logged. Store names, totals, payment details, and card information are filtered out on your device before anything is sent. The same random identifier and usage counts apply to receipt scans.
- Recipe import from a link (optional): if you paste or share a link to a recipe page, post, or video, the link is sent to our service. For a recipe web page, the service reads the recipe data the page publishes. For a social post or video, it reads the post's public text (its caption or description) and has an AI model pull the recipe out of it; for some videos, the video itself may be read by Google's Gemini model to find the recipe. The recipe comes back to your phone and is saved there. The link is not stored with anything that identifies you, though a link we fail to read can appear in our error logs. Every import carries the same random identifier, and imports from posts and videos count toward the import limit with the usage counts described above.
Advertising
Souva's only ads are optional "watch to unlock more" rewarded ads, served through Google AdMob. There are no banner or interstitial ads. To serve ads, Google's advertising SDK may collect and process a device advertising identifier and related technical data as described in Google's Privacy & Terms. Souva requests non-personalized ads where possible, and on iOS you can decline app tracking and still use every feature. We ourselves do not build advertising profiles or sell your data.
Analytics
Souva uses Aptabase, a privacy-first analytics processor, to understand which features are used. The usage events we send contain no personal information and no advertising or device identifiers, are not linked to you, and are not used to track you across other apps or websites.
Purchases (Souva Unlimited)
If you buy Souva Unlimited, the purchase itself is handled entirely by Apple's App Store or Google Play, and we never see your name, card, or billing details. To activate the purchase, the app sends the store's transaction identifier to our server, which verifies it directly with Apple or Google and then stores a small entitlement record: the transaction identifier and the app's random install identifier. For a subscription, the record also holds the plan, its current status (for example active, in a free trial, or cancelled), and the date the paid period ends, which our server re-checks with Apple or Google so that a renewal or a cancellation takes effect. Apple and Google can also notify our server directly when a subscription renews, is cancelled, lapses, or is refunded, so the record stays current without the app being opened; those notices identify the transaction and its new status, never your name or payment details. For each subscription we also note the dates it was first seen in a free trial, first paid, and ended, so that we can tell whether those notices are arriving. The entitlement record exists to keep your purchase working across reinstalls and your own devices, and to prevent abuse of a shared license. Our analytics record only that a purchase or restore was attempted and whether it succeeded, never amounts, identities, or payment details.
Affiliate links
Souva has one affiliate link: a line under the nutrition facts on a recipe, pointing to Cronometer, a nutrition tracker. If you sign up through it, Souva may earn a commission. Every link that can earn Souva a commission says so plainly on the same screen as the link, before you tap it. A commission never changes what you pay, and it never changes which recipes or ingredients Souva shows you: results are ranked by your pantry match, not by what earns us money. Tapping such a link shares nothing with the store beyond the ingredient names you chose to send.
What we don't do
- No accounts, sign-ins, or logins
- No cross-app tracking, and no advertising profile built from your activity
- We do not sell your personal data
- We do not store your pantry, your saved recipes, or your preferences on our servers. Those live on your phone. The shared recipe catalogue described above holds ingredient lists that were searched, but never a pantry and never a person
Children
Souva is not directed at children under 13, and it does not knowingly collect personal information from anyone, including children.
How long anything is kept
The little the servers do hold, and for how long: usage counts (the free limits and the Unlimited fair-use ceilings) are dropped once they are nine days old, and an install’s whole record is deleted after ten days without use. Feedback you submit through the app is kept for 90 days, then deleted. If you buy Souva Unlimited, the store's purchase record (an order id and the country of purchase, with no name and no payment details) is kept for as long as needed to keep honoring your subscription or one-time purchase. Photos you scan are processed in memory and never stored at all. We also keep anonymous cost records for about 40 days: a date, a random id, and how many tokens a generation used. They tell us what the AI features cost to run. They contain nothing you typed and nothing that identifies you or your device. The shared recipe catalogue is kept indefinitely, because it is what stops us re-crawling the same recipes forever; it holds recipes and the ingredient lists that found them, with nothing tying either to a person.
Your rights
Privacy laws in some places (California's CCPA, Europe's GDPR, and others) give you rights to access, correct, or delete personal data a company holds about you. Souva's honest answer to such a request is that we hold almost nothing: there is no account, and your pantry and preferences are stored on your device, not on our servers. Deleting the app deletes them. We do not sell or share personal information as those laws define it. If you want a server-side record tied to a purchase or a feedback submission removed, email support@souva.app and we will handle it within 30 days.
Changes
If this policy changes, the updated version will be published at this URL with a new "last updated" date.
Contact
Questions? Email support@souva.app.