Privacy Policy
Website account activity. For signed-in, verified website accounts, Mealisa keeps the most recent authenticated website visit and an approximate session count in the separate website profile. A new session is counted after at least 30 minutes without recorded activity. This information helps administer and maintain website account features, is not used for advertising, is visible to authorized website administrators, and is deleted with the website profile. Previously unrecorded visits are not reconstructed.
Mealisa
Last updated: October 25, 2026
This Privacy Policy explains how Mealisa handles personal information when you use the Mealisa iOS app, its API, and website services on mealisa.com, including optional sign-in and saved articles. Please read the separate choices shown in the app when you enable nutrition profile personalization or AI analysis of your food diary.
1. Who is responsible
The data controller is Asadullin Akhat, operating Mealisa as a registered Gewerbe in Germany.
Business address: Spreeallee 10, 16321 Bernau bei Berlin,
Germany
Privacy requests: privacy@mealisa.com
Customer support: support@mealisa.com
2. Information we process and where it is kept
Account and service data. When you register through Apple, Google, or email and password, Firebase Authentication handles the sign-in and assigns a user ID. We may receive your email address and display name from your chosen sign-in method. For email and password registration or sign-in, the email address and password you enter are sent directly by the app to Google Firebase Authentication over an encrypted connection. Firebase Authentication manages the password credentials. Mealisa does not store your password in Firestore, UserDefaults, its own API database, or application logs. The app uses Firebase-issued authentication tokens to access protected services. If you request a password reset, Firebase Authentication processes your email address and sends a password-reset message containing a reset link. We use these operations to provide and protect your account and restore access, not for marketing. Firestore stores the account record, referral and promotional code details, support requests, consent events and states, subscription entitlements, and user-submitted products awaiting moderation. Apple processes your App Store payments; Mealisa does not receive your complete payment card number.
Optional website account and saved articles. You can read published articles and use public website features without creating a website account. If you choose to sign in, the website uses the same Firebase Authentication identity service as the iOS app, but stores website-specific information separately under webProfiles/{uid} in Firestore. Email/password and Google sign-in are offered on the website. The sign-in identifier and, where supplied by the chosen provider, email and display name are processed by Firebase Authentication; Mealisa does not store your password in the website's Firestore records.
The website profile may contain the Firebase user ID, a self-declaration that you are at least 18, the declaration text version, server-recorded time, and profile creation/update timestamps. The website does not request your birth date or an identity document for this confirmation. Saved articles are stored as bookmark records linked to the site's article translation-group identifier, with the saved date and the article's title, URL and available language versions at the time of saving. The current website feature limits saved articles to 200 per account. These records are used for your personal article list, not for advertising or personalized nutrition analysis. The website profile does not itself contain the food diary, health profile, subscriptions or device data from the iOS app.
Website profile and favorites retention. Website bookmark records and the website's age-declaration record are kept while the web profile exists, unless you remove them earlier by deleting the web profile. If you select "Delete website profile" in the website account page, the web profile and its saved-article subcollection are deleted on the server. This does not delete the shared Firebase Authentication sign-in identity or associated iOS app account and data. Ordinary provider backups and mandatory legal retention, where applicable, can have separate retention periods.
Website country preference and optional newsletters. If you create or use a website account, you may optionally choose your country from a list; this is self-reported and can be corrected later. Automatic IP-based country recognition is not currently enabled by this feature. We store the selected country code in the website-only profile for account settings and relevant service administration. You can also separately choose whether to receive optional Mealisa newsletter and product-update emails. The checkbox is off by default, is not required for account creation and may be changed or withdrawn in account settings. This optional marketing preference is processed on the basis of your consent (Article 6(1)(a) GDPR). We record the consent choice, source, version and server-side time to document your preference. No newsletter is sent by this feature until a compliant mailing workflow is separately configured. This information is available to authorized website administrators for account administration and export. The website profile and these preferences are removed by the web-profile deletion action described in this policy, subject to applicable legal retention requirements.
Article discussions and in-site notifications. Verified website account holders who confirmed they are adults can submit comments linked to an article and optionally to a selected quotation. Comments and replies are reviewed before publication. Once approved, the text, quoted passage, article reference, time and a pseudonymous member label are visible to other readers; your email address is not shown. We store an author reference privately to support moderation, replies, account history and deletion. Replies and administrator messages can generate notifications inside your website profile. No comment notification emails are sent by this feature. Basic posting limits are used to reduce abuse. Deleting your website profile removes comments authored through that profile, the associated internal notification history and stored favorites. Replies from other accounts may remain if the author of the earlier comment deletes their profile. Do not post personal or sensitive information in public comments.
Website profile versus full-account deletion. You can remove website bookmarks and the website profile from the website account page after signing in again recently if required. This web-only action does not terminate your common Firebase sign-in identity and does not change iOS data or App Store subscriptions. To request deletion of the whole Mealisa account, including the common sign-in identity and any associated app and web data, contact privacy@mealisa.com. We may verify account ownership and coordinate the deletion across services before carrying out the request. You may also use the app's account-deletion feature as described above; do not assume that app-side deletion alone has deleted your web profile until that cross-service cleanup is confirmed. Privacy requests are handled under the applicable legal deadlines and exceptions.
Information on your device. Your food diary, saved meals and recipes, nutrition history, expenses, preferences, and calculated goals are primarily stored on your device in app storage. Your age, height, weight, activity, goals, and entered allergies are stored there only if you enable the optional nutrition profile consent. App data can be lost when the app is deleted or the device is reset. If you explicitly create an account transfer backup, the selected app data, including your diary, saved recipes, preferences, and (only if you enabled nutrition-profile consent) saved body details and allergies, is uploaded via the Mealisa API to Firestore. One backup is available per signed-in account. Its code is usable only after signing in to the same account on another device. The backup expires after seven days; you can replace it or delete it after restoring it. This feature is optional and is not created automatically.
Products and prices. If you submit a product or price for moderation, Firestore stores the submission with your user ID while it is pending. If approved for the shared catalog, we remove its association with your account and it may remain available to other users. A pending submission is deleted if you delete your account.
Camera and selected images. If you choose a camera
or photo feature, the chosen image is processed to analyze a meal,
product, label, recipe, menu, or ingredients. The app and API may hold
the image temporarily during the request and send it through the Mealisa
server to OpenAI for the feature you selected. Our app.js
does not save these images as permanent files. Your use of the iOS photo
picker does not give Mealisa unrestricted access to your entire photo
library. Images may contain other information visible in the picture;
avoid including people, addresses, or documents that are not needed for
the analysis.
AI prompts and responses. Depending on the function, the request can contain your typed text, selected image, foods, ingredients, budget, preferences, entered allergens, or summary of a food diary. The response can contain estimated nutrition values, recipes, meal plans, or recommendations. Some generated results and your diary may remain saved on your device until you delete them or your account. The API processes prompts and images in memory for the request and does not log full AI prompts or responses in its own PM2 application logs.
Family planning. If you enter details about other people when planning meals, such as family allergies or food preferences, that information can be included in an AI request. Please provide another person's information only when you have an appropriate basis to do so. Avoid entering identifying details about them. Do not enter a child's health information without the authority to make that choice for them.
Support. A support request can contain your user ID, request ID, message, and any information you choose to include. It is stored under your account in Firestore. We send an email notification with the user ID and request ID to our support mailbox so we can find and answer it; please avoid including sensitive information in the subject or free-text message unless needed. When a request is resolved or the account is deleted, our support mailbox deletion process removes the related notification.
Technical data. The API server may record connection and security data such as IP address, time, URL path, response status, image dimensions and processing size, AI token counts, request cost, and error codes. The privacy page may generate ordinary hosting access logs when it is opened. We do not intentionally write the contents of AI prompts, images, or full responses to our Nginx or PM2 logs. Apple, Firebase, Google, OpenAI, and website infrastructure providers may generate their own operational records under their applicable terms.
Optional app analytics. Only after you enable usage analytics in the app, Firebase Analytics receives fixed feature and screen labels, subscription choice and purchase outcome, and technical data such as an app-instance identifier, device information and approximate location derived from network information. We do not include entered meals, diary contents, images, body measurements, allergies, support messages, or the Firebase account ID in our custom analytics events. Google may process analytics data according to its service terms. We use aggregated reports to understand app journeys, improve feature placement and assess subscription conversion; we do not use this analytics stream to target personalized discounts or ads.
Barcode lookup. When you search for a product by barcode, the app may request product information from Open Food Facts. This can disclose the queried barcode and technical connection data to that service. Product information from external catalogs may be incomplete or inaccurate.
3. Why we use the information and our legal bases
For people in the EEA, the following describes our principal purposes and legal bases under the GDPR:
| Purpose | Information | Legal basis |
|---|---|---|
| Provide the account, food diary, requested analysis, recipes, subscriptions, and support | Account details and information you enter or submit for the chosen feature | Article 6(1)(b): necessary to provide the requested service |
| Personalize goals and recipes using body details or your entered food allergies | Age, height, weight, activity, goals, allergies | Article 6(1)(a): consent; where the information reveals health, Article 9(2)(a): explicit consent |
| Give an AI recommendation based on a food diary summary | Summary of selected completed diary days and daily nutrition targets | Article 6(1)(a): separate consent; where this information reveals health, Article 9(2)(a): explicit consent |
| Keep a record of consent and respond to privacy requests | User ID, purpose, action, version and language of consent text, server timestamp | Article 6(1)(c), where necessary to meet accountability obligations; otherwise Article 6(1)(f), our legitimate interest in documenting compliance |
| Measure optional app usage and improve product flows | Fixed app event labels, app-instance identifier and technical device data | Article 6(1)(a): optional consent, withdrawable in the app |
| Protect the service and diagnose failures | Limited technical/security logs | Article 6(1)(f): security and reliable operation, balanced against users' rights |
| Comply with applicable accounting or other legal requirements | Records required by applicable law | Article 6(1)(c): legal obligation |
Providing an email address or other sign-in information is necessary to create an account with the selected sign-in method. Optional nutrition profile and diary AI consents are not required for the other app functions. Entering information into a chosen feature is voluntary, but the feature cannot perform its requested analysis without the relevant input.
Website account and bookmark purposes. For optional web sign-in, age eligibility confirmation, and saving and retrieving your selected articles, we process the minimum account identifier and website records necessary to provide those requested features (Article 6(1)(b) GDPR). Security logs and measures to protect accounts are handled under the security purpose described above (Article 6(1)(f) GDPR). The age confirmation is a self-declaration for eligibility under the 18+ account rules, not health-data consent or a verified age check. Reading public pages does not require an account or an age confirmation.
4. Your consent choices
Usage analytics. It is off by default. You can choose whether to enable it after the nutrition consent step during registration. You can later enable or disable it in Profile → Account & usage → Privacy and analytics. Turning it off stops new Firebase Analytics events and resets the app instance analytics data on this device. Previously received records may remain under the Google Analytics property retention settings; you can contact us to exercise your rights. Analytics is not needed to use Mealisa. Your choice is stored on this device and does not follow you to another device.
Nutrition profile and allergies. If you explicitly agree, Mealisa stores your age, height, weight, activity, goals, and allergies on your device for personalized nutrition targets. When you request personalized recipes or plans, your entered allergens can be sent through the Mealisa API to OpenAI. Age, height, and weight are not sent for that recipe-personalization purpose. If you decline, the app uses standard targets and does not use saved allergy selections for new recipes. You can withdraw in Profile → Account & usage. Withdrawal removes the saved body details, allergies, and related calculated goals from the device; new recipes no longer use those allergies.
AI diary recommendation. This is a separate choice shown when you request a personal recommendation. With consent, a summary of selected completed diary days and your daily targets goes through the Mealisa API to OpenAI. The individual diary entries remain in the app. If you decline or withdraw, the diary still works, but this AI recommendation is unavailable. You can withdraw in Profile → Account & usage; the saved personal recommendation is removed and no new diary summaries should be sent.
When you give or withdraw either consent, the server records your user ID, the purpose, action, text version, language, and a server timestamp. It does not put your actual allergy selections or diary contents into this consent record. A withdrawal takes effect on the current device immediately. If that device is offline, the server record is queued for synchronization and the app blocks further sensitive AI requests until it can synchronize. Another device cannot receive an offline withdrawal until the first device reconnects. Withdrawal does not undo processing already completed. AI output cannot guarantee the absence of allergens: verify ingredients and possible cross-contact yourself.
5. AI provider and other recipients
We use OpenAI API for selected AI features.
Information submitted for a selected task can be processed by OpenAI,
including text and selected images, and may be processed outside the
EEA. The server sends requests to the Responses API with
store: false. This setting disables storage of the response
for later retrieval through that API; it does not eliminate all
provider-side security, abuse-monitoring, or legal retention. According
to OpenAI's API terms, submitted API content is not used to train models
by default unless the customer opts in. We have not enabled EU project
residency for this API project; the project currently uses Global
residency.
Google Firebase provides authentication and
Firestore hosting and, only when enabled by you, app usage analytics. The primary Firestore database is in the European
multi-region eur3. Google Sign-In and
Sign in with Apple are used only when you choose the
corresponding method. Apple handles App Store
subscriptions. Hetzner hosts the Mealisa API in Germany
and the support email infrastructure. Open Food Facts
provides product lookup when you scan or search a barcode. These
providers can receive the information needed for their respective
functions and may use their own subcontractors.
We do not sell personal information or use entered allergies for targeted advertising. The app offers optional Firebase Analytics. It does not include Apple Health/HealthKit integration or notification permissions. We will update this notice before introducing those features.
6. International transfers
Some providers may process personal information outside the EEA, in
particular the OpenAI API project using Global residency and global
authentication or service infrastructure. Where required, transfers are
subject to applicable adequacy decisions or contractual safeguards,
including standard contractual clauses and related measures. You may
request information about the safeguards through the privacy contact
above. Keeping Firestore data in eur3 does not mean every
provider or support activity is confined to that region.
7. How long we keep data
- Local diary, recipes, goals, and expenses: until you delete the relevant information, withdraw consent for applicable profile fields, delete your account, or remove the app; some records you entered yourself remain after a consent withdrawal.
- Account and Firestore user data: while the account exists, subject to the exceptions below. Deleting the account removes the user document and its subcollections, authentication account, pending products, and subscription entitlement document. Approved shared products remain in the catalog without their creator ID.
- Support requests in Firestore: an expiry field and active TTL policy remove them after 12 months. A request can be removed sooner when the account is deleted. Associated mailbox notifications are removed on resolution or account deletion under the support workflow; provider-managed backups, if any, may have different deletion cycles.
- Optional Firebase Analytics: only while enabled; disabling it stops collection and resets analytics data on the device. Previously received records follow the Google Analytics property retention settings, which we review in the Firebase/Google Analytics console. Contact us about access or erasure requests.
- Mealisa Nginx and PM2 logs: rotated daily and configured for 14 days of retention. A provider may maintain separate operational logs under its own policy.
- Consent events and states: stored under the account and removed during recursive account deletion. The text corresponding to an event version is maintained separately in the application/server release records.
- Images sent for analysis: not permanently saved by the Mealisa API code; the provider may keep limited data according to its API terms and settings.
- Purchase and legally required records: kept only for a period required by applicable law or a documented legal need; App Store payment records are held by Apple under its own terms.
Account transfer backup: available for seven days from creation unless you delete it earlier or replace it. Expired codes are rejected immediately; Firestore TTL removes the expired documents asynchronously. Account deletion also removes the backup and its code.
Generation statistics: we record the number and duration of completed AI generations under your account, separated into text and image requests and feature categories. We use these records to display usage and assess service performance; prompts, images, and generated output are not stored in this statistic. The per-account counters are removed with your account. Aggregate counters across the service contain no UID and are kept for service operations.
8. Account deletion and your rights
You can delete your Mealisa account in the app under Profile → Account & usage → Delete account. This removes locally stored account data and calls the server deletion process. Pending user-submitted products and prices are deleted; approved catalog products are disassociated. Existing invitees keep their own accounts and already granted rewards. If deletion fails partway through, contact us to complete the request.
Depending on applicable law, you may request access, correction, erasure, restriction, portability, or object to processing; you may also withdraw consent as described above. Contact privacy@mealisa.com. We may verify your identity before acting. You can complain to the competent data protection authority for your residence, workplace, or the place of an alleged infringement. If you live in Germany, you can also contact the relevant state data protection authority.
9. Security
The API requires a Firebase ID token for account-related routes, and Firestore rules restrict client access to protected records. We use encrypted network connections, server access controls, limited logs, and consent checks for the separate AI diary recommendation endpoint. No security measure can eliminate all risk; please contact us if you believe your account or personal information has been compromised.
10. Children and other people
Mealisa accounts and adult nutrition features are available only to people aged 18 or older. Before using these features, you must confirm that you are at least 18. We store your confirmation, its text version and a server timestamp under your Firebase account ID until account deletion. We use this record to apply the age restriction; it is separate from optional health-data and analytics consent. The confirmation is self-declared and does not verify your identity or date of birth. We do not request identity documents for this check.
Users under 18 may not create or use a Mealisa account, including with parental permission. Family recipe features may include the number of children and shared food preferences; this does not make adult nutrition targets or weight-loss recommendations suitable for children. Provide only necessary information about other people and make sure you are entitled to provide it. Contact us if a child's account or information was provided improperly so we can investigate and remove it where appropriate.
11. Website, analytics and updates
Mealisa.com provides information about Mealisa, nutrition and food-related content, tools, legal information, and links relating to the Mealisa service. Opening the website may generate ordinary technical connection and hosting logs needed to deliver and protect the website.
Optional website analytics. With your consent, mealisa.com uses Google Analytics 4 (GA4), provided by Google, to understand how visitors use the website. This can include information such as pages viewed, sessions, general traffic source, device category, country-level information and technical identifiers used by Google Analytics. We use these reports to understand website usage and improve Mealisa and its content.
Website analytics is optional and is not loaded before you choose “Accept analytics” in the website consent banner. If you reject analytics, the Google Analytics tag is not loaded for that choice. Advertising storage, advertising user data and personalised advertising are not enabled through the current website consent mechanism.
Your website analytics choice is stored in your browser so that Mealisa can remember it. You can change your decision later using “Cookie settings” in the website footer. For more information about these technologies and your choices, see the Cookie Policy.
The website administration area and API routes are excluded from Mealisa's website page-view tracking implementation. Mealisa does not use website analytics to read the contents of your Mealisa food diary, images, body measurements, allergies or support messages.
Google may process analytics information under its applicable service terms and data-processing arrangements. Depending on Google's infrastructure and applicable settings, processing may involve locations outside the EEA and the safeguards described in the international-transfers section of this Privacy Policy.
We may update this notice when the app, website, providers, or legal requirements change. The date at the top identifies this version. Where required, we will provide additional notice or obtain new consent before introducing a materially different purpose.
12. Contact
Asadullin Akhat — Mealisa (Gewerbe), Germany
Business address: Spreeallee 10, 16321 Bernau bei Berlin, Germany
Privacy: privacy@mealisa.com
Support: support@mealisa.com