Privacy policy
Effective date: 29 October 2026. Language: English. Versión en español.
Haltera is a free, open-source gym logbook, nutrition log and progress app for Android and iOS (github.com/Sebas1705/Haltera, MIT licence). It has no ads, no in-app purchases and no analytics, and your data is not sold or used to profile you. This page explains exactly what the app does with your data.
1. Who is responsible
The controller is Sebastián Ramiro Entrerrios García (GitHub: Sebas1705), an individual developer based in Spain. Contact is through GitHub Issues: github.com/Sebas1705/Haltera/issues. Issues are public, so never put personal data in one (see your rights).
2. What data the app handles
On your phone the app stores what you log: routines, workout sessions (dates, exercises, sets, repetitions, loads, effort, notes), body weight entries, custom exercises, foods and recipes, meals you log, and your settings (units, bar and plates, rest timer options, nutrition goals). For nutrition goals you may also enter sex, birth year, height, activity level and objective; all optional.
In the cloud the app can keep a copy of that logbook so it is not lost if you lose or change your phone. This cloud copy is optional and off by default. The first time you open the app it asks once (“Yes” or “Not now”), and you can change your mind at any time in Settings → Account → Back up to the cloud. Until you turn it on, the app does not create an account and sends nothing to Firebase: your logbook, including the nutrition profile (sex, birth year, height), stays on your phone. When you turn it on, the app creates an anonymous account (no email or password needed) and uploads the data below, including what you logged before. Installs that were already backing up before this option existed keep doing so, were shown a one-time notice, and can turn it off the same way. With the cloud copy on, the cloud holds:
| Data | When |
|---|---|
| An anonymous account identifier (Firebase Authentication) | Only once you turn the cloud copy on |
| Your routines, sessions with sets and loads, body weight, custom exercises, foods, meals, settings and nutrition goals (including sex, birth year and height if you entered them) | Only while the cloud copy is on: when you turn it on, while you are online, and again after every change |
| Your Google account email, name and account identifier | Only if you choose to link or sign in with Google |
| Technical data of each request, such as your IP address | Only while the cloud copy is on or you sign in; handled by Google as part of providing Firebase |
Crash reports (Android). If the Android app crashes, it sends a technical crash report to Firebase Crashlytics so the bug can be found and fixed: the error trace (which part of the app's code failed), the app version, the phone model, Android version and similar device state at the time of the crash (free memory and storage, orientation), the time of the crash, and a random installation identifier created by Crashlytics. It never contains your logbook, your account or anything you typed. Reports are on by default and you can turn them off in Settings → Privacy → Send crash reports; from the next launch nothing more is sent. This works whether or not the cloud copy is on. The iOS app does not send crash reports.
Some of this can be health-related (body weight, nutrition, training). You decide whether to enter it. The app does not need your location, contacts, microphone or camera, and does not read other apps, except Health Connect if you connect it (next section).
3. Health Connect (Android)
Health Connect is Android's on-device store for health and fitness data. Haltera can use it, but only if you connect it in Settings → Integrations → Health Connect. Nothing is read or written before you tap Connect Health Connect, and each type of data has its own switch: only the types you switch on are requested, through Health Connect's own permission screen, and you can refuse any of them.
- What Haltera can read: daily steps, active and total calories burned, resting heart rate (daily average) and sleep duration, as daily totals; and body weight recorded by other apps or smart scales. It reads only while the app is open, never in the background, and at most the last 30 days before you connected.
- Why: to show your Activity statistics (steps per day against your goal, averages, streaks, calorie, heart-rate and sleep trends), today's steps on the Today screen, calories eaten against calories burned in Nutrition, and to add weights measured elsewhere to your body-weight log.
- What Haltera can write: your finished workouts (start, end and name, as strength-training sessions) and the body weight you log, if you switch those on. Editing or deleting them in Haltera updates or removes them in Health Connect.
- Where it stays: the daily totals are kept only on your phone and are never uploaded, not even with the cloud copy on. A body-weight entry imported from Health Connect becomes part of your body-weight log and, like the rest of the log, is copied to the cloud only if the cloud copy is on.
- Not shared, not used for advertising or analytics, not sold, and not used to make decisions about you. The developer never receives Health Connect data.
- You can stop at any time: switch a type off, or tap Disconnect, which gives back Haltera's Health Connect permissions and deletes the copied daily totals from your phone. You can also remove Haltera's access in Health Connect's own settings; Haltera then deletes what it had copied for that type. Workouts and weights already written stay in Health Connect, where you can delete them.
Apple Health (iOS) is not supported yet.
4. Why, and on what legal basis
- Provide the optional cloud copy (store your logbook, restore it on a new phone, sync between your devices): performance of the service you ask for by turning it on (GDPR art. 6.1.b). Without it, the app works fully on your phone and nothing from your logbook or account is sent to the developer or to Firebase; the only thing that can leave the phone is a crash report (next point).
- Crash reports (find and fix the bugs that make the app crash): legitimate interest in keeping the app working (art. 6.1.f). The report holds no logbook data, and you can object at any time with the Send crash reports switch in Settings → Privacy.
- Health-related data you choose to log (weight, nutrition, training): your explicit consent by entering it (art. 9.2.a), and, if you turn on the cloud copy, by turning it on (it includes these entries and the optional nutrition profile). You can withdraw it at any time by turning the cloud copy off, deleting the entries, or deleting your account.
- Health Connect: your explicit consent (art. 9.2.a), given by connecting it and allowing each type of data; you withdraw it by switching the type off, disconnecting, or removing access in Health Connect.
- Linking a Google account: your consent, which you give by tapping the button and can revoke by signing out or deleting your account (art. 6.1.a).
- Security and abuse prevention of the backend (Firebase rules, rate limiting): legitimate interest (art. 6.1.f).
- No advertising, no profiling, no automated decisions, and no analytics service. Crash reports are used only to fix bugs.
5. Who receives data
- Google (Firebase Crashlytics) receives the Android crash reports described above, as a processor, unless you turned them off. Google may process them outside the EEA under its own data processing terms and standard contractual clauses. They travel encrypted (HTTPS/TLS).
- Google (Firebase Authentication and Cloud Firestore) acts as the processor that stores your account and cloud copy, only if you turn the cloud copy on. The database is located in the European Union (eur3). Google may transfer data outside the EEA under its own data processing terms and standard contractual clauses. Data is encrypted in transit (HTTPS/TLS).
- Google Play services provide Google sign-in (only if you use it) and the barcode and QR scanner, which runs on your device. The app does not receive camera permission and no image is sent to the developer.
- Open Food Facts (openfoodfacts.org): when you scan or type a product barcode, the app asks them for the product. They receive the barcode and your IP address, not your account.
- GitHub (raw.githubusercontent.com): exercise demonstration images are loaded from a public repository when you open an exercise. GitHub receives the image path and your IP address, not your account.
- The developer can technically access the cloud database through the Firebase console. This is only done to support you or to migrate data, for example when the app was renamed from Ironlog to Haltera. Any manual backup made for that purpose is kept outside the public repository, is not shared, and is deleted when no longer needed.
- People you share a routine with: a shared routine file or QR code goes from your phone to whoever you give it to, never through the developer. It contains the routine and the custom exercises it uses and, if you filled in Settings → "Your name for shared routines", that name as the creator of your custom exercises. Leave the name empty to share without it.
- Your data is not sold, rented or shared with anyone else. Each user can read only their own data: this is enforced by the database security rules.
Android's own device backup (Google's Auto Backup) may also copy the app's local data to your Google account if you have it enabled in system settings. That is controlled by you and Google, not by the developer.
6. How long it is kept
- On your phone: until you delete the data in the app, erase it when deleting your account, or uninstall the app. Daily totals copied from Health Connect: until you switch that type off, remove its access, or disconnect.
- In the cloud (only if you turned the cloud copy on): for as long as your account exists. Turning the cloud copy off stops the sync and keeps what is already in the cloud unless you choose Also delete my cloud data; you can resume it later or delete it. When you delete your account in the app, all your cloud documents and your account are deleted (see how to delete your account). While the account exists, an item you delete may remain as an empty marker in the cloud so other devices learn about the deletion; these markers go away with the account.
- Crash reports: Firebase Crashlytics keeps them for 90 days and then deletes them.
- Deleted data may remain for a limited time in Google's own backup systems under Google's retention terms.
7. Your rights
You have the right of access, rectification, erasure, restriction, objection and portability, and the right to withdraw consent. You can view and edit everything in the app, export your routines, and turn the cloud copy off, and delete your account and cloud data in Settings → Account (Back up to the cloud switch with Also delete my cloud data, or Delete account). For other requests, open an issue at github.com/Sebas1705/Haltera/issues without including personal data (it is public); I will reply there and, if I need to verify something, agree a way that does not require posting personal data publicly. I cannot identify an anonymous account from outside the app, so for those accounts the in-app deletion is the only reliable route.
If you think your data is mishandled you can complain to the Spanish data protection authority, the Agencia Española de Protección de Datos (aepd.es).
8. Children
Haltera is not directed at children and is intended for people aged 18 or over. If you are a parent and believe a child has used the app and its cloud copy, ask for deletion as described above. The cloud copy is off unless someone turns it on.
9. Health disclaimer
Haltera is a logbook and planning tool. Its figures, charts, scores and suggestions are not medical advice and do not diagnose, treat or prevent any condition. Ask a qualified professional before changing your training or diet, especially if you have a health condition.
10. Security
Data travels encrypted. Access to each user's cloud data is restricted to that user by security rules, and the app has no ads or third-party analytics code. No system is perfectly secure, and your device security (screen lock, updates) matters too. Security vulnerabilities can be reported through a private security advisory in the GitHub repository.
11. Changes to this policy
If the app starts handling data differently, this page is updated before the change ships and the effective date at the top is changed. The history is public in the repository.
12. Contact
GitHub Issues: github.com/Sebas1705/Haltera/issues. The source code, which you can read to check anything written here, is at github.com/Sebas1705/Haltera.