easyMenu

easyMenu Privacy Policy

Last updated: October 17, 2026

1. Who is responsible

Juan Francisco Jiménez Martín (trading as juanfrandevs), an independent developer in Spain. Tax ID (NIF) 74929807Q. Address: Avda. Hernán Núñez de Toledo 12, 29018 Málaga (Spain).

For anything about your data, to exercise your rights or to complain: juanfrandevs@gmail.com, in English or Spanish. It is also the point of contact for authorities and users under the EU Digital Services Act.

There is no data protection officer: the controller handles everything himself. For some countries he also has a specific role (§13).

2. The essentials

  • The app works without signing up: when you open it, an account with no name or email is created, identified by a random code.
  • Your allergies and your body data are health data: they are only stored on our servers if you agree, each one separately, and you can withdraw it with one tap.
  • Usage analytics is optional too: nothing is sent until you accept it.
  • There are no ads, we don't sell or share data and we don't track you across apps.
  • You can delete your account and your data from the app, instantly (the little that is kept, and for how long, is in §8).

3. What data we process

DataWhat it isRequired?Where it is kept
Account without sign-upA random identifier and the technical data of the sessionYes: without it the app can't keep your menusYour phone (the system's secure storage) and our servers
RegionCountry, language and unit systemYes (taken from your phone; changed in Profile)Phone and servers
Your householdHow many adults and children eat and their portion size. No names or agesYes, to work out portionsPhone and servers
Allergies and restrictions (health data, sensitive)Allergens, "gluten-free", "lactose-free" and ingredients nobody at home can eat. They are household rules: they don't say whose they areNo. Without them the menu doesn't take them into account. If you mark them, they always apply; keeping them on the servers is a separate choiceAlways on your phone. On the servers, only with your consent
Body data (health data, sensitive)Year of birth, sex for the formula, height, weight, activity level, goal, and the resulting calories and proteinNo. Without it there is no personal goal and menus use standard portionsOnly if you turn on "My goal", which asks for your consent: phone and servers
PreferencesCooking style, time to cook, budget, batch day, meals and equipmentNo (there are defaults)Phone and servers
Menus and shoppingYour weeks, their dishes, the shopping list (including what you type in yourself), your pantry, your favorites and the recipes you don't want to seeYou create them by using the appPhone and servers
ConsentsWhat you accepted or declined, with which version of the text, that text's fingerprint and when (the phone's time and our server's, in UTC); and when you withdrew it. The allergies and body data ones are signed electronically («I agree and sign electronically») and you can see the signed text again in Profile → PrivacyYes, to be able to prove itPhone and servers
ReportsWhat you send us with "Report a problem": the reason, what it is about and the text you write. Reports of a wrongly marked allergen are kept without linking them to your accountNoServers
Device codeA code derived, irreversibly, from an identifier of the phone (on Android) or from a random one the app keeps in the Keychain (on iOS), so that the free week is one per device. The same phone gives the same code, so it is pseudonymous data. The app says so next to the «Get started» button, and we keep with your free week when you tapped itYes, if you use the free weekServers
AI usageHow many requests you make, their result and their cost. Not their contentOnly if you use the AIServers
Technical dataIP address and request logs; the IP of each open sessionYes (any connection creates them)Our provider's servers
  • If you link an account (Google or Apple, to use the app on another device or to pay): that account's email and the identifier Google or Apple gives us. With Google your name and the link to your profile picture come too, because Google includes them in the sign-in: they are kept with the account, but the app doesn't use or show them. With Apple we also keep a code that only serves to withdraw your authorization from Apple when you delete the account. Signing out on a phone deletes nothing: your data stays in your account and comes back when you sign in again.
  • If you subscribe: which plan you have, in which store, since when, until when, whether it renews and as which plan, plus the purchase identifier the store gives us to check it. On the yearly plan, also when we emailed you about the renewal and whether the email went out. The store takes the payment: we never see your card or payment details.
  • If you withdraw from the subscription (with "Withdraw from contract here" or by writing to us): your name, the email you give us for the acknowledgement, the contract (plan, store, start date and purchase identifier), the date and time you sent it, and whether the refund has been made and the acknowledgement sent.

Google Firebase services the app uses:

  • Usage analytics (Google Analytics for Firebase), only if you accept it. It is a separate choice, made on each phone (accepting it on one doesn't turn it on on your other devices), that you can change in Profile → Privacy and consent; nothing is sent until you accept it. It collects the app's installation identifier, the phone model, the system and app versions, the language, the approximate location (city or region, inferred from the connection) and:
    • the events Firebase records on its own: first open, start of a usage session, time of use, screens viewed and app updates;
    • and ours: that you finished the initial setup, created a week, opened the shopping list or the batch session, finished the batch, changed a setting (which one, not its value), swapped a dish (the reason, picked from a list, the position of the alternative you chose, how many you saw and whether it was the fastest or the cheapest), that a recipe was placed in your week, that you marked a recipe as "Don't suggest again", sent a report, linked an account, saw the plans screen and bought (the plan, its price and its currency).
  • Crash reports (Firebase Crashlytics), only if you accept them. They are asked about together with analytics and have their own switch in Profile → Privacy and consent; it is also a choice for each phone, and nothing is sent until you accept it (if you decline or withdraw it, any reports not yet sent are deleted). When the app crashes, or when an operation hits an error that doesn't close it: the point in the program where it happened, the phone model, the system and app versions and the installation identifier.

To turn the AI off if needed we don't use Firebase: our server decides it when it gets the request, with no new data.

Your allergies, your restrictions, your body data, your goal, what you type and which dishes or ingredients are in your menus never go to Firebase. We don't use the phone's advertising identifier.

What we don't collect: your name or your email unless you link an account, your precise location, your contacts, or the photos and files on your phone.

4. Health data

Allergies and body data are health data (GDPR, art. 9; "sensitive data" in other countries). We process them only with your explicit consent, asked separately for each, in the same step in which you save them, with a text that says what is kept, why and how to withdraw it. You don't have to give or authorize them: the app works without them.

  • Without the allergies consent, your restrictions still apply to your menus, but they stay on your phone: neither they nor the settings that name them leave the device. The server does keep the dishes of your menus (which already respect them) and, if a slot was left free, only that it was because of your rules, without saying which. Reports of a wrongly marked allergen in a recipe always arrive without being linked to your account.
  • Without the body data consent, there is no personal goal: menus use standard portions.
  • Withdrawing them takes one tap in Profile → Privacy and consent. Withdrawing a consent doesn't make unlawful what was done with it before. Withdrawing the allergies one deletes them from the servers and keeps them on your phone (so your menus stay safe). Withdrawing the body data one deletes it from your phone and the servers, together with the goal your menus used, and portions go back to standard.
  • People at home: the allergies of the people who eat with you are kept as household rules, without saying whose they are or asking for any other data about them. To keep them on our servers, the consent includes your statement: if any belongs to someone under 14, you agree as their mother, father or guardian; if it belongs to someone 14 or older, they've told you they agree and you've shown them this information. If you can't confirm it, they stay on your phone only, and the menus are just as safe. From the app you can send them a link to this policy.
  • If you are one of those people and don't use the app: what is kept are rules like «gluten-free» or «no eggs», without your name. You can ask whoever uses it to remove them or to withdraw the consent in Profile → Privacy (they're deleted from our servers at once), or write to us at juanfrandevs@gmail.com: since we don't know whose each rule is, we'll ask you for what we need to find the account.
  • "My goal" is profiling (GDPR, art. 4.4): with your body data the app works out your calories and protein and adjusts portions. It does so on your phone, with public formulas, and it has no legal effect on you and doesn't significantly affect you: you can change or remove it whenever you like.
  • Health data is not used for advertising and doesn't go to Firebase analytics; it isn't sold or shared with third parties, and it isn't included in the phone's backups. Allergies kept with your consent are also counted, aggregated and anonymously, to improve the catalog (§5).
  • If you live in the US: please also read our Consumer Health Data Privacy Policy.

5. What we use it for, and on what basis

PurposeLegal basis (GDPR)
Making your menus, your shopping list and your batch session, and keeping them across devicesPerformance of the service you ask for (art. 6.1.b)
Linking your Google or Apple account and signing in to itPerformance of the service (art. 6.1.b)
Checking your subscription with the store and giving you accessPerformance of the contract (art. 6.1.b)
Receiving your withdrawal, sending you the acknowledgement, refunding what you paid and being able to prove itLegal obligation (art. 6.1.c; arts. 102 to 108 of the Spanish consumer law, TRLGDCU)
Emailing you, at your account's address, before the yearly plan renewsLegal obligation (art. 6.1.c; art. 97.1.p of the Spanish consumer law, TRLGDCU)
Keeping allergies and body data on the servers, and working out your goalYour explicit consent (arts. 6.1.a and 9.2.a)
Splitting the batch ingredients by step with AIYour consent (art. 6.1.a)
Usage analyticsYour consent (art. 6.1.a and art. 22.2 of the Spanish LSSI)
Crash reportsYour consent (art. 6.1.a and art. 22.2 of the Spanish LSSI)
One free week per device and limits on AI requestsLegitimate interest in preventing abuse of the free service (art. 6.1.f)
Handling your reports, especially allergen onesLegitimate interest in the safety of the catalog (art. 6.1.f)
Aggregated, anonymous statistics to improve the catalog: which recipes are placed in weeks most, which cooking styles and household sizes are most commonLegitimate interest in improving the service (art. 6.1.f). A group of fewer than 10 accounts is never published or used
The same statistics on allergies and restrictions (which allergens are marked most), to have more recipes that respect themYour explicit allergies consent (art. 9.2.a), which says so. Only those of people who accepted it are counted
Keeping proof of your consentsLegal obligation to be able to prove them (arts. 6.1.c and 7.1)
Handling your rights and complaintsLegal obligation (art. 6.1.c)

Where the basis is legitimate interest, you can object (§10).

We don't make automated decisions with legal effects on you. The calorie calculator is an estimate for guidance, not medical advice.

6. Artificial intelligence

  • Menus are not made by an AI: they come from a recipe catalog and an algorithm that runs on your phone.
  • Recipe photos are AI-generated; we say so under each photo and you can report them.
  • Recipe texts are written with the help of AI from reliable cooking sources, and a person reviews them before they are published; the app says so.
  • In the batch session, if you agree, an external AI service says which ingredients each step uses. We only send it your week's recipes as they are in our catalog (titles, steps and ingredients). It does not receive your identifier, your allergies, your household or your body data, and what it returns is checked on our servers before you see it.
  • The provider is OpenAI (US). If it doesn't answer, we fall back to DeepSeek (China) or Gemini (Google). None of them receives personal data.

7. Who it is shared with

We don't sell or share your data, or use it for targeted advertising. These providers process it on our behalf, as processors and under contract:

ProviderWhat forWhere, and with what safeguard
Supabase, Inc. (US)Database, accounts and the app's serversThe data is kept in the European Union (Ireland). Its support staff and some of its sub-processors may access it from the US or Singapore, under the European Commission's standard contractual clauses (and their addenda for the UK and Switzerland)
Brevo (Sendinblue SAS, France)Sending the app's emails: the acknowledgement of your withdrawal and the yearly plan's renewal noticeEuropean Union
Google Ireland Limited and Google LLC (US), with FirebaseAnalytics and crash reports (if you accept them)EU and US. For the US, the EU-US Data Privacy Framework (and its UK extension) and the standard contractual clauses
  • The AI providers (OpenAI and, as fallback, DeepSeek and Google Gemini) only receive catalog recipes, nothing about you: they process no personal data of ours and there is no transfer of it.
  • Apple and Google (App Store and Google Play) distribute the app and charge subscriptions as controllers in their own right, under their own policies. If you link an account, they give us your email and an identifier (Google also gives your name and a link to your photo; Apple may give you a hidden email). During sign-in, Google and Apple may process other data on their own account, such as your phone number or approximate location, under their policies. We send them nothing about your menus.
  • You can ask us for a copy of the safeguards of any transfer by writing to juanfrandevs@gmail.com.
  • Authorities: we only give them data when a law or a court order requires it.
  • If the app changes hands (if it is sold, for instance), your data would pass to the new owner under this same policy, and we would tell you in the app beforehand so you can delete your account if you prefer.

8. How long we keep it

DataPeriod
Your account and everything in itAs long as you have it. When you delete it, it is gone from our database instantly, and from our provider's backups, which overwrite themselves, within 30 days
Accounts without sign-up that are not usedDeleted automatically after 12 months without activity
ConsentsAs long as you have the account; deleted with it
ReportsAs long as you have the account; deleted with it. Allergen reports, which are not linked to any account, 24 months
Renewal notices (which subscription and when we told you)13 months from the renewal they were about, also if you delete the account (no longer linked to it), to be able to prove we told you
WithdrawalsBlocked (art. 32 of the Spanish data protection law, LOPDGDD) for 5 years from when you sent it, even if you delete the account, only to be able to prove it if there is a claim (art. 1964.2 of the Spanish Civil Code); then deleted
Device codeAs long as you have the account. If you delete it, it is kept until 24 months have passed since you used the free week (so it isn't given twice) and then deleted
Usage analytics (Firebase)Event-level data, 14 months; after that only aggregated reports remain, with no identifier
Crash reports (Crashlytics)90 days
Cost of AI requestsNo limit, but with no identifier at all: once the account is deleted it can't be linked to you
Technical logs (IP address and requests)Kept by our server provider and deleted automatically within 7 days
IP of each sessionKept by the account system while the session stays open, for the account's security; deleted when you sign out or delete the account (accounts without sign-up and without use, after 12 months)

9. How we protect it

  • Communications are encrypted (HTTPS).
  • On the servers, each person can only read and write their own rows (row-level security), checked with automated tests.
  • The session is kept in the system's secure storage (Keystore on Android, Keychain on iOS).
  • The app's data on your phone is not included in cloud backups.
  • If there were a security breach affecting your data, we would report it to the competent authority and, where the law requires it or there is a risk to you, to you too.

10. Your rights

You can access your data (and find out who it has been shared with), correct it, delete it, restrict its processing, ask for its portability, object to what is based on legitimate interest and withdraw your consents at any time. Each country names them its own way (§13).

  • Delete the account and all data: in the app, Profile → "Delete my account and data". It is immediate. Also by email (if you linked an account). More information: juanfrandevs.com/menu-semanal/delete-account.
  • Withdraw a consent or turn analytics off: Profile → Privacy and consent.
  • Object to the device code: write to us and we stop processing it for your account unless there are compelling legitimate grounds (keeping the free week from being repeated, for instance).
  • Anything else: write to juanfrandevs@gmail.com. As the account has no name or email, we may ask you to do it from the app (Profile → "Report a problem") so we can tell which one is yours.
  • Deadline: we answer within one month at most (or the shorter period your country's law sets, §13), free of charge.
  • If you disagree with our answer, you can ask us to review it by replying to that email: we do so within 45 days at most and tell you why. You can always complain to the data protection authority: in Spain, the Agencia Española de Protección de Datos (aepd.es), or the one of your country of residence (§13).

Deleting the account doesn't cancel a subscription: it is cancelled in the store (App Store or Google Play).

11. Minors

The app is for adults: you must be at least 18 to use it. Children only count as smaller portions: we don't ask for data about them, except the household allergies you mark (§4), and it is not a children's meal plan. If we learn that an account belongs to a minor, we delete it.

12. Changes to this policy

If we change something important, we will tell you in the app before it applies. We always keep which version of each consent you accepted. If a consent changes to add a purpose, that purpose only applies to whoever accepts the new text; what you had already accepted stays valid for what it covered.

13. If you live in…

Everything above applies to everyone. In addition, depending on where you live:

  • European Union, European Economic Area and Switzerland: the GDPR applies (and Swiss law). You can complain to your country's authority (in Spain, the AEPD).
  • United Kingdom: the UK GDPR applies. Your data is processed in the European Economic Area, which the UK recognizes as adequate, and in the US under the UK extension of the Data Privacy Framework. You can complain to us (we acknowledge it within 30 days at most) and to the Information Commission (ico.org.uk), which replaced the Information Commissioner's Office on 30 September 2026.
  • United States: we don't sell or "share" personal data or do targeted advertising. Your allergies and your body data are "consumer health data": read our Consumer Health Data Privacy Policy. We answer your requests within 45 days at most (extendable once, with notice). If we deny them, you can appeal by replying to our email; we decide the appeal within 45 days at most (60 in Connecticut) and, if we deny it, we give you the contact of your state's Attorney General.
  • Canada: your data is processed outside Canada (EU and US) and may be subject to the laws of those countries. The person responsible for the protection of personal information is Juan Francisco Jiménez Martín (juanfrandevs@gmail.com). You can complain to the Office of the Privacy Commissioner of Canada (priv.gc.ca) and, in Quebec, to the Commission d'accès à l'information (cai.gouv.qc.ca).
  • Brazil: the LGPD applies. Your rights (art. 18): confirmation that we process your data, access, correction, anonymization, blocking or deletion of unnecessary data, portability, deletion of data processed with your consent, information about who we share it with and about the possibility of not giving consent and its consequences, and revocation of consent. We answer full access requests within 15 days at most. Our communication channel with data subjects and with the authority is juanfrandevs@gmail.com. You can complain to the Agência Nacional de Proteção de Dados (gov.br/anpd). There is a summary of this policy in Portuguese.
  • Mexico: you have the rights of access, rectification, cancellation and opposition ("ARCO rights") and you can revoke your consent or limit the use of your data by writing to us or from the app. We answer within 20 business days at most and, where appropriate, put it into effect within the following 15 business days. Changes to this policy are announced in the app. You can turn to the Secretaría Anticorrupción y Buen Gobierno, the personal data protection authority.
  • Argentina: we answer access requests within 10 calendar days at most and correction or deletion requests within 5 business days. "LA AGENCIA DE ACCESO A LA INFORMACIÓN PÚBLICA, en su carácter de Órgano de Control de la Ley N° 25.326, tiene la atribución de atender las denuncias y reclamos que interpongan quienes resulten afectados en sus derechos por incumplimiento de las normas vigentes en materia de protección de datos personales."
  • Colombia: you have the right to know, update, correct and delete your data and to revoke the authorization. We answer queries within 10 business days at most and claims within 15 business days; the controller handles them himself (juanfrandevs@gmail.com). You can complain to the Superintendencia de Industria y Comercio (sic.gov.co).
  • Peru: representative for Peruvian territory: Juan Francisco Jiménez Martín, juanfrandevs@gmail.com. We answer information requests within 8 days at most, access requests within 20 days and the other rights within 10 days. You can complain to the Autoridad Nacional de Protección de Datos Personales (gob.pe/anpd).

juanfrandevs · juanfrandevs@gmail.com

PrivacyTerms of useDelete your accountConsumer Health Data Privacy PolicyEspañol