Privacy Policy
In short: we store your email and password hash and, for signed-in users, the food diary, favorites and questionnaire answers so they are the same on all your devices. We send food photos to an AI provider for analysis and do not store them ourselves. We track website traffic using Yandex.Metrika and use its data to display service ads in Yandex.Direct; there is no third-party advertising on the website. The account is deleted in one step directly within the application. Below is the same information in legal form.
1. Personal Data Operator
The operator is Самозанятый Лежанкин Евгений Александрович, Tax ID (INN) 732716427959, email address support@foodgpt.ru.
This Policy has been developed in pursuance of Article 18.1 of Federal Law No. 152-FZ dated July 27, 2006, "On Personal Data" and determines the procedure for processing personal data of users of the FoodGPT, service. Amended as of 5 October 2026
This Policy applies to the website https://foodgpt.ru and to the FoodGPT app for Android (package ru.foodgpt), which is distributed through Google Play and RuStore and opens the same service.
2. What Data Is Processed
| Data | When Collected | Purpose |
|---|---|---|
| Email address | Upon registration | Account login, receipt dispatch, password recovery emails, responding to inquiries |
| Password hash | Upon registration | Password verification during login. The password itself is not stored and is unknown to the operator |
Device identifier (cookie foodgpt_device) | When used without registration | Tracking free requests. Not linked to an individual |
| Technical browser fingerprint (shortened hash) | When opening the application without signing in | Detection of repeated device-cookie changes and deciding whether an additional check is required; does not increase the quota |
| Request counters, tariff plan, access period | When using the service | Compliance with limits and provision of paid access |
| Questionnaire answers: sex, age, height, weight, activity level, goal | If you complete the questionnaire while signed in | Calculation of the daily calorie target and the same result on all your devices. Without signing in, they remain in the browser and are not transmitted to the server |
| Diary entries: dish name, calories, protein, fat, carbohydrates, portion weight, entry time | If you calculate something while signed in | A food diary shared across all your devices. Without signing in, it remains in the browser and is not transmitted to the server. The reduced-size image of a dish in the diary is never transmitted and remains on the device where it was created |
| Favorite dishes: name, calories, protein, fat, carbohydrates, portion weight, composition, time added | If you add a dish to favorites while signed in | A list of favorites shared across all your devices. The image of the dish is not transmitted to the server and remains on the device where it was created |
| Invitation code, a record of whose invitation the account was created by, the number of requests credited for invitations | Upon registration and when people you invited register | Crediting requests for invitations |
| Password change request: hash of the one-time link, creation time, expiry time, time of use | If you request password recovery | Restoring access to the account. The link itself is not stored |
| Payment details: number, amount, tariff plan, status; for a subscription — the date of the next charge, the number of charge attempts, renewal and cancellation events | Upon payment | Payment tracking, receipt generation, automatic subscription renewal, refund processing |
| Country determined by IP address | When the plans window is opened and when a payment starts on a page that is not in Russian | Choosing the price and checking whether the payment service accepts cards from that country. The country is determined on the server from a country database stored on the server itself; the address is not passed to third parties for this, and the country is not stored. The database used is IP Geolocation by DB-IP |
| Details of the consent to recurring charges: time, IP address, browser type, page language, plan, amount and frequency of charges | When subscribing | Confirming that consent to automatic subscription renewal was given, and handling disputes about charges |
| Fact and date of document acceptance, their version | Upon registration | Confirmation of consent receipt |
| Site visit information: IP address, browser and device type, referral source, opened pages and actions on them, including session recording | Upon opening any page of the site, including blog articles and reference guides | Attendance counting, analyzing where the visitor struggled with the interface, and displaying service ads to those who have previously visited. Collected by the Yandex.Metrica counter, see sections 6 and 12 |
| Request rate counters: IP address and, for login and password recovery, email address | Upon registration, login, password recovery, analysis without an account, menu translation and manual product entry | Protection against password guessing and abuse of free requests |
| Photo analysis result and whether a request was charged, stored under a hash of the photo's random key computed together with the device identifier and IP address. The image is not stored | When a photo is sent for analysis | Resending the same photo after a lost connection receives the same answer without a second analysis and a second charge |
2.1. The Operator does not process special and biometric categories of personal data, does not request access to device geolocation, does not collect contacts and a list of installed applications, and does not request a last name, first name, patronymic, date of birth, address, and phone number.
2.1.1. Sex, age, height, and weight from the questionnaire are ordinary personal data, not health data: they are used in the formula for calculating the daily calorie target and do not describe illnesses, diagnoses, or prescriptions. The questionnaire does not ask health-related questions: the question about allergies and intolerances was removed on September 12, 2026 precisely because its answer would constitute health data.
2.2. Product data entered manually by users (barcode, name, composition) is not personal data: this is information about the product, not about a person.
2.3. The visitor's region in Metrica reports is determined by IP address and is approximate: it is a city or region, not coordinates. Visit information is not linked to the email address and account: the operator does not transmit either to the counter.
3. Legal Grounds
- Data subject consent (Clause 1, Part 1, Art. 6 of 152-FZ) — given upon registration with a separate mark, the text of the consent is published here.
- Performance of a contract to which the data subject is a party (Clause 5, Part 1, Art. 6 of 152-FZ) — Public Offer and Terms of Use. This includes questionnaire answers, diary entries and favorites: the food diary and calculation of the daily target are the service you came for. They are also listed in the Consent. If you do not want them stored by the operator, use the service without signing in: without an account, both the diary and questionnaire remain in the browser (clause 12.3.1).
- Performance of duties assigned to the operator by legislation (Clause 2, Part 1, Art. 6 of 152-FZ) — in particular, tax accounting of received income.
- Consent to processing for statistical and advertising purposes (Clause 1, Part 1, Art. 6 of 152-FZ) — the legal basis for information about site visits and for displaying service ads based on them. It is considered given if the visitor continues to use the site after the cookie notification displayed at the bottom of the screen upon the first visit. It can be revoked at any time using browser tools or a Metrica blocker — how exactly is described in clause 12.6.
4. Purposes of Processing
Registration and authentication; provision of access to the functional capabilities of the service; compliance with the limits of free and paid tariffs; payment acceptance, including recurring subscription charges, and receipt generation; consideration of requests, claims, and refund applications; confirmation of the fact of obtaining consent, including consent to recurring charges; counting site visits and analyzing visitor behavior to improve the service; displaying service ads to those who have already visited the site; protecting the service against password guessing and abuse.
Processing is carried out in a mixed manner — using automation tools and without them. Decisions generating legal consequences are not made solely by automated processing.
5. Where Photos Go
5.1. This is the main thing to understand: image analysis is performed by a third-party service. The Operator does not train its own model, but transmits the image via an API to one of the AI providers. The provider is automatically selected from the configured chain: Qwen, HydraAI, OpenRouter, Groq, or a local model on the operator's server.
5.2. Neither the email address, account identifier, nor device identifier are transmitted along with the image — nothing by which you could be identified. The provider receives the image and the text of the request.
5.3. The Operator does not store the image: it resides in the server's RAM for the duration of request processing and is not written to disk or object storage. Previously, images were stored for up to one hour for re-analysis; this practice has been abandoned.
5.3.1. A photo taken without a connection to the server is kept only on your device until it is sent (clause 12.3.3) and is sent for analysis once the connection is back.
5.4. Shooting metadata (device model, coordinates) is removed from the image on the user's device before being sent to the server.
5.5. Image processing on the provider's side is governed by its own policy.
5.5.1. The Android app does not request a separate camera permission: access to the camera is requested when taking a photo by the browser in which the app runs, and it can be revoked in the settings for the site foodgpt.ru in that browser.
5.6. Images of food and packaging are not personal data. That is precisely why the Terms of Use explicitly prohibit uploading images of people and documents: such an upload violates the Terms, and the operator does not consider it as a transfer of personal data on its part.
6. Transfer to Third Parties
6.1. Personal data is transferred only to those without whom the service cannot function, and only to the necessary extent:
- Robokassa payment service — for payment acceptance, on the website and in the Android app. The Operator does not receive or store bank card details.
- Hosting provider — regarding the placement of servers and the database.
- AI providers — receive the image and text of the request without any user identifiers (Section 5).
- Yandex LLC — processing on behalf of the operator in the Yandex.Metrica service: the counter collects information about site visits listed in Section 2 and shows the operator reports on them. The basis is the service terms of use accepted by the operator upon connecting the counter.
6.1.1. The Android app is installed through Google Play (Google LLC) and RuStore (VK LLC). They process installation and store purchase data under their own rules; the operator receives only aggregated statistics from them. Payments inside the app go through Robokassa, as on the website.
6.2. The Operator does not sell personal data and does not transfer it to third parties for their own advertising. There is no third-party advertising on the site.
6.2.1. The Operator displays its own advertising. The counter is linked to the Yandex.Direct advertising system, and audience segments are formed based on the information it collects — anonymized lists of browsers to which Direct shows service ads on its platforms. Neither the email address, account identifier, nor name fall into these segments: the operator does not transmit them to the counter at all (clause 2.3). Opting out of such advertising is the same as opting out of the counter and is described in clause 12.6.2.
6.3. Data is provided to government authorities in the cases and in the manner established by the legislation of the Russian Federation.
7. Storage and Cross-Border Transfer
7.1. Databases containing personal data of citizens of the Russian Federation are located on the territory of the Russian Federation in accordance with Part 5, Art. 18 of 152-FZ.
7.2. Personal data is not transferred outside the Russian Federation. Requests to AI providers, whose servers may be located abroad, contain the image and text of the request and do not contain personal data (Section 5).
7.3. Information collected by the Yandex.Metrica counter is processed and stored on Yandex's side. Under the terms of use of this service, processing is carried out on the territory of the Russian Federation.
8. Storage Periods
| Data | Period |
|---|---|
| Photographs | Not stored. The image lives in the server memory for the duration of request processing, is transmitted to the AI provider, and ceases to exist after the response; it is not written to the operator's disk or object storage. A photo waiting to be sent is kept only on your device — until it is analysed or you delete it; the photo queue on the device is cleared when you sign out and when you delete the account |
| Photo analysis result under the resend key | 48 hours. After that period, the record is no longer used and is deleted by background cleanup |
| Email, password hash, counters, invitation code, consent information | As long as the account exists |
| Favorites | As long as the dish is in favorites and the account exists |
| Password change requests | As long as the account exists. The link is valid for one hour and can be used only once |
| Questionnaire answers | As long as the account exists. Completing the questionnaire again replaces the previous answers; old values are not accumulated. When you sign out and when you delete the account, the questionnaire answers are deleted from the device |
| Diary entries | As long as the account exists. When you delete an entry, all its contents are erased — name, figures, weight; its number and deletion time remain until the account is deleted. Without this marker, the entry would return from your second device, which does not yet know about the deletion |
| Payment information | The period established by tax legislation |
| Details of the consent to recurring charges | 3 years after the last subscription charge — the period during which a charge can be disputed. Kept after the account is deleted |
| Device identifier and free request counter (without an account) | Indefinitely: free requests without registration are granted once. When browser cookies are cleared, the browser receives a new identifier while the previous record remains in the database; network limits and the technical fingerprint may require an additional check |
| Request rate counters with an IP address or email address | Participate in checks for no longer than 24 hours. After that period, the records are no longer used and are deleted by background cleanup |
| Shortened hash of the technical fingerprint and its associations with the device cookie | Participate in checks for 24 hours. After that period, the records are no longer used and are deleted by background cleanup |
| Product data entered manually | Indefinitely — this is product information, not about you |
| Site visit information | Stored in Yandex.Metrica according to Yandex rules; not accumulated on the operator's servers. Counter cookies live on your device from 30 minutes to a year — table in clause 12.2.2 |
8.1. Data is destroyed upon achievement of processing purposes, upon withdrawal of consent, or upon account deletion — whichever comes first — except for data that the operator is obliged to store by law.
9. Your Rights
9.1. In accordance with Art. 14 of 152-FZ, you have the right to:
- obtain information regarding the processing of your personal data;
- demand clarification, blocking, or destruction of incomplete, outdated, inaccurate, or illegally obtained data;
- withdraw consent to processing;
- appeal the actions of the operator to Roskomnadzor or in court.
9.2. Requests should be sent to support@foodgpt.ru from the email address specified during registration. The response time is 30 calendar days.
10. Withdrawal of Consent and Account Deletion
10.1. The fastest way is to delete your account: in the application — on the website foodgpt.ru or in the Android app — open the "Profile" section — the icon in the upper right corner or the side menu item, — select "Delete account" and confirm. The email and password hash are deleted immediately and irrevocably.
10.2. Consent can be revoked by sending a letter to support@foodgpt.ru. Processing is terminated, and the data is destroyed within 30 calendar days from the moment of receipt of the withdrawal, unless there are legal grounds for continuing the processing.
10.3. After withdrawing consent or deleting an account, it is impossible to use the service in a registered mode.
11. Data Protection
The Operator takes the measures provided for by Art. 18.1 and 19 of Federal Law No. 152-FZ: passwords are stored as an irreversible hash, data exchange between the application and the server is carried out via a secure connection, access to the database is restricted, and the volume of collected data is minimized to that necessary for the operation of the service.
12. Cookies and Browser Storage
12.1. Opening any page of the site sets a Yandex.Metrica counter cookie — on blog articles, in reference materials, and on this document itself as well. The counter tracks traffic; exactly what it collects is listed in Section 2, and its cookies are listed in clause 12.2.2.
12.1.1. A service cookie appears when the application is first opened and requests the remaining number of free analyses — before a photo is submitted and before registration. Without it, analysis is impossible: it is used to track free requests.
12.2. The service itself uses two cookies, both of which are service-related.
| Cookie | When it appears | Purpose | Lifespan |
|---|---|---|---|
| foodgpt_device | When the application is first opened | Distinguishes your device from others to count free requests. Contains a random identifier with a server signature and nothing else: it contains neither your actions nor your request history | 1 year |
| foodgpt_session | Upon registration or login, and only then | Confirms that you are logged into your account | 30 days |
12.2.1. Both are marked with HttpOnly (inaccessible to page scripts), Secure (transmitted only over a secure connection), and SameSite=Lax flags. foodgpt_session is deleted upon logging out of the account and upon account deletion.
12.2.2. The Yandex.Metrica counter sets its own group of cookies. The main ones are:
| Cookie | Purpose | Lifespan |
|---|---|---|
| _ym_uid | Distinguishes one visitor from another | 1 year |
| _ym_d | Date of first visit | 1 year |
| _ym_isad | Indicates that an ad blocker is running in the browser | 20 hours |
| _ym_visorc | Recording of actions on the page — Webvisor | 30 minutes |
12.2.3. These cookies are set by the counter script, not the operator's server, so they do not have the HttpOnly flag. In addition to cookies, the counter stores service records in the browser storage. A complete and always up-to-date list is maintained by Yandex — it is published in the Metrica documentation.
12.2.4. The site does not set separate advertising cookies, and there are no third-party cookies here for the sake of third-party advertising. The counter cookies listed in clause 12.2.2 are used, among other things, to display advertisements for the service itself — clause 6.2.1.
12.3. In addition to cookies, the website and the application save settings records and service markers in the browser storage — Metrica counter records do not apply to them; they are mentioned above. All of them remain on the device and are not transmitted to the server, except the invitation code, which is transmitted upon registration, and the questionnaire answers, which are shared across your devices once you sign in (clause 12.3.1):
| Record | When it appears | Purpose | Lifespan |
|---|---|---|---|
| foodgpt_theme | If you clicked the light/dark theme toggle | Stores one word — the selected theme. Until the toggle is clicked, the record does not exist, and the application follows your system settings | Until you clear site data in your browser |
| foodgpt_locale | If you chose a language in the language switcher | Stores the code of the chosen language so that the logo leads to the home page in that language | Until you clear site data in your browser |
| foodgpt_cookie_seen | Automatically, when any page of the site is first opened | Marks that the cookie notice has already been shown: from then on, the Metrica counter loads as soon as a page opens (clause 12.6) | Until you clear site data in your browser |
| foodgpt_cookie_notice | If you pressed the button in the cookie notice | So that the notice is no longer shown | Until you clear site data in your browser |
| pwa_banner_dismissed | If you installed the application or closed the installation offer | So that the offer does not appear again | Until you clear site data in your browser |
| foodgpt-rate-prompt | Automatically, after the first successful analysis | Stores the number of successful analyses on this device and a marker of when to offer rating the app on Google Play and whether to offer it again. The offer itself is shown only in the app installed from Google Play | Until you clear site data in your browser |
| foodgpt-profile | If you completed the questionnaire | Questionnaire answers for calculating the daily target (clause 12.3.1) | Until you clear site data in your browser, sign out or delete the account; completing the questionnaire again replaces the previous answers |
| foodgpt-journal-since | Automatically, after you sign in, at the first diary exchange with the server | Stores the time of the last exchange so that only new diary entries are fetched from the server | Until you sign out or delete the account |
| foodgpt_ref | Automatically, if you followed an invitation link like foodgpt.ru/?ref=CODE | Remembers the invitation code until registration: between following the link and creating an account, the address bar may change, and without this record, the invitation would be lost | Until the tab is closed |
12.3.1. Your diary and questionnaire answers — what you see in the application — are also stored in the browser. Until you sign in, they remain entirely on the device: both the diary and questionnaire work without registration. Once you sign in, they are shared across all your devices and are transmitted to the server; exactly what is transmitted is described in Section 2. Reduced-size images of dishes are never transmitted and remain on the device where they were created.
12.3.2. When you sign out, diary entries that have already reached the server are removed from the device, because more than one person may use the same computer. Anything that has not yet reached the server remains there, since no other copy exists anywhere. When you sign out and when you delete the account, the queue of photos waiting to be sent is cleared entirely and the questionnaire answers are deleted from the device.
12.3.3. The diary, images and data for working offline are kept in the browser's databases (IndexedDB) and its cache (Cache Storage):
| Storage | When it appears | What it contains | Lifespan |
|---|---|---|---|
| foodgpt-history | When you calculate something | The diary: up to 500 latest entries with reduced-size images of dishes | Until you delete an entry or clear site data in your browser; on sign-out — see clause 12.3.2 |
| foodgpt-favorite-photos | If you add a dish with an image to favorites | A reduced-size image of the favorite dish. Not transmitted to the server | As long as the dish is in favorites or until you clear site data in your browser |
| foodgpt-photo-queue | If a photo is taken when there is no connection to the server | A reduced-size photo without shooting metadata, the file name, the time it was taken, its sending status and a random key by which the server recognizes a resend of the same photo | Until the photo is analysed or you delete it; the queue is cleared when you sign out and when you delete the account |
| foodgpt-store-products | If you manually entered the details of a weighed product from a store label | Name, calories, protein, fat, carbohydrates and composition of the product by label number — to recognize the product at the next scan. Not transmitted to the server | Until you clear site data in your browser |
| foodgpt-offline | Automatically, after the first barcode found; refreshed no more than once a day | A directory of popular products for barcode lookup without a connection. Contains no information about you | Until you clear site data in your browser; replaced when refreshed |
| foodgpt-collect-outbox | Only in the label collection mode, which the operator enables for individual accounts | An image of a label and the barcode until they are sent to the server | Until sending is confirmed |
| foodgpt-share-target | If you sent a photo to the app via "Share" | A temporary copy of the shared photo while the app opens | Deleted as soon as the app takes the photo for analysis, or at the next app launch |
| workbox-precache | Automatically, when the application is first opened | A copy of the application's pages, scripts and styles so that it opens without a connection. Contains no information about you | Until a new version of the application replaces the copy |
12.4. The following appear without a separate action on your part: foodgpt_cookie_seen — when any page of the site is first opened; workbox-precache — when the application is first opened; foodgpt-rate-prompt — after the first successful analysis; foodgpt-offline — after the first barcode found; foodgpt-journal-since — after you sign in; foodgpt_ref — when following an invitation link. None of them contains information about you. The foodgpt_ref record contains eight characters of the invitation code, lives until the tab is closed, and is deleted immediately after the invitation is accounted for during registration.
12.5. Free requests without registration (Section 2) are tracked using the foodgpt_device cookie, while abuse is additionally limited by network address. The application calculates a technical browser fingerprint and transmits it with the quota request. The server stores not the fingerprint itself, but its shortened hash and its association with the service cookie. These records participate in checks for 24 hours, after which they are ignored and deleted by background cleanup. The fingerprint can only increase friction: if it arrives with many different device cookies within one day, the service may require an additional check; it cannot increase the quota or remove a restriction.
12.6. There is no window with an "Accept cookies" button in the service: on the first visit, a notification that the site sets cookies is displayed at the bottom of the screen, and continuing to use the site after this notification is considered consent to the Metrica counter's cookies — they count visits, record Webvisor sessions (clause 12.2.2), and show the service's own ads to previous visitors (clause 6.2.1). There is no "decline" button next to the notification, and there is a separate reason for each of the two groups.
12.6.1. It is impossible to opt out of service cookies while continuing to use photo analysis: free request tracking and account login rely on them. Opting out here is possible only in the honest way — by not submitting photos and not logging into an account.
12.6.2. You can opt out of the Metrica counter, and this is done on the browser side, not by a button on the site: by blocking cookies for this site, using any ad blocker, or the official Yandex.Metrica opt-out — an extension that Yandex releases for Chrome and Firefox. This does not interfere with the service's operation: without the counter, photo analysis, login, and payment work as usual.
12.6.3. Consent to the processing of personal data is obtained where it is actually required — by a separate checkmark during registration (Section 3).
12.7. Cookies and browser storage contents are deleted and blocked using the browser's own tools; the procedure is described in its help section. Deleting foodgpt_session means that you will need to log in again; deleting foodgpt_device will issue a new cookie, but the technical fingerprint and network limits may require a check; deleting Metrica cookies means that the counter will consider you a new visitor. Clearing site data deletes everything listed in clauses 12.3–12.3.3: local settings, the questionnaire, diary, thumbnails and photos waiting to be sent. Synchronized entries and questionnaire answers will return after login; anonymous and not-yet-synchronized entries cannot be restored.
13. Minors
The service is not intended for persons under 18 years old, and the operator does not knowingly process their personal data. Upon discovering such data, the operator shall delete it.
14. Policy Changes
The current version is always posted on this page; the date of the version is given in Section 1.
Calorie estimation from a photograph is for reference purposes only and does not constitute medical advice.
Details
Самозанятый
Лежанкин Евгений Александрович
INN 732716427959
Email: support@foodgpt.ru
Website: https://foodgpt.ru
Edition dated 5 October 2026
Other documents: Public Offer · Terms of Use · Consent to Personal Data Processing · Contacts and Details