MacroCraft

MacroCraft privacy policy

Last updated: 1 October 2026
Contact: support@macrocraftfoods.com

The short version

MacroCraft has no account, no app server and no analytics. Your food log, your weigh-ins and everything derived from them are stored on your phone, encrypted, and are not sent anywhere. Three things reach the internet, all of them narrow, and two of them only when you ask: a barcode lookup, a recipe page you paste, and a check for an app update. Nothing about your health is part of any of them.

We — the developer of MacroCraft — cannot see your data. There is nowhere for it to arrive.

What MacroCraft stores on your phone

All of it lives in one encrypted database. The key is generated on your device, kept in the system keychain, and never leaves it.

WhatDetail
Food and drink you logItems, amounts, times, and a frozen nutrition snapshot per entry.
Weigh-ins and trend weightEach reading, its source, and the smoothed trend derived from them.
Body fat, fat mass and lean massReadings you enter or that come from a health app, with the instrument each came from.
Daily step countsRead from a health app to inform the energy estimate.
Sex, date of birth, height and usual activityUsed to estimate resting energy before the app has learned from your own data.
Goals, programs and weekly check-insTarget weight, rate, calorie and macro targets, and what each check-in decided.
Your recipes and your own foodsNames, ingredients, portions, barcodes you scanned.
History you import from your health appDaily calories and macros one other app wrote to Apple Health or Health Connect, up to the day before you started using MacroCraft.
SettingsUnits, Strict Offline, the Progress arrangement, and which permission sheets you have seen.

MacroCraft does not ask for your name, your email address or your phone number, and has nowhere to put them.

Your health app

MacroCraft can read from and write to Apple Health or Health Connect. You are asked separately for the weight-and-steps connection and for body composition, and refusing either leaves the rest of the app working.

On iPhone, MacroCraft asks to read:

TypeWhy
HKQuantityTypeIdentifierBodyMassweigh-ins, which drive the trend and the whole estimate
HKQuantityTypeIdentifierStepCountdaily activity, which informs the energy estimate
HKQuantityTypeIdentifierBodyFatPercentageenergy density for the expenditure estimate (optional)
HKQuantityTypeIdentifierLeanBodyMassenergy density for the expenditure estimate (optional)
HKQuantityTypeIdentifierHeightresting energy estimate (optional)
HKCharacteristicTypeIdentifierDateOfBirthage for the resting energy estimate, offered as a profile prefill
HKCharacteristicTypeIdentifierBiologicalSexresting energy estimate, offered as a profile prefill
HKQuantityTypeIdentifierDietaryEnergyConsumedwhat other apps logged as eaten, read once when you import your history (never synced)
HKQuantityTypeIdentifierDietaryProteinprotein other apps logged, read once when you import your history (never synced)
HKQuantityTypeIdentifierDietaryCarbohydratescarbohydrate other apps logged, read once when you import your history (never synced)
HKQuantityTypeIdentifierDietaryFatTotalfat other apps logged, read once when you import your history (never synced)

On Android, MacroCraft asks to read: Weight, Steps, BodyFat, LeanBodyMass, Height, Nutrition (once, for the history import), and ReadHealthDataHistory — the last because Health Connect otherwise serves an ordinary read permission only about thirty days back, and the energy estimate reads a year of weight history. Refusing it is supported: the app then reads the window it is allowed.

MacroCraft writes one thing: the nutrition you log, so it appears alongside your other health data. On Android that is the Nutrition record type. It never writes your weight, your steps, your body composition, or the history you imported.

Health data read from your health app is used only inside MacroCraft, to show you your own history and to estimate your energy expenditure. It is never used for advertising, for marketing, or for any purpose other than the health and fitness features you are using it for, and it is never sold, shared or transmitted.

MacroCraft deletes a record in your health app only if MacroCraft created it. Removing the app's own nutrition entries is offered when you reset the app, and it is optional.

What reaches the internet

Three things, and nothing else. There is no analytics SDK, no crash reporter and no advertising identifier.

world.openfoodfacts.org — when you scan a barcode MacroCraft does not already know, it asks Open Food Facts about that barcode. The request necessarily reveals the barcode and your IP address to that service. The answer is cached on your phone so the same product is never looked up twice. Turning on Strict Offline in Settings stops this entirely.

A web address you type — if you paste a recipe URL and ask MacroCraft to read it, MacroCraft fetches that page from the site you chose. Nothing about you is added to the request beyond what any browser sends. Strict Offline stops this too.

u.expo.dev — a release build checks for an app update on launch. That request carries the app's runtime version, platform and release channel, and necessarily your IP address. It carries no personal data and no identifier of you.

Your food, your weights, your body composition, your goals and your profile are part of none of these requests.

One more thing is worth naming, because it leaves the app even though MacroCraft does not make the request: the licences on the About and licences screen are links. Tapping one hands the address — for example opendatacommons.org — to your browser, and from then on it is an ordinary web page visit that MacroCraft has no part in.

Permissions on iPhone

iOS asks at the moment a feature needs each one, and explains why in the system prompt. MacroCraft asks for four:

What it asks forWhen
permission to read from Apple Healthwhen you connect a health app, and again if you ask for the body-composition prefill
permission to write to Apple Healthwhen you connect a health app
the camera, to scan a barcode or photograph a labelwhen you open the scanner or take a label photo
a photo you have already takenwhen you choose an existing photo of a label instead of taking one

MacroCraft asks for no microphone access, no location access and no contacts access on either platform.

Permissions on Android

Android grants some permissions at install and asks for others when a feature needs them. MacroCraft's full list, with what each is for:

PermissionWhat it is for
android.permission.CAMERAscanning a barcode, or photographing a nutrition label
android.permission.INTERNETthe three destinations above and nothing else
android.permission.VIBRATEthe small taps that confirm an action
android.permission.READ_EXTERNAL_STORAGEchoosing an existing photo of a label, on Android 12 and older. Android 13 and newer use the system photo picker, which needs no permission
android.permission.WRITE_EXTERNAL_STORAGEnothing MacroCraft does. It arrives with a library, applies only to Android 12 and older, and MacroCraft writes only inside its own private storage
android.permission.health.READ_WEIGHTreading your weigh-ins from Health Connect
android.permission.health.READ_STEPSreading your daily step counts
android.permission.health.READ_BODY_FATreading body fat, if you allow it
android.permission.health.READ_LEAN_BODY_MASSreading lean mass, if you allow it
android.permission.health.READ_HEIGHTreading your height, if you allow it
android.permission.health.READ_HEALTH_DATA_HISTORYreading further back than the thirty days Health Connect otherwise allows
android.permission.health.READ_NUTRITIONreading what other apps logged as eaten, once, when you choose to import your history
android.permission.health.WRITE_NUTRITIONwriting the nutrition you log back to Health Connect
com.google.android.apps.aicore.service.BIND_SERVICEtalking to Android's own on-device AI service, on a device that has one, when you use Describe or read a label. It arrives with the ML Kit library. Nothing is sent anywhere: the model runs on your phone

MacroCraft asks for no microphone access and no location access. Two permissions that libraries would otherwise have added — android.permission.RECORD_AUDIO and android.permission.SYSTEM_ALERT_WINDOW — are deliberately removed from the build, because MacroCraft has no feature that uses either.

Artificial intelligence

MacroCraft's "describe a meal" and label-reading features run entirely on your device, using the model built into the operating system. Nothing you photograph or type is sent to an AI service, and MacroCraft never falls back to one. Where a device has no such model, the app uses a plain text parser instead and says so.

Backups

MacroCraft excludes its database, its journals and its internal files from iCloud backup and from Android cloud Auto Backup and device-to-device transfer. That is deliberate: no personal health data reaches a cloud backup by default.

If you want a copy, you create it yourself, and you decide where it goes:

FileEncryptedWhat is in it
Portable backup (.mcbackup)AES-256-GCM, keyed from a recovery key only you holdeverything stored on the device except this device's own bookkeeping about a health store
CSV and JSON exportno — plain textthe tables you chose, or in JSON everything the CSVs hold plus recipes, goals and your profile
Diagnostics bundleno — plain textversions, states and row counts. No food, no weights, no names, nothing you typed

The recovery key for a backup is shown once and is stored nowhere — not on your device and not by us. If you lose it, that backup cannot be opened by anybody, including us. A CSV or JSON export is plain text: treat it the way you would treat any document about your health.

Deleting your data

Deleting the app removes the database and its key with it. Inside the app, Reset app data deletes the database, the local safety snapshots, any files waiting to be shared and the encryption key, and offers to remove the nutrition entries MacroCraft wrote to your health app. Your own backup files are wherever you put them and are not touched.

Children

MacroCraft is not directed at children and does not knowingly hold data about anyone under 13.

Not medical advice

MacroCraft is nutrition and weight-management software. Its calorie and macronutrient targets, safety floors and rate limits are guardrails in a piece of software, not medical advice, and it does not diagnose, treat or prevent anything. Talk to a qualified professional about your own situation.

Where the food data comes from

MacroCraft ships a generic food database built from public sources, and credits them in the app under About and licences:

This website

This page and the rest of macrocraftfoods.com are static files hosted on GitHub Pages. They run no scripts, set no cookies and carry no analytics. GitHub, as the host, receives your IP address with each request and may keep it in its logs, as its own privacy statement describes. Nothing you do on this website reaches the app.

Changes

If this policy changes in a way that affects what MacroCraft does with your data, the updated version will be published here with a new date before the change ships.