Privacy policy

Updated 4 November 2026

We collect as little as we can, keep your meals on your phone, and never sell your data or show you ads.

Meals stay on your phonePhotos, descriptions and your log live on your device, and on an iPhone’s Apple Watch.
Estimates come from Google GeminiOnly the photo or words you log, and only after you agree.
Your plan is saved to your accountSo a new phone gets your targets back.
No ads, no selling, no ad trackingWe don’t sell data or follow you across other apps for advertising.

Who we are

Portion is developed and operated by Mahmoud Metwally, an individual developer based in the United Arab Emirates, through metwally.ae. Under the UAE’s Personal Data Protection Law (Federal Decree-Law No. 45 of 2021) that person is the controller of your personal data: the one who decides what is collected and why, and the one answerable for it. You can reach us through the support form in Help & support.

What we collect, why, and on what basis

Your account

When you sign in with Apple or Google, we receive an account ID and an email address. With Apple you can hide your email, and then we only ever see a relay address. If you choose to share it, we also receive your name. We use these to know it’s you, to run Portion Free, and to reply when you write to us. Sign-in is handled by Google Firebase Authentication. Why we may: we need it to provide the service you asked for.

Your plan, which is health data

The name you gave, if any, your age, sex, height, weight, activity level, goal and pace, and the calorie and nutrient targets worked out from them. We save these to your account so that signing in on a new phone, iPhone or Android, brings your plan back.

Age, sex, weight and what we derive from them say something about your health, and UAE law treats health data as sensitive personal data. We use it only to work out your targets and save it to your account so your plan can return on a new phone. We never use it for advertising, never sell it, and never send it to Google Gemini. Why we may: your explicit consent, given when you set up your plan, which you can withdraw by deleting your account.

Your meals

The photos and descriptions you log, their estimates, and when you logged them. These stay on your phone, and on iPhone your Apple Watch — not on our servers. If your iPhone backs up to iCloud, Apple keeps a copy under its own terms. On Android, Portion opts out of Google’s device backup, so your log leaves the phone only in a backup file you make. A backup file you make in Profile is yours: it goes only where you save or send it, and we never see it.

Pregnancy and breastfeeding

If you tell Portion you're pregnant or breastfeeding, it keeps your due date or your baby's birthday — and your weight before pregnancy — on your phone only. It is used to work out your targets and is never sent to our servers, to Google or to Gemini, and never included in a CSV export; it goes into a backup file only if you make one. The targets it produces are saved with your plan like any other target, but the reason for them is not. You can change or remove it any time in Profile.

Sharing with a coach

Only if you join a coach’s group with their code. Then, for each of the last 14 days, your coach sees your calories, protein, carbs and fat, your water, your targets, and whether you logged that day — plus the name you type when you join. Your meals, photos, weight, body measurements and pregnancy or breastfeeding details are never shared. These daily totals are stored on our servers so your coach can read them, and anything older than 14 days is deleted as Portion updates them. Stop sharing in Profile → Coaching and your shared days are deleted straight away. If you run a group, its name and code are stored with your account, and closing the group deletes everything your clients shared with it. Why we may: your explicit consent, given on the screen that shows what your coach will see, which you can withdraw at any time by stopping sharing.

What goes to Google Gemini

Each time you ask for an estimate, the photo you took or the words you typed are sent to Google Gemini, Google’s AI service. Portion does not add your name, email, weight, targets or health profile to the request; anything you choose to show in the photo or write in the description is part of what Google receives. Nothing is sent until you agree on the “Before your first scan” screen, and you can stop at any time in Profile → Your data → AI & your data. Why we may: your consent, and only for as long as it stands.

History you import

If you import a file exported from another app, such as MacroFactor or Cronometer, Portion reads it on your phone and keeps its meals and weigh-ins there, like anything you log. The file is never sent to our servers, to Google or to Gemini.

Feedback, the Pro waitlist, and leaving

Keeping Portion Free fair

To protect Portion Free from abuse, we use Firebase App Check with Apple’s App Attest on iPhone and Google Play Integrity on Android, which confirm that requests come from the real Portion app on a real device. Your daily count of free estimates is kept on your phone.

Setup and returning to log

We use Google Analytics for Firebase to count setup progress, the first successfully saved meal, and days people return to save meals. This lets us measure activation, return on day seven after the first save, and logging on at least three days in a week. We send action dates grouped by Dubai calendar day and whether an installation is new or existing. We never send meal contents, photos, nutrition values, names, email addresses or measurements in these events. We do not use them for advertising or join them to an advertising identifier. Alongside it, Google’s SDK collects standard app information: the app version, device model, language, country, and a random identifier for this installation.

You can turn this off. Profile → Your data → AI & your data → Usage analytics stops the collection on your phone, not just the sending, and it stays off until you turn it back on. Switching it off also clears the local activation and repeat-day counters; turning it back on does not recreate past activity. Nothing else in Portion changes.

Android beta invitations

If you request an Android beta invitation on this website, our website host processes your email and passes it to Google Firebase App Distribution. Google sends your invitation and beta update emails and keeps your tester membership until it is removed. This does not create a Portion account or share your meal log. We keep keyed hashes of the address and visitor IP, a request identifier, status and time to prevent repeated requests and abuse; records older than 24 hours are purged when the form is next used. Hosting and Google may process these requests outside the UAE. Ask us at hello@metwally.ae to leave the beta or remove your tester email. Why we may: your request for beta access and our legitimate interest in preventing abuse.

Crash diagnostics on Android

We use Google Firebase Crashlytics to understand crashes and improve reliability. It collects technical information such as stack traces, app and operating-system versions, device model and random installation identifiers. We do not attach your account ID, name, email, meals, photos, measurements, coaching codes or AI requests to crash reports. The Usage analytics switch above also controls crash collection; switching it off deletes unsent crash reports on this device. Crash diagnostics are processed on Google's global infrastructure and retained by Crashlytics for 90 days.

Anonymous crash reports on iPhone

When Usage analytics is on, we collect anonymous crash data through Firebase Crashlytics to find and fix failures. Reports include technical details such as stack traces, app and operating system versions, device model, a random installation identifier, and basic usage events from analytics. We do not attach your account ID, name, email, health data, meal text, photos, AI prompts or API key, and we do not use crash reports for advertising.

The same Profile → Your data → AI & your data → Usage analytics switch controls crash reporting. Automatic reporting stays off. We check your choice before asking Firebase to send eligible reports. Turning the switch off stops new upload authorizations and excludes reports from that app session from later uploads. Reports already handed to Firebase for sending may finish uploading afterward. Restart the app after turning reporting back on. Crashlytics may keep reports locally until they are sent or discarded. Reports recorded in Debug builds or simulators are never eligible for upload, and this integration does not collect crashes from Apple Watch. Your control: your existing usage analytics preference, which you can turn off at any time.

Website analytics

Only after you choose Allow analytics, our website loads Google Analytics to count page visits, App Store clicks, Android beta invitation results and feedback submission results. These are website actions, not verified app installs. We do not send form contents or email addresses to Analytics, and page URLs exclude query strings and fragments. You can change your choice through Analytics settings on the website. If you decline, Google Analytics does not load.

Portion email invitations

If you allow website analytics after reading the updated choice, a random invitation identifier lets us link visits from a Portion email and successful feedback-form submissions to the invitation we sent you. The email-to-identifier list stays in our private campaign records. Our website host, Cloudflare, stores campaign identifiers, random recipient identifiers, action types and timestamps. Measurement expires within 90 days; expired records are excluded from reports and removed when the next event is processed. These records are not public. Your email, name, feedback text and invitation identifier are not sent to Google Analytics. Links may be forwarded or opened by automated tools, so a visit is not proof that a particular person read an email. We do not measure email opens. You can decline or withdraw analytics and still use the website and feedback form. Reply Stop to stop update emails.

What we don’t do

Who we share it with

Only the services that run Portion, and only for that purpose:

We may also disclose information if the law requires it.

Where it’s stored, and when it leaves the UAE

These services involve transfers outside the UAE. UAE law sets conditions for overseas transfers, and separate rules can apply to health information. We use the providers’ contractual data-protection terms and ask for consent where consent is the basis for processing. This policy does not ask you to give up any legal right. If you do not want your data processed outside the UAE, do not create an account, request an estimate or use the web support form.

How long we keep it

When you delete your account, we request deletion of the active account and its linked database records straight away. The app also removes its local data and, on iPhone, asks the Apple Watch to clear its copy. Google says deleted Firebase Authentication data is removed from live and backup systems within 180 days; other deleted Google Cloud customer data may also take up to 180 days to disappear from backup systems. Those residual copies are not available to us for ordinary use or recovery.

Your rights

UAE law gives you these, and using them costs nothing:

In the app: Profile → Your data → Export as CSV gives you your log, and Profile → Account → Delete account deletes the personal data linked to your account from active systems. For anything else, use the support form in Help & support and we will answer within 30 days. Depending on where you live — for example under the EU or UK GDPR — you may have further rights, including complaining to your local data protection authority.

Children

Portion is for adults aged 18 and over, which is where its age field starts. Calorie tracking isn’t right for everyone: if you have or have had an eating disorder, talk to a doctor before using Portion.

Keeping it safe

Everything between the app and our services travels encrypted, and Google encrypts the data it stores. Rules on the server stop one account from reading another’s, and access to the database is limited to the accounts that need it. If a breach happens, we will notify the UAE Data Office as required and notify you where the breach could prejudice the privacy, confidentiality or security of your data.

Changes

When this policy changes we’ll update the date at the top, and tell you in the app before any change that matters takes effect.

Contact

Questions, requests or complaints about your data: use the support form at metwally.ae/portion/support.