SayCal

SayCal privacy policy

Effective November 4, 2026

SayCal is a voice food journal for iPhone. You say or type what you ate, and SayCal works out the calories and nutrients. This policy explains, in plain words, what stays on your phone, what leaves it, who handles it, and how to delete it. "SayCal", "we" and "us" mean the independent developer who makes the app.

The short version

What stays on your phone

What we send, and why

Your voice

SayCal turns what you say into text one of two ways, and you choose which. The first time you use the mic, on any screen, SayCal asks before anything records: "Use Soniox" or "Keep it on this iPhone". It says what goes to Soniox, that Soniox keeps neither your voice nor your words (only a record that you used it), and that Soniox is in the United States. Nothing goes to Soniox unless you choose it: until you answer, and if you choose to keep it on your iPhone, Apple's speech recognition hears you on the iPhone. Your answer is kept on this iPhone, and you can change it anytime in Profile → Voice engine.

About Soniox:

Either way, SayCal never receives or keeps a recording of your voice. The words it turns into are handled as described next.

Meals you log

When you say or type a meal, its text goes over an encrypted connection to SayCal's server, which runs on Supabase in the United States (US East, Virginia). The server sends that text to the Google Gemini API, which splits it into foods and estimates amounts and nutrition. Your phone's region setting (such as India) and local time go with the text, so portions and drinks match where you are (tea in India comes with milk and sugar) and a whole day's meals can be placed at the right times; we don't store them either. The country, home cooking, diet and foods to avoid from Your food go with the text too, so a dish you don't describe is read the way you eat (a vegetarian's curry is a vegetable curry), but the note you can add there never leaves your phone with a meal. For a restaurant or packaged food, Gemini may search Google for the brand's published nutrition, using only the product name (for example "Starbucks Caffe Latte Grande").

Questions to your coach

When you type or say a question to the coach, it goes over an encrypted connection to SayCal's server and on to the Google Gemini API, which writes the answer. So the answer can use your numbers, a summary of your day goes with it: your goal, today's calories and nutrients against your targets, whether you add workout calories to your budget, the names and calories of the foods you logged today, your local time, and the country, home cooking, diet and foods to avoid from Your food (never the note). Nothing from Apple Health goes with it. Your last few questions and answers from today go too, so a follow-up makes sense. The suggested questions above the ask field are answered on your phone and send nothing.

Barcodes

The barcode number goes to our server, which looks it up in our food database and, when needed, in USDA FoodData Central and Open Food Facts. Our server makes those lookups, so those services never see your phone. A barcode nobody could find is kept for 7 days, with no link to you, so we know which products to add. If our research later adds that product's published numbers (see the next section), its barcode stays with them in SayCal's shared food data.

Foods you type in yourself

When you enter a food and its numbers by hand, we store that food (name, brand, barcode if any, amount and nutrition numbers) with your account id and your phone's language and region setting. We use it to check your numbers against published sources and show you what we found, and for research to improve SayCal's food data. To check it, the food's name and numbers go to Google Gemini as described above, which searches Google for the product's published nutrition.

If you signed in with Apple or Google, the published numbers that search found may be added to SayCal's shared food data, so the next person who logs the product gets them right away. That happens only for numbers on the brand's own website, or in a nutrition database (USDA FoodData Central, Nutritionix or CalorieKing), for a brand you named, when the search shows it found that site; only when the product's published name has the same words you typed; and only once someone else who signed in has typed the same product and their check agrees. The numbers are stored under the product words you typed and, for a package, the barcode you scanned (never a store's own code, a coupon or a loyalty card). We never share the numbers you typed, your account id or anything else about you. The food you typed and its check are deleted when you delete your account. Published numbers added to the shared food data aren't linked to you, so they stay (see "How long we keep data").

Sources you report

If you tap "Report this source", we mark that food's source, with the reason you picked and your account id, so it is checked again. The report is not shown to anyone else.

Backup, if you sign in

If you sign in with Apple or Google, SayCal backs up your journal to our server so you can restore it on a new phone. Without signing in, nothing is backed up. The backup is stored on Supabase, tied to your account, and encrypted in transit and at rest. It holds what your journal holds, including weigh-ins and workouts shown in your journal.

Your profile photo, if you add one

Logs and daily limits

To keep the service fast and fair, the server records each request: which feature was used, when, how long it took, how many foods it returned and whether it worked, with your random account id. It never records what you said or typed. We also count how many requests each account makes per day (and, for voice keys, in the last minute) to enforce fair-use limits.

Usage counts

So we can see where people get stuck, SayCal sends PostHog, an analytics service in the United States, a short note when something happens: an onboarding step was shown, SayCal was opened, a meal was logged. Each note holds only the event's name, a few plain facts chosen in the app (for a meal: whether it was said or typed, and how many foods it had), SayCal's version and your iPhone's iOS version, and a random id made on this iPhone.

Your account and sign-in

Purchases

SayCal Pro is sold through the App Store. Apple handles payment; we never see your card or billing details. We use RevenueCat to know whether your subscription is active. RevenueCat receives your purchase records from Apple, your SayCal account id, and basic technical details such as app version, iOS version and country. Our server keeps only your plan (free or Pro) and when your free week started. The app also keeps that date in your iPhone's Keychain, which stays on the iPhone (it isn't synced to iCloud), so reinstalling the app doesn't start another free week.

Apple Health

If you allow it, SayCal reads your workouts, steps, walking and running distance, active energy and weight from Apple Health to show them in your day and your progress. SayCal does not write to Apple Health.

What we don't do

Who handles data for us

Each of these handles data under its own privacy policy and only to provide its part of SayCal.

How long we keep data

Deleting your data

Your privacy rights

Depending on where you live (for example California, Colorado, Connecticut, Virginia or another US state with a privacy law), you may have the right to know what personal information we have about you, get a copy, correct it, and delete it. Email us and we'll answer as soon as we can, and within 45 days. We'll never treat you differently for asking. We don't sell or share personal information as those laws define it, and we don't use it for targeted advertising.

Security

Everything SayCal sends travels over encrypted connections (HTTPS). On the server, each account can reach only its own rows. Access to the server is limited to the developer, and we look at stored data only to fix a problem or when you ask us to. No system is perfectly secure, so we keep as little as we can.

Children

SayCal is not meant for children under 13, and we don't knowingly collect personal information from them. If you think a child under 13 has used SayCal, email us and we'll delete the data.

Changes to this policy

If we change this policy, we'll update the date at the top. If a change affects how your data is used in a meaningful way, we'll tell you in the app before it takes effect.

Contact

Questions or requests: mubarisfly@gmail.com