CalorieMiles

CalorieMiles — Privacy Policy

Version 2026-10-12. This is the version recorded against your account when you signed up. It adds meal photo scanning to version 2026-10-07; nothing about a scan happens until you agree to it in the app.

CalorieMiles is a calorie and activity tracker. This policy explains what it keeps about you, why, who else ever sees it, and how to get it all back or have it deleted. It describes what the software actually does, not what it might someday do.

CalorieMiles is operated by CodeHaste Inc, Bengaluru, Karnataka, India. Contact: info@codehaste.com.

What CalorieMiles keeps

Your account

What you tell it about yourself

What you record

Meal photos, only if you scan one

Technical records

What CalorieMiles does not do

Who else sees any of it

Food catalogue providers — food search runs only against CalorieMiles's own database, so your search words are not sent to a food-data provider. Catalogue data is imported separately from documented sources. Source and licence details are stored with each entry. Historical meals may still contain Open Food Facts data collected by an earlier version of CalorieMiles.

Brevo — the service that delivers verification and password-reset emails. It receives your email address and the contents of that message.

Sentry — crash reporting, used only when CalorieMiles is configured with a Sentry account. It receives your account identifier and technical details of the crash. Request bodies, query strings, cookies and authorisation headers are removed before anything is sent.

Health Connect on Android, Apple Health on iOS — these stay on your phone. CalorieMiles reads steps and workouts from them, with your permission, and writes nothing back. You can disconnect at any time in Profile, and disconnecting revokes the permission.

Google (the Gemini API) — reads the meal photos you choose to scan, and only after you have agreed to it. It receives the photo, without its metadata, and nothing else about you: not your name, email address or account identifier. CalorieMiles uses Gemini's free tier, under which Google may use what it receives, photos included, to improve its products, and people at Google may review it; Google's own terms say how long it keeps it. Please do not scan photos that show people or anything private.

DigitalOcean — rents us the server, in Bengaluru, India, on which we run the CalorieMiles API and its database.

Nobody else. CalorieMiles will disclose data if the law requires it, and would tell you unless legally prevented.

Where it is kept, and for how long

Your data is stored in a PostgreSQL database that we run on that server, in Bengaluru, India.

It is kept until you delete it. Deleting your account removes your profile, meals, custom foods, weights, water, steps, workouts, goals, badges, recognition, sessions and codes, in one operation, immediately and irreversibly. The database is backed up every night and each backup is kept for 14 days, so a deleted account can survive in a backup for up to 14 days before that backup is deleted. Backups stay on the same server and are used only to restore the service after a failure.

What you can do

If you are in India, the Digital Personal Data Protection Act gives you rights of access, correction, erasure and grievance redressal. Our Grievance Officer is reachable at info@codehaste.com (subject: "Grievance Officer"); we answer within 30 days. If you are in the EU or UK, the GDPR additionally gives you rights to portability, restriction and objection, and to complain to your supervisory authority.

Children

CalorieMiles is for adults. You must be 18 or older to create an account, and signup refuses a date of birth that makes you younger. If we learn an account belongs to someone under 18, we delete it.

Security

Passwords are hashed with bcrypt. Connections use HTTPS. Access tokens last 15 minutes; refresh tokens are opaque, stored only as digests, rotated on every use, and reusing an old one revokes every session for that account. Every request is scoped to the account that made it — asking for someone else's data returns "not found", not their data.

No system is perfectly secure. If you believe your account has been accessed by someone else, reset your password, which ends every session everywhere, and write to us.

Changes

If this policy changes in substance, the version at the top changes with it and you will be asked to accept the new version. Wording and typographical fixes do not change the version.

Contact

info@codehaste.com, or write to CodeHaste Inc, Bengaluru, Karnataka, India.