CheckCal Get the app

Privacy policy

Last updated 21 October 2026

CheckCal is made by Dobreon sp. z o.o., a company registered in Poland, which is the controller of the personal data described here. Write to support@dobreon.com about anything on this page.

The short version: everything in CheckCal works without an account, reading photographs included. Without one, what leaves your phone is a photo or a meal in words you ask CheckCal to read (after you have agreed to that), a barcode or a search you look up, the proof of your subscription, and whether an Apple Ads ad brought you to the app. With an account, your diary is also kept in our database so it follows you to a new phone, and you can write to us in the app and read our replies there.

Without an account

Your day, your meals, weight, workouts, water, targets, scores, reports and Apple Health all live on your phone and work with no account at all. Nothing about them is sent to us.

Three things leave the phone only when you use them:

And one says how CheckCal itself is doing, never anything about you: which Apple Ads ad, if any, brought you to the app, asked of Apple once after you install it (see Apple Ads).

Signing in is optional

An account does two things: it keeps a copy of your diary so it reaches your other devices and survives a new phone, and it lets you chat with us in the app, because a reply needs somewhere to find you (see Writing to us in the app). Nothing else in the app needs one, and you can always write to support@dobreon.com instead.

We use Firebase Authentication, which is Google, to handle signing in. You can sign in with Apple, with Google, or with an email address and a password. Apple and Google sign-ins involve no password at all. An email account has one, and we never see it: the app hands it to Firebase, which stores only a salted hash, and a forgotten one is reset by a link Firebase emails you. What Firebase holds is your email address, your name if Apple or Google passed it on, the identifier the provider gives us or the password hash, and the times you signed in. Signing in with Google tells Google that you use CheckCal; we receive your email address and name from them and nothing else. If you use Apple's Hide My Email, the only address we ever see is the relay one Apple gives us.

You can sign out in the app under You. Your diary stays on the phone and stops syncing.

What syncing stores, and where

With an account, your diary is kept in Cloud Firestore, Google's database, so it can reach your other devices. That is:

The database is in Frankfurt, in the European Union. Your diary is stored underneath your account's identifier, and security rules refuse any read or write that crosses from one account into another.

Photographs are not synced and are never stored on our side: the only lasting copy is on your phone.

When you delete something, it is marked deleted rather than removed outright, so the deletion reaches your other devices instead of the item coming back from one of them. The marked item stays in the database until you delete your account.

Meal photographs, words and AI

Reading a meal or a nutrition label from a photograph (or a meal you describe in words, such as “omelette with chicken”) is done by an AI model: Google's, through its Gemini API, and (for one Google's model does not read) Apple's, on its Private Cloud Compute. Before the first photo or description is sent, the app asks whether you agree, and says the same things this section says. You can turn it off at any time in the app under You › Privacy. While it is off, nothing is sent anywhere; a photo you take or a meal you describe meanwhile waits on your phone and is read only once you turn it back on. Adding food by hand, with the figures, never uses AI.

CheckCal has no access to your photo library. When you choose a photo, the system's picker hands the app that one photo and nothing else. Saving a photo or a share card to your library asks for permission to add to it, not to read it.

Your voice

In «What did you eat?» and «Fix something» you can say the words instead of typing them. The microphone is used only while you have it on, and only after you allow it when iOS asks. Typing always works without it.

Counting photographs and words

Each photograph or meal in words Google's model reads costs us money, so our server counts them: there is a limit of 30 a day, photographs and words together, and a limit on how fast they can be asked for. On an iPhone that supports Apple Intelligence, photographs past the daily limit are read by Apple's model instead; those never reach our server and are not counted here. The count is kept per account when you are signed in, and per subscription when you are not. It holds how many photos were read today, how many were refused and why, the times of the last few, and a running total. Nothing about the photos or the food.

Proving the app is the app

Before a photo is read or you sign in, the server checks that the request comes from CheckCal, unmodified, on a real device. It uses Apple's App Attest: your phone's secure hardware signs a statement, Apple and then Google's App Check confirm it, and our server sees only a yes or a no. It carries nothing about you or your food, no advertising identifier, and it cannot be used to recognise you across apps.

Subscriptions

Subscriptions are sold and processed by Apple. We never see your card or your Apple Account. What our server sees is the transaction Apple signs, which the app sends with each photo so the server can check the subscription rather than take the app's word. The server records which subscription it is and when it runs out. When you are signed in, it also records which account the subscription belongs to; that record goes when you delete the account.

Apple Ads

We advertise CheckCal in the App Store with Apple Ads, and we want to know which of those ads bring people who go on to subscribe, so we stop paying for the ones that do not. For that we use Apple's own attribution, AdServices, which needs no advertising identifier and no permission to track you, because it does not track you across apps or websites.

Barcodes and the food database

Scanning a barcode sends the number, and searching the food database sends the words you type, to Open Food Facts, a free public food database run by a French non-profit on servers in the European Union. Nothing else is sent and no account is needed.

Apple Health

Apple Health is used only if you allow it, in the Health permission sheet, and you can change what CheckCal may read and write at any time in the Health app.

Writing to us in the app

Signed in, you can write to the people who make CheckCal under You › Chat with us, and our replies appear there. Before your first message, the app asks whether you agree to what this section says, and there is nowhere to type until you do.

The app has no notifications for replies yet: it looks for them while the chat is open and when you come back to the app.

Who else handles your data

Each company that processes data for us is bound by an agreement to protect it at least as well as this policy does and to use it only to provide its service to us. Google, Vercel, Resend and Slack are United States companies, so reading a photo, signing in, the limit emails and the support chat involve transfers outside the European Economic Area; those rest on the European Commission's standard contractual clauses. A photo read by Apple may also be processed in the United States.

What we never collect

There is no analytics SDK, no crash reporter, no advertising identifier and no third-party tracker of any kind in the app. The Apple Ads answer above is Apple's, about an ad, not about you. Nothing you log is sold, shared with advertisers or used to build a profile of you, and we do not use your diary to train anything.

Children

CheckCal is not intended for children. The opening questions do not accept a date of birth under 13 years ago, and a plan to lose weight is offered only from 18 and never to somebody already under a healthy weight.

Your rights, and deleting everything

Under the GDPR you have the right of access, rectification, erasure, restriction, portability and objection, and you can withdraw consent at any time.

You may also complain to a supervisory authority. In Poland that is the Urząd Ochrony Danych Osobowych.

Changes

If this policy changes in a way that affects what is sent or kept, we will update the date at the top and describe the change here before the version of the app that makes it ships.