Privacy Policy — Leanmetry
Last updated: 11 October 2026
Leanmetry ("the app") is a body-recomposition, strength, and nutrition tracking app published by Keith ("the Developer"). This policy describes the data flows in the current Firebase-backed build.
Summary
Leanmetry is local-first, not local-only:
- Drift/SQLite and app-private files store the working copy of user data on the device.
- Firebase Authentication handles email/password accounts and sessions.
- Supported account data is transmitted to Cloud Firestore for backup, fresh-device restore, and multi-device sync.
- Progress-photo files and their related metadata are saved in the app's private on-device storage. Leanmetry does not upload or sync them through Firebase.
The current app does not include advertising, Firebase Analytics, Crashlytics, or attribution SDKs. The in-app "Analytics" feature consists of charts computed from the user's own records; it is not usage-tracking telemetry.
Contact
Leanmetry is published by Keith.
Email: katumaneng24@gmail.com
Information handled by the app
Account and service information
- Email address
- Firebase Authentication user ID
- Authentication/session information managed by Firebase
- Technical request information processed by Firebase SDKs, which may include IP address, user-agent information, app/SDK version information, and Firebase app or installation identifiers
The app uses Firebase Authentication for passwords. Leanmetry does not store the account password in its Drift database or application settings.
Profile, health, and fitness information
- Name, age, sex, height, activity level, and unit preference
- Weight, body circumferences, notes, and derived estimates such as body-fat percentage and lean body mass
- Workouts, exercises, sets, reps, load, RPE, estimated one-rep max, session duration, and notes
- Training programs, training days, exercise targets, and custom exercises
- Nutrition logs including calories, protein, carbohydrates, fat, water, and notes
- Goals, target values, progress calculations, predictions, and generated insights
Some of this is health- or fitness-related information. Body-fat, nutrition, and goal outputs are estimates for general fitness tracking and are not medical diagnoses.
Progress photos
Progress photos selected or captured by the user are saved in the app's private storage on the device. Their date, pose, weight-at-time, and optional notes also are stored in the on-device database. Leanmetry's app code and backend do not transmit photo files or progress-photo metadata to Firebase or the Developer.
Leanmetry does not restore progress photos through its cloud sync. They are deleted when the app is uninstalled or its data is cleared, when the user switches to another account on that device, or when the account is deleted, subject to operating system behavior. Device loss or damage can also make them unavailable. To keep a photo independently of Leanmetry, the user can export it: the app hands a copy to the device's share sheet, and the user chooses where it goes (for example, the photo library, a files app, or another app). Leanmetry does not receive exported copies, and what happens to a copy after that is governed by the destination the user picked. Temporary copies made for an export are deleted from Leanmetry's storage when the share sheet closes.
Leanmetry's release configuration is intended to exclude its progress-photo directory from supported Android/iOS app-backup and device-transfer mechanisms. Operating-system or backup-provider behavior, user-controlled backup settings, and backups created by older builds are outside the Developer's control, so this exclusion cannot be guaranteed in every environment. The native exclusion is scoped to the image directory. Progress-photo entries share Leanmetry's Drift database with other structured records, so this policy does not claim that an operating-system backup can never copy that shared database. Platform backup is separate from Leanmetry's Firebase cloud sync.
Where information is stored and transmitted
On the device
The app stores structured records in Drift/SQLite, preferences in
SharedPreferences, and progress-photo files in app-private storage. The
Cloud Firestore library keeps its copy of synced records in memory only, not
in the app's files. Signing out does not automatically erase these local
files. When another account signs
in, the app is designed to wipe the previous account's local data before
restoring the new account's data.
Firebase Authentication
The user's email address, Firebase user ID, session state, and authentication service data are processed by Firebase Authentication for account creation, sign-in, password reset, session management, abuse prevention, and account deletion.
Cloud Firestore
When a user is signed in, Leanmetry mirrors supported data under that Firebase user’s document tree. This includes the profile, assessments, workouts and sets, goals, nutrition logs, programs, and custom exercises. Progress-photo files and metadata are excluded.
Sync runs after relevant writes, on sign-in, when the app resumes, and when the user chooses "Back up supported data now." Firestore is a cloud mirror; the local Drift database remains the app's working source of truth.
Firebase Storage
The current release does not use Firebase Storage. Leanmetry does not upload or sync progress photos through Firebase.
Interface fonts
Leanmetry's interface fonts are bundled inside the app. The app does not download fonts from Google's font servers.
How information is used
Information is used to:
- create and manage the user's account;
- provide dashboards, charts, calculations, insights, and goal progress;
- save and restore workouts, assessments, programs, nutrition logs, and other app records;
- synchronize the user's records between their signed-in devices;
- retry interrupted sync operations for supported cloud-backed records; and
- protect Firebase services against abuse and unauthorized access.
The Developer does not currently use Leanmetry data for advertising or sell it to data brokers. Google processes data as the provider of Firebase. Review Firebase privacy and security information and Google's Privacy Policy for information about Google's processing.
Permissions
On Android, Leanmetry does not request camera or photo permissions. Taking a progress photo opens the device's camera app, and importing one opens the system photo picker. Leanmetry receives only the photo the user takes or picks.
On iOS, the system asks for permission:
- Camera: the first time the user chooses to take a progress photo.
- Photos (add-only): when the user saves an exported copy to their photo library.
Importing a photo on iOS uses the system photo picker, which needs no permission; Leanmetry receives only the photo the user picks.
Rest-timer alerts. Leanmetry can alert the user when a rest between sets ends while the app is in the background. The alert is created and shown on the device; nothing about it is sent anywhere. It uses:
- Notifications (Android 13 and later, and iOS): asked the first time a rest starts, or when the user turns on Settings → Rest timer alerts.
- Alarms & reminders (Android 14 and later): allowed by the user in system settings so the alert arrives at the exact second. Without it, Leanmetry shows a countdown notification instead.
Declining a permission prevents the related photo action or rest alert but does not prevent use of the rest of the app. Permissions can be changed in device settings.
Data retention and deletion
- Cloud account data generally remains while the account exists, unless the user deletes the account or the Developer removes it in response to a verified request. Deleting it removes it from Firestore's live database at once. Google, which runs Firebase, removes a deleted sign-in record from its live and backup systems within 180 days, keeps the IP addresses Firebase Authentication logs for a few weeks, and expires its internal backup copies of other deleted data within about six months. The Developer keeps no backups of its own.
- Deleting a supported individual entry removes it from the device and replaces its Firestore document with a deletion marker so it does not reappear on another device. The marker keeps only the entry's identifier (its date and time, or a custom exercise's name) and when it was deleted; the entry's details are removed from the cloud. Entries deleted with an earlier version of the app kept their details in the marker; the app removes them the next time an updated version syncs the account. Markers remain until the whole account is deleted. Deleting a progress photo removes only its on-device record and file because no cloud copy is created.
- Uninstalling Leanmetry removes the app's local database, settings, and local photo files from that device, subject to the operating system's behavior. It does not delete the Firebase account or its cloud data. Device-only photos cannot be restored by Leanmetry after uninstall, app-data clearing, or device loss unless the user kept a separate copy outside the app.
- The app provides Settings → Delete account. After password reauthentication, a successful deletion is designed to purge the user's Firestore document tree, delete the Firebase Auth account, and erase the app's local database and device-only photos. A connection is required, and a failed or interrupted request may need to be retried.
- A user who cannot access the in-app deletion flow may email katumaneng24@gmail.com from the address they sign in with to request account deletion. Identity verification may be required before account data can be removed. Requests are completed within 30 days. The Developer keeps the request email for one year after completing the request, as a record that it was handled, then deletes it.
- Other support emails are deleted one year after the last message, or with the account when it is deleted.
Security
The app uses Firebase Authentication and owner-scoped Firestore rules intended to restrict each signed-in user to their own cloud data. Firebase documents that its supported services use HTTPS for data in transit and encrypt Firestore and Authentication data at rest.
No storage or transmission method is completely secure. Users should protect their device and email account with appropriate screen-lock and account-security measures.
Children's privacy
Leanmetry is intended for adults and is not directed to children under 13 or the applicable minimum age of digital consent. If you believe a child has provided personal data, contact katumaneng24@gmail.com.
Changes to this policy
This policy should be updated whenever the shipped app changes its SDKs, backend, photo-storage behavior, analytics, advertising, or other data practices. The "Last updated" date will be changed when the policy is revised.