Privacy policy
In short. We only store what is needed to make the app work: your account, your profile and what you log. Your data is stored in the EU, other users cannot access it (except friends you add yourself: they only see your name and your weekly score), we sell nothing and show no ads. You can export or permanently delete everything at any time.
Who is responsible?
MacroMatrix is run by DivineNet. For any question about your data, email privacy@macromatrix.eu.
What data do we store?
| Data | Why |
|---|---|
| Email address and password (stored encrypted, we cannot read it) | Logging in, confirming your email address and choosing a new password |
| Profile: sex, year of birth, height, weight, activity, goal and preferences | Calculating your personal targets |
| Allergies you choose to enter (you may leave this empty) | Warning you when a product contains something you are allergic to, and not suggesting such products |
| Your scanned products: barcode, product name and time (the last 100), and how many different products you have ever scanned. The product details of your last 200 scans are also kept on your device only, so scanning works offline | Showing your scan history, scanning without internet and keeping track of the scanner badge |
| Diary: what and how much you ate, time, notes, recipes, your own products and your supplements | Showing your day, your trends and your history |
| Measurements: weight, blood pressure, glucose and other measurements you enter yourself, exercise and fasting | Showing your progress and estimating your energy use |
| Only if you use the friends feature: a name of your choice, your profile photo or avatar, your level, your chosen title and your showcase badges, your friend code, your friends, your battles and, per week, your average Nutrient Score (0–100) with the number of days logged and your battle points | Adding friends and showing each other's weekly score |
| Only if you block or report someone: who you blocked and when, and for a report: who you reported, the reason you chose, your optional note (at most 500 characters), the time, and that person's name and profile photo or avatar at that moment | Keeping blocked people away from you, and handling abuse |
| Only if you log with a photo: a counter of how many photos you used per day (one number per day, kept for at most a week). No photos and no description of your meal are stored | Giving everyone 3 free photos per day, and limiting Pro to a fair 50 per day |
| Only if you scan a label or import a recipe: a counter per kind of how many times you did that per day (one number per day, kept for at most a week). No photos, links or recipes are stored | Giving everyone 1 free label scan per day, limiting Pro to a fair 30 label scans and 20 recipe imports per day |
| Only if you have Pro: until when it runs, where it came from (for example a gift or a store), whether friends may see your Supporter badge and the avatar frame you chose | Turning on the Pro extras on all your devices |
| Only if you subscribe through Google Play: the purchase token Google Play gives for your subscription, which product it is (monthly or yearly) and until when it is paid, linked to your account | Checking your subscription with Google Play, keeping Pro on while you pay (renewals, cancellations and refunds), and making sure one subscription belongs to one account |
| Only if you vote on the roadmap ("What's next"): which items you voted on and when | Showing how many supporters want each item, and limiting everyone to 3 votes |
| The moment you accepted the terms and this policy | Showing that you gave consent |
Some of this is health data. We only process it because you explicitly consent to it when you create your account (Article 9(2)(a) GDPR), and only to make the app work for you. You can withdraw that consent at any time by deleting your account.
Friends
The friends feature is off until you open it yourself. After that, people you accept (or people you add who accept you) can see your name, your profile photo or avatar, your level, your title, your showcase badges and your average Nutrient Score per week, plus the number of days you logged that week. If you start a battle, your opponent also sees your battle points for that week (the sum of your daily scores). A photo is resized to 192 by 192 pixels before it leaves your device. If you have Pro, they also see a Supporter badge next to your name and the avatar frame you chose (also people in your battles and challenges), unless you turn the badge off on the Pro screen. They never see your email address, your diary, your weight or any other data. You can remove a friend at any time; from then on they see nothing.
You can also block someone. You are then no longer friends, open battles and challenge invites between you disappear, and neither of you can send the other a friend request until you unblock them. They are not told that you blocked them. If someone misbehaves (for example spam, harassment or an inappropriate name or photo), you can report them. We store the report, with the reason, your optional note and the name and photo or avatar they had at that moment, so we can review it and act on it, for example by removing their name or photo or closing their account. The person you report does not see who reported them, and other users cannot see reports. You can send at most 10 reports per day.
Logging with a photo
If you take or choose a photo of your meal in "Quick log", the app first makes it smaller on your device (at most 1024 pixels) and sends it, with your login, to our server on Cloudflare. There an image model (Cloudflare Workers AI) describes the food it sees, and only that text comes back to the app; you check everything before it is added. The photo is not stored. To share the cost of the image model fairly, we count per account how many photos you used that day (UTC): 3 per day are free, and with Pro up to 50. Only that number is stored, in our database in the EU, and old days are removed after a week.
Scanning a label
If a barcode is not found, you can take a photo of the nutrition table (and, if you like, of the front of the pack). The app makes the photos smaller on your device and sends them, with your login, to our server on Cloudflare. There an image model (Cloudflare Workers AI) reads the values, and only those values come back to fill in the form for your own product; you check everything before you save it. The photos are not stored. The product is saved as your own product in your account, like any product you enter yourself. We count per account how many labels you scanned that day (UTC): 1 per day is free, and with Pro up to 30. Only that number is stored.
Sharing a product with Open Food Facts (optional)
After you save a scanned product, the app asks whether you want to share it with Open Food Facts, a free public food database, so others can find it too. Only if you tap Share, our server sends Open Food Facts the barcode, the product name, the brand, the nutrition values per 100 g and your photo of the label (and of the front, if you added one), using the MacroMatrix account at Open Food Facts. Nothing about you is sent: not your name, email address or account. What you share becomes public and is published by Open Food Facts under the Open Database Licence (ODbL), with the photos under Creative Commons BY-SA; it can be edited by others and cannot be withdrawn through us. If you tap No, nothing is sent.
Importing a recipe (Pro)
With Pro you can import a recipe from a link or from a photo of a cookbook page. For a link, our server on Cloudflare fetches that web page itself (the website sees our server, not you) and reads the recipe from it; if the page has no structured recipe, an AI model (Cloudflare Workers AI) reads the text of the page. A photo is made smaller on your device, sent with your login and read by the image model. Only the recipe name, the number of servings and the ingredient lines come back to the app, and you check everything before the recipe is saved. The link, the page and the photo are not stored. We count per account how many recipes you imported that day (up to 20 with Pro); only that number is stored.
Weekly coach
In the weekly report you can ask for a short summary of your week with a few tips. The app then sends a small summary of numbers, with your login, to our server on Cloudflare: how many days you logged, your averages against your goals (energy, protein, carbs, fat, fibre and your Nutrient Score), the nutrients furthest below target or above a safe upper limit, your weight trend, whether you want to lose, keep or gain weight, the five foods that gave you the most energy (general names only, no brands; your own products and recipes without their name), your language, your diet choices and allergies as short codes, a few general foods with a usual portion that would fill your biggest gaps (chosen by the app from its own food table, with your preferences and allergies taken into account), and, if the coach wrote for you the week before, last week's tips with how those nutrients changed since (as a share of your goal). No diary entries, no notes, no names. A text model (Cloudflare Workers AI) writes the summary, which comes back to the app and is kept only on your device. Our server stores neither the numbers nor the text. We count per account how many summaries you asked for that day (UTC); only that number is stored.
Pro
MacroMatrix is free; Pro is an optional subscription for supporters, with more photo and label scans per day and a few extras. For Pro we store until when it runs, where it came from, whether your Supporter badge is shown to friends and which avatar frame you chose.
On Android you can subscribe through Google Play. Google Play handles the payment itself, under its own privacy policy; we never see your card details, name or address from Google. We receive and store the purchase token of your subscription, which product it is (monthly or yearly) and until when it is paid, linked to your account. Our server uses the token to check your subscription with Google Play, also when Google tells us it was renewed, cancelled or refunded. So that Google can check that a purchase belongs to your account, the app sends Google a scrambled code made from your account ID (not your email address). The purchase data is deleted together with your account; your purchase history at Google stays with Google. Cancel a subscription in the Play Store (Payments and subscriptions); deleting your account does not cancel it.
With Pro you can vote on the roadmap in "What's next" (at most 3 votes at a time). Your votes are stored linked to your account, so you can see and take back your own votes, and they are deleted together with your account. Other users only see how many votes an item has, never who voted. If your Pro ends, your votes stay stored but no longer count. Which new features are in early access for you follows from your Pro status; nothing extra is stored for that.
Health Connect (Android)
Only if you turn it on in the settings, MacroMatrix reads your steps, workouts (with the energy burned and distance), weight and, if a smart scale provides them, body fat, lean body mass and body water from Health Connect on your phone, for the last 7 days. They become measurements and exercise in your diary, just as if you had entered them yourself, and are stored and synced like the rest of your data. MacroMatrix never writes to Health Connect and does not use this data for anything else: it is never sold, shared with others or used for advertising. You can turn it off at any time in the settings or in Health Connect.
Battle notifications (Android)
To notify you when a friend challenges you, your phone gets a random device code. About every 15 minutes, your phone uses that code to ask our database whether there are new challenges for you; the answer only contains the challenger's name. The code is removed when you log out or delete your account.
Voice, reminders and the widget
If you use "Quick log" with your voice, the speech recognition of your device or browser (on Android usually Google's) turns your words into text. MacroMatrix only receives that text and does not store any audio. On phones without their own speech recognition (for example GrapheneOS), the app records up to 15 seconds itself and sends that recording, only when you tap the microphone, to our server on Cloudflare, where Whisper (Cloudflare Workers AI) turns it into text. Only the text comes back; the recording is not stored. Reminders are scheduled on your device itself; nothing is sent to our server for that. The home screen widget only shows data that is already on your phone.
What we do not do
- We do not sell or rent out your data.
- We do not show ads and do not use your data for marketing.
- We do not use tracking cookies or analytics on the website or in the app.
- We do not make decisions about you based on automated profiling.
Where is your data?
| Service | What | Where |
|---|---|---|
| Supabase | Account, database and sync | Ireland (EU) |
| Brevo | Sending the emails with your code | France (EU) |
| Cloudflare | Hosting the website and the web version of the app; passing on barcode lookups to USDA; reading meal photos, label photos, recipe pages and recipe photos, and writing the weekly coach summary, with Workers AI (not stored). Cloudflare does not store your account data | Worldwide network, company in the US (EU standard contractual clauses) |
| Open Food Facts | Searching branded products: only your search term or barcode, without your account. Only if you choose to share a scanned product: the barcode, name, brand, nutrition values and label photo, without your account (published openly under the ODbL) | France (EU) |
| Google Play | Only if you subscribe to Pro on Android: Google Play handles the payment as an independent party under its own privacy policy. Our server asks Google Play whether your subscription is active, using the purchase token | Ireland (EU), company group in the US |
| USDA FoodData Central | Only if Open Food Facts does not know a product: the barcode, through our own server, so without your account or IP address | United States |
Apart from Google Play (see above), these services only process your data on our behalf, under their data processing agreement (DPA), and may not use it for anything else. A copy of your data is kept on your own device, so the app also works without internet.
How long do we keep it?
As long as your account exists. If you delete your account, your account and all your data are deleted right away. Copies in backups disappear within 30 days. An account you never confirmed is deleted after 30 days. To prevent abuse, when an account is created we keep a scrambled (hashed) version of the IP address it came from for at most one day, and allow at most a few new accounts per network per hour. A report is kept as long as we need it to handle the abuse, and is deleted when you or the person you reported delete their account.
Security
- All connections are encrypted (HTTPS).
- The database only lets each user see and change their own data.
- Passwords are never stored in readable form.
Your rights
- Access and portability: in the app via Profile → Settings → Export diary (CSV). If you want everything, email us.
- Correction: you can change everything yourself in the app.
- Deletion: Profile → Settings → Delete account, also in the web app. See how to delete your account, also without the app.
- Objection and restriction: email us; we reply within a month.
- Complaint: with the Belgian Data Protection Authority, dataprotectionauthority.be, or the authority in your own EU country.
Age
The app is meant for adults (18 or older). The reference values do not apply to children, nor during pregnancy or breastfeeding.
Changes
If we change this policy, you will see it in the date at the top. For important changes, we will let you know in the app.