Privacy Policy
This policy explains what data the Via app (“Via”, “the app”) handles, where it goes and what you can do about it. Via is made by Dzmitry Dziabel (Steel Berries), a sole proprietorship registered in Poland — ul. Nowy Świat 33 lok. 13, 00-029 Warszawa, Poland, NIP 5252969453, REGON 526168519 — “we” in this policy. We are the controller of the personal data described here. Contact: info@steelberries.com.
The short version
- Your diary stays on your phone. Meals, workouts, weigh-ins, your body details and your plan are stored on the device. Via has no accounts, and we have no copy of any of it.
- The AI scanner sends what you give it. A photo or description you submit goes to our server and to OpenAI to recognize the meal. Our server doesn’t keep it.
- Crash reports and usage statistics go to Google Firebase. They never contain your weight, calories or your diary. The one thing you type that usage statistics carry is what you write to the AI scanner, so we can learn how people describe food. You decide on the welcome screen whether usage statistics are sent, and can switch them off in Settings at any time.
- Via Pro is sold by Apple and Google. We never see your payment details. If you subscribe, the app shows our server the store’s proof of your subscription, so the server can unlock unlimited scans.
- Via shows no ads, and we never sell your data or pass it to data brokers.
1. Data that stays on your device
Everything you enter to use the diary is stored only in the app’s storage on your phone:
- your profile — sex, date of birth and height;
- your weigh-ins and your plan — target weight, pace, activity level, and the calorie and water goals calculated from them;
- diary entries — food and workouts with their names, notes, calories and macronutrients — and water intake;
- your saved dishes and workouts, and the app’s settings.
We never receive this data. It is included in your phone’s own backup — Android backup to your Google account, or iCloud / computer backup on iPhone — which is provided by Google or Apple under their terms and which you control in your phone’s settings.
To delete it, use Settings → Reset all data, or uninstall the app. A reset keeps only your answer about usage statistics, whether you have Via Pro, and a few dates the app needs so as not to repeat itself — when it last asked for a rating and which Via Pro offers it has already shown. It doesn’t touch what has already left the phone (sections 2–5).
Camera and photos. The app uses the camera only while you are taking a photo for the scanner, and reads only the photo you pick from your gallery. It does not save photos to your gallery. Reminders are scheduled on the device itself; we run no push notification server. Rating requests are shown by the App Store or Google Play; your rating and review go to the store, not to us.
2. The AI meal scanner
When you scan a meal, the app sends to our server:
- the photo, or the text description you typed, plus the optional weight and comment you added;
- the app’s language and whether you use Android or iPhone;
- a sign-in token from Firebase Anonymous Authentication, which carries a random anonymous identifier, and a random ID for the request;
- if you have Via Pro, the store’s proof of your subscription (section 5);
- like any connection over the internet, your IP address.
The photo is a cropped, re-compressed copy made by the app, so it carries no location or other metadata from the original.
Our server, hosted by Render, forwards the photo or text to OpenAI, whose models recognize the dishes and estimate calories and macronutrients. The answer comes back to your phone, and nothing is saved to your diary until you confirm it. On iPhone, the app asks before your first scan is sent to OpenAI and sends nothing until you allow it.
- We don’t store photos or descriptions. Our server keeps only a count of scans per anonymous identifier (in Google Cloud Firestore), which is how the free-scan limit works. The anonymous identifier itself stays in Firebase Authentication until we delete it: we don’t delete idle identifiers automatically, because that would reset the free scans.
- Our server writes technical logs — time, the kind of scan and the platform, model, processing time and the amount of processing used, the request ID, the anonymous identifier when a scan limit or an error is involved, and, when something fails, a short fragment of the model’s answer. The hosting provider keeps them, together with its own record of requests (which may include the IP address), for up to 30 days.
- Under OpenAI’s API terms, data sent through the API is not used to train its models and may be kept by OpenAI for up to 30 days for abuse monitoring.
Please don’t include people, documents or other personal details in photos or descriptions you scan.
3. Crash reports and app settings
If the app crashes or hits a serious error, it sends a report through Firebase Crashlytics (Google): the technical trace of the error, device model, operating system and app version, a random installation identifier, the time, and the ID of the last request to our server (so we can match the report with our server’s log). Crashlytics also notes when a session of the app starts, so we can count how many end without a crash. If usage statistics are on, a report also lists the last statistics events before the crash (section 4). Reports contain no diary data. They are sent whether or not usage statistics are on, and Crashlytics keeps them for 90 days.
At launch the app also fetches its current settings from Firebase Remote Config (Google), so we can adjust them without a new version. The request carries the random installation identifier, the app and operating system versions, and the phone’s language, region setting and time zone. It is made on the first launch too, before the welcome screen appears.
4. Usage statistics
The app sends usage statistics through Google Analytics for Firebase so we can see which features work and where people get stuck. This includes:
- events such as a screen being opened, an entry logged, a scan started or finished, a reminder switched on, the Via Pro offer being shown or a purchase failing, and how many days you have logged and how long a gap was, as ranges. The birthday greeting and its offer being shown are events too, so they tell us that your birthday was within the past month — never its date;
- the text you send to the AI scanner — a description of a meal, or a note added to a photo — so we can see how people describe food and make recognition more accurate;
- coarse properties: units, sex, age range, activity level, chosen pace, whether you are losing weight or maintaining it, distance to your goal and the time to reach it as ranges (for example “5–10 kg”), whether you have Via Pro, reminder settings and app language;
- what Google Analytics collects itself: a random app-instance identifier, device model, operating system, app version, approximate country or region derived from your IP address, session information, and in-app purchase events with the product and its price. On Android this includes the device’s advertising ID, Google Play’s install referrer and Android’s ad attribution service, which let us tell whether an ad for Via led to an install; you can reset or delete the advertising ID in Android settings. On iPhone it includes the identifier Apple gives our apps on your device (IDFV) and Apple’s ad attribution service (AdServices), which tells whether an Apple Ads ad led to the install and, if one did, its campaign, ad group and keyword; Via never asks for the advertising identifier (IDFA) and doesn’t track you across other companies’ apps.
Never sent: your exact weight or height, your date of birth, calories, the names and notes in your diary, anything else you type, or photos. Via shows no ads. If we advertise Via itself, statistics may be used to measure which campaigns bring people to the app — never to show you ads inside it: the signal that would allow personalized advertising always stays off.
The app asks before it sends any statistics — on the welcome screen, the first time you open it, and nothing is sent while the question is on screen. Whether the switch there starts on or off depends on the country your connection comes from: in the United States it starts on, and you can turn it off before you continue; everywhere else it starts off, and statistics, along with the measurement of our ads described above, are sent only if you turn it on. You can change your answer at any time in Settings → Send usage statistics; resetting all data keeps it.
Google Analytics keeps individual events for 2 months and data tied to the app-instance identifier for 14 months after its last activity; reports built from them contain only totals. A copy of the raw events exported to Google BigQuery for our own analysis is kept for 14 months.
5. Via Pro
Via Pro is a subscription sold through the App Store or Google Play. The store takes the payment under its own terms; we never see your card or payment details, your name or your store account.
- With every request to our server, the app sends the store’s proof of your subscription — a signed transaction from Apple or a purchase token from Google. The server checks Apple’s signature itself, without contacting Apple, or asks Google whether the token is valid. In its memory, under a one-way hash of the token, it remembers Google’s answer for up to 24 hours and that a token belongs to a purchase for up to 30 days.
- So that one subscription can’t unlock scans on an unlimited number of phones, the server keeps, for each subscription, which anonymous identifiers (section 2) presented it during the last 30 days, in Google Cloud Firestore, under a one-way hash of the subscription’s ID. Older entries are deleted.
- On iPhone, when you take a special offer, the app asks our server to sign it; the request carries the product and the offer, plus, as with a scan, the anonymous identifier, the request ID and — if you already subscribe — the store’s proof of your subscription.
6. When you write to us
Settings → Contact the developer opens your own mail app with a draft to info@steelberries.com. The draft contains a block of technical details — app version, device model, operating system, language, time zone, units, theme, font size and screen size — which you can read, edit or delete before sending. It contains no diary or health data. We get whatever you choose to send, together with your email address, and keep the correspondence only as long as we need it to help you.
7. Why we may process this data (legal bases)
- The scanner — to provide the service you ask for (GDPR Art. 6(1)(b)).
- Crash reports and app settings — our legitimate interest in keeping the app working (Art. 6(1)(f)).
- Via Pro — to provide the subscription you bought (Art. 6(1)(b)), and our legitimate interest in stopping one subscription from being shared widely (Art. 6(1)(f)).
- Usage statistics, including measuring our ads — your consent (Art. 6(1)(a)) and, as far as they say something about your health, such as how far you are from your goal weight, your explicit consent (Art. 9(2)(a)). You can withdraw it with the switch in Settings.
- Emails — our legitimate interest in answering you (Art. 6(1)(f)).
8. Who processes data for us
| Provider | What for |
|---|---|
| OpenAI | Recognizing meals in photos and descriptions |
| Render | Hosting our server |
| Google (Firebase, Google Cloud) | Crash reports, app settings, usage statistics, the anonymous identifier, the scan counter and the Via Pro check |
| Cloudflare | Our domain, and forwarding email sent to steelberries.com |
| Google (Gmail) | Our mailbox, where emails to us arrive |
They act on our instructions under data processing terms. Some of them process data in the United States; those transfers rely on the EU–US Data Privacy Framework where the provider is certified, or on the European Commission’s Standard Contractual Clauses. Apple and Google also process data as app stores and platform providers, including payment for Via Pro and confirming a subscription to our server, under their own privacy policies.
9. How long we keep it
| Data | Kept |
|---|---|
| Diary, profile, plan (on your device) | Until you reset the app or uninstall it |
| Scanned photos and descriptions | Not stored by our server; up to 30 days at OpenAI. The text of a description or a photo note is also kept with usage statistics, if they are on |
| Scan counter per anonymous identifier | While the free-scan limit exists |
| The anonymous identifier (Firebase Authentication) | Until we delete it; idle identifiers are not deleted automatically |
| Which anonymous identifiers presented a Via Pro subscription | 30 days after each one last presented it |
| Google’s answer about a subscription (in our server’s memory) | Up to 24 hours; that a token belongs to a purchase, up to 30 days |
| Server logs | Up to 30 days |
| Crash reports | 90 days |
| Usage statistics | Events 2 months; data tied to the app-instance identifier 14 months after its last activity; raw copy in BigQuery 14 months |
| Emails | As long as needed to help you |
10. Your rights
Under the GDPR you have the right to access your data, correct it, delete it, restrict or object to its processing, receive it in a portable form, and withdraw consent at any time. Write to info@steelberries.com.
Via has no accounts, so we can’t tell who you are from our side: the identifiers we see are random. The fastest ways to act on your data are in the app — Reset all data deletes the diary, Send usage statistics stops statistics, and reinstalling the app gives it new statistics and crash-report identifiers. The scanner’s anonymous identifier can outlive a reinstall: on iPhone Firebase keeps it in the Keychain, and on Android it can come back with a restored backup. If you write to us, we will help to the extent we can find your data.
You can also complain to the Polish supervisory authority — the President of the Personal Data Protection Office (Prezes Urzędu Ochrony Danych Osobowych, ul. Stawki 2, 00-193 Warszawa, uodo.gov.pl) — or to the authority where you live.
11. Age
Via is for adults. You must be 18 or older to use it, and we don’t knowingly process the data of anyone younger.
12. Changes
When this policy changes, we update this page and the date at the top. If a change affects what the app sends or to whom, we will say so in the release notes of the version that brings it, and ask for your consent again where the law requires it.
The rules for using Via itself are in its Terms of Use.