HW App privacy policy
Last updated: November 7, 2026 (app 1.9.1: the cloud keeps restore points of your backup from the last 4 days; 1.9.0: workout plans and weights are part of your data and cloud backup, body-part ranks and your last workout on your profile, the rest timer on the lock screen with the "Physical activity" permission, the world leaderboard paused; 1.7.1: sign-in with email and password; 1.7.0: profiles others can open, sync between your devices, profiles hidden automatically after reports; 1.6.2: rules for nicknames and photos, no photos in the world leaderboard; 1.6.0: phone notifications; 1.5.0: optional account, friends, leaderboard and cloud backup) · applies to the HW App Android app and the website https://mikydon.github.io/hw-app/
What the app stores
- Your workouts, records, streak and achievements.
- Your profile: nickname, an optional photo and an optional birth date.
- Calorie data, if you use the calorie calculator: gender, height, weight, activity level, goal and the calories you log.
- Settings, such as language, theme and sounds.
All of this is saved on your device (in the app's storage, or in your browser's storage on the website). Backup files are created when you tap "Save backup" or turn on "Automatic backup" (Android app: in Documents/HW App on your phone). If you have an account, a cloud backup is stored as described below.
Account, friends and cloud backup (optional)
You can use HW App without an account. If you sign in (Friends in the menu, or Settings → Account & cloud), you confirm that you are 16 or older. Sign-in uses an e-mail address and password or your Google account, through Google Firebase (Firebase Authentication and Cloud Firestore, operated by Google as a service provider; the database is in Frankfurt, Germany, europe-west3). The account is used like this:
- Sign-in: Firebase Authentication keeps your account ID and the details Google provides at sign-in (your email address, name and profile picture link) so you can sign in again. If you sign in with an email address and a password instead (since 1.7.1), Firebase keeps that email address and a protected (hashed) form of the password; HW App never stores your password, and Firebase sends the confirmation and password-reset emails you ask for. HW App does not show them to anyone and does not use them for anything else.
- Public profile (seen by other signed-in users): the nickname you choose, a small copy of your profile photo if you set one, your level, XP, streak and number of workouts, and your friend code. Your friends see it in your friends' leaderboard; people who have your code or nickname can find it and send you a friend request. The app shows your photo only to your friends (not in the world leaderboard and not with a friend request), although it is stored in this profile, which other signed-in users' apps can read.
- World leaderboard: paused since 1.9.0 (the app no longer joins or reads it). Before, only if you switched it on; then your nickname, level, XP, streak and number of workouts appear in the world top 50 (your photo is not shown there). You can switch it off any time.
- Your profile (1.7.0): a page others can open from the friends list or the leaderboard, with your level, XP, current and longest streak, number of workouts, total reps, total training time, the date of your first workout, your best set and rank in each exercise (for exercises with weights since 1.9.0 only the rank, because it is worked out from your body weight; your body weight itself is never on it), the ranks of your body parts worked out from those exercises, your badge levels with your progress towards the next level, your number of personal records, your last workout (its day, minutes, number of sets and reps, and whether it was added by hand; since 1.9.0), and what you chose to show in your showcase (which ranks, badges or numbers). You choose who can open it in Profile → ✏️ → Who sees your profile: your friends (the default), everyone signed in to HW App, or only you. People you blocked can never open it. Badges about calories, steps and Health Connect are never part of it, and it contains no photo.
- Rules for what others see: nicknames and photos must not be offensive, sexual or hateful. Anyone can report a profile or a message in the app and block a person. Reported profiles are reviewed by the developer; offending nicknames, photos or accounts are removed from the leaderboard or deleted. When three different people report the same profile within 90 days, it is hidden automatically from the world leaderboard and from strangers (friends still see it) until the developer has looked at it; the app tells the person and how to get in touch.
- Friends: who your friends are and open friend requests. Who you blocked is stored on your device, in a list in your account that only you can read (since 1.7.0, so blocked people can't open your profile and your other devices know it) and, in the Android app with notifications on, in your notification settings below, so blocked people can't send you notifications.
- Cloud backup: while you are signed in, a copy of your backup (workouts, profile, settings and the calorie data you entered yourself) is saved a few seconds after every change. Since 1.7.0 your other signed-in devices (another phone, the website) read it and merge it with their own data, so they stay in sync; it also holds markers of deleted entries so deletions reach every device. Only you can read it. Since 1.9.1 the cloud also keeps restore points: copies of this backup as it was at the end of each of the last 4 days you used the app (older ones are deleted automatically), so you can go back to one in Settings → Account & cloud → Restore points. They are deleted with your account. Data from Health Connect (steps, food calories from other apps, and weight or height read from Health Connect) is left out and never uploaded.
- Messages: messages you write to a friend (text and time) are stored so that you and that friend can read them. Only the two of you can read a chat; it is not end-to-end encrypted. Deleting your account deletes your chats with all their messages.
- Phone notifications (Android app, 1.6.0): so that your phone can tell you about a new message, a friend request or an accepted request while the app is closed, the app stores your phone's notification address (a Firebase Cloud Messaging token), the app's language, whether notifications are on, and who you blocked. Only you can read it. When someone writes to you, the app asks a small server of HW App (a Cloudflare Worker, Cloudflare acting as a service provider) to send the notification; the server checks in the database that the message or request really exists, and sends the sender's nickname and the first 120 characters of the message through Google Firebase Cloud Messaging to your phone. The server does not keep any of it. Switch notifications off in Settings → Account & cloud (or in Android's settings); signing out removes this phone's address.
- Chat status (1.7.0): for each chat, when you last read it and when you deleted it for yourself (times only, no message text), in a list only you can read, so your other devices show the same chats as read or deleted.
- Reports: if you report a profile or a message, the report (who reported whom, when, and the reported message text) is stored for the developer to review. A profile hidden after reports gets a small record (account ID, number of reports, time) that only its owner can read.
Who can read or change what is enforced by the database's security rules (published in the app's source code, firestore.rules). The data is not used for advertising or analytics and is not sold.
Health Connect (Android app)
If you connect Health Connect (on the first start or in Calories), HW App asks for read permissions for steps, weight and height, and, only if you also connect food calories, for nutrition. It uses them like this:
- Steps: your daily step count, to add the calories of the extra steps to your daily target.
- Weight and height: the newest value of each, for the calorie calculation (the same numbers you could type in yourself).
- Nutrition (optional): the calories of the food you logged in other apps, each entry with its time and the app it came from (energy only, no foods or other nutrients), to count them as eaten. You choose whether they replace or add to what you log in HW App.
- This data is stored on your device only and is used only for the calorie calculation.
- HW App does not write anything to Health Connect and does not read any other health data.
- This data is never sent off your device, shared, sold, or used for advertising. It is also left out of the cloud backup if you have an account.
- You can disconnect at any time in Calories, and remove the permission in the Health Connect settings.
The use of information received from Health Connect follows the Health Connect policy requirements, including the limited use requirements.
Rest timer and the "Physical activity" permission (Android app, 1.9.0)
So that the rest between sets keeps counting and beeps at 0 while the screen is off, the app runs the rest as an ongoing notification (an Android foreground service of the health type). Android only allows this kind of service with a fitness permission, so at your first rest the app asks for Physical activity. HW App does not read any activity, step or sensor data through this permission and stores nothing from it; it only keeps the rest timer running. If you refuse, everything works the same, only the beep with the screen off is missing. The notification ends with the rest or the workout.
Internet connections
- Updates (Android app): once per start the app downloads a small file (
update.json) from GitHub to see whether a newer version exists, and downloads the update itself from GitHub. GitHub sees a normal web request (for example your IP address), as with any website. - Website: the website asks the GitHub API for the newest app version to show it in the menu.
- Account (optional): only if you signed in, the app talks to Google Firebase and, for notifications, to HW App's notification server on Cloudflare, as described above.
- Links you tap (a web search for an exercise, Patreon, GitHub) open those services, which have their own privacy policies.
Deleting your data
Signing out of your account clears everything on the device (it stays in your account's cloud backup). Uninstalling the app (or clearing the website's data in your browser) removes everything on the device.
Deleting your account: Settings → Account & cloud → Delete account removes your account, public profile, profile page, block list, nickname, friend code, friends, open requests, chats, notification settings, cloud backup and its restore points from the server right away (the data on your phone stays). You can also do it on the website (sign in with the same Google account), see Delete your HW App account. If you can no longer sign in, ask for the deletion by e-mail to hwapp.support@gmail.com or by opening an issue at github.com/mikydon/hw-app/issues with your nickname or friend code (no other personal details needed); it is done within 30 days.
Children
HW App is not aimed at children. Accounts are only for people aged 16 or older (the app does not offer sign-in if the birth date entered shows a younger age). The calorie calculator advises users under 18 not to cut or bulk hard without a doctor's advice.
Contact
Questions: write to hwapp.support@gmail.com or open an issue at github.com/mikydon/hw-app/issues.