Privacy Policy
Last updated: 16 July 2026
Macro Recipe (“we”, “the app”) helps you plan meals that match your macros, your budget and your diet. This policy explains what personal data we process, why, for how long, and the rights you have under the EU General Data Protection Regulation (GDPR). We wrote it to be read: short sentences, no filler, nothing hidden.
1. Data controller
The data controller is Mansour Habibou Hamani, sole proprietor (entrepreneur individuel) under French law, SIREN 104386834, with registered office at 2 boulevard Georges Méliès, 94360 Bry-sur-Marne, France.
For anything concerning your personal data, write to support@macro-recipe.com. Privacy requests are handled directly by the controller.
2. Data we collect
Data you provide directly. Account data: your email address, a display name, an optional profile picture, and either a password (stored only as a bcrypt hash — we never see or keep the password itself) or your Apple or Google sign-in identifier if you use social login.
Profile data you enter during onboarding or in settings: age, sex, weight, height, country and optionally your city, preferred measurement system, language and timezone. These feed the macro calculation and menu generation — nothing else.
Food data: your goal, your dietary preferences and exclusions (for example vegetarian or halal, or specific foods you avoid), your allergies, your grocery budget and your macro targets.
Content you create in the app: generated menus and recipes, meals you log, your pantry, your grocery lists, and — only if you opt in — grocery prices you choose to share with the community.
Some of this data is sensitive by nature. A dietary preference such as halal or kosher can indirectly reveal a religious belief, and an allergy can reveal health information (Article 9 GDPR). We process these fields only with your explicit consent, which you give by filling them in. They are used solely to filter and personalise your menus, they are never shared with anyone, and you can change or clear them at any time.
Our database schema also contains optional profile fields (such as occupation or religion) that the app does not currently ask for. If the interface never requests a field, we do not collect it: it simply stays empty.
Data collected automatically. Server logs: the IP address and technical request information (user-agent) of calls to our API, kept for security and abuse prevention.
Push notifications: an anonymised Expo push token, only if you enable notifications, plus a log of the notifications we sent you.
AI usage metadata: when menu generation runs, we record technical metadata about the call (timestamps, volumes, model used) linked to your account on our own servers, to enforce quotas and audit costs. This metadata never enters the prompt sent to the model — see section 5.
Security tokens: short-lived session, password-reset and email-verification tokens.
Data we do not collect. No third-party analytics (no Google Analytics, no Mixpanel, no PostHog — neither in the app nor on our servers), no advertising, no tracking across other apps or websites, no precise location, and never your card or bank details: payment runs entirely through Apple's App Store and Google Play, not through us.
3. Purposes and legal bases (Article 6 GDPR)
Performance of the contract (Article 6(1)(b)): creating and managing your account, generating your menus and recipes, computing macros and budgets, managing your subscription, sending service notifications and answering support requests.
Legitimate interest (Article 6(1)(f)): keeping the service secure — server logs, rate limiting, anti-abuse checks on free trials and quotas, and error monitoring so we can fix bugs.
Consent (Article 6(1)(a)): sharing grocery prices with the community (an opt-in you can withdraw at any time) and any optional profile field you choose to fill in.
Explicit consent (Article 9(2)(a)): dietary preferences and allergies that may indirectly reveal a religious belief or health information, as described in section 2.
Legal obligation (Article 6(1)(c)): keeping billing records for 10 years under Article L123-22 of the French Commercial Code.
4. Data retention
Your account data and the content you create are kept for as long as your account exists.
You can delete your account at any time from the app (Settings → Privacy). The account is deactivated immediately, and all of your data is then permanently and automatically erased after a 30-day grace period.
Security tokens are short-lived: password-reset links are valid for 1 hour, email-verification links for 24 hours, and sessions for 7 days before they must be renewed.
Server logs are kept for the time strictly necessary for security and abuse prevention.
Billing records are kept for 10 years, as French commercial law requires.
5. Artificial intelligence
Macro Recipe uses large language models to generate and adapt menus and recipes. Here is exactly what that means for your data.
Menus are generated from anonymous nutritional targets and culinary constraints. What we send to the model provider is: the dish (name, cuisine, origin, ingredients, steps), your per-serving nutrition targets (calories, protein, carbohydrates, fat), the number of servings, and your constraints — allergies, diets, budget per serving, substitutions, foods to avoid, spices, cooking methods, equipment, and an optional free-text craving limited to 280 characters and sanitised before sending.
Your identity (name, email address, account identifier) is never transmitted to our model providers — and neither are your age, sex or weight. The provider cannot link a request to a person; it does not know who you are.
Our model providers are bound by contract — professional APIs with data processing agreements — not to use these requests to train their models.
To be precise: we do not claim that nothing is sent to AI providers. Your dietary constraints do travel to them, anonymously. But nothing that identifies you ever does.
6. Processors and international transfers
We use a small number of carefully chosen processors. Each one receives only what its job requires.
Hetzner Online GmbH (Germany) hosts our servers and database. All hosting takes place in the European Union; nothing leaves the EU at this layer.
Resend (USA) delivers our transactional emails — account verification, password reset, data-export links. It receives your email address, your name and the signed links contained in the message. Transfers are covered by Standard Contractual Clauses and a data processing agreement.
RevenueCat, Inc. (USA) manages subscription entitlements. It receives your purchase and entitlement status and an app-scoped identifier — never your payment details. Transfers are covered by Standard Contractual Clauses and a data processing agreement.
Apple and Google (Ireland and USA) process in-app payments through the App Store and Google Play — the only payment channels Macro Recipe uses. Your payment details stay with them; we only learn whether the purchase succeeded. Transfers are covered by Standard Contractual Clauses and data processing agreements.
Anthropic, PBC (USA) provides the language model that generates menus and recipes. As described in section 5, it receives anonymous culinary data only — never your identity. We use its professional API under Standard Contractual Clauses and a data processing agreement that excludes training on our requests.
OpenAI (USA) computes embeddings of the dishes in our catalogue (the text-embedding-3-small model), used to search and match dishes. This concerns catalogue data only: no user data is ever sent to OpenAI. Transfers are covered by Standard Contractual Clauses and a data processing agreement.
Sentry (Functional Software, Inc., USA) collects error reports from our backend so we can fix bugs. An error report may include the account identifier or email address of the account affected by the error. Transfers are covered by Standard Contractual Clauses and a data processing agreement.
Expo (USA) delivers push notifications using an anonymised push token. Transfers are covered by Standard Contractual Clauses.
Open Food Facts is an open-data source (ODbL licence) we use for nutrition and price data. It is not a processor: we read from it, and it receives nothing about you.
All transfers outside the European Union are governed by the European Commission's Standard Contractual Clauses (Decision (EU) 2021/914).
7. Cookies and local storage
The mobile app uses no cookies.
The macro-recipe.com website is a static site: no cookies, no trackers, no analytics scripts. That is why you see no cookie banner — there is nothing to consent to.
8. Minors
Macro Recipe is intended for users aged 16 and over. We do not knowingly collect data from anyone younger. If you believe a child under 16 has created an account, contact us at support@macro-recipe.com and we will delete it.
9. Your rights
Under the GDPR you have the right of access (Article 15), rectification (Article 16), erasure (Article 17), restriction of processing (Article 18), data portability (Article 20) and objection (Article 21), plus the right to withdraw any consent at any time without affecting past processing.
The two most common requests are built into the app. From Settings → Privacy you can export all your data (we prepare the archive and email you a signed download link) or permanently delete your account, as described in section 4.
For everything else, write to support@macro-recipe.com. We respond within one month, as the GDPR requires.
If you believe your rights are not respected, you can lodge a complaint with the CNIL, the French supervisory authority: 3 place de Fontenoy, TSA 80715, 75334 Paris Cedex 07, France — www.cnil.fr.
10. Security
All traffic between the app and our servers is encrypted in transit (HTTPS/TLS). Passwords are hashed with bcrypt and are never stored or logged in clear text.
Sessions rely on short-lived access tokens with rotating refresh tokens. Password-reset and verification links are single-purpose and expire quickly (see section 4). Our API applies rate limiting to prevent abuse.
In the event of a personal data breach likely to result in a risk to your rights, we will notify the CNIL within 72 hours and inform you directly if the risk is high, as Articles 33 and 34 GDPR require.
11. Contact
For any question about this policy or your personal data: support@macro-recipe.com. The controller identified in section 1 answers privacy requests personally.
12. Changes to this policy
We may update this policy as the product or the law evolves. The date at the top always reflects the current version. If a change materially affects how your data is processed, we will inform you in the app or by email at least 30 days before it takes effect.