Last updated: 23 September 2026
HourSet has no account and no sign-in. It collects nothing that identifies you. Your training stays on your own device.
There are three exceptions. All are worth stating at the top rather than burying.
The subscription screen talks to a payment service. It fetches prices, and checks whether you have already paid. If you never open that screen, the app never contacts anybody about money. What it sends is set out under "Purchases".
If the app hits an error, it sends the error. Not what you were doing, and not what you lifted. It sends the fault itself, where in the code it happened, and the phone model and operating system version. No identifier goes with it. Two reports from the same phone cannot be recognised as coming from the same phone. This is set out under "Crash diagnostics".
Once a day, the app sends anonymous usage counts. Counts such as "a workout was finished" or "an exercise was swapped for another". No identifier, nothing about your body, never your weights or reps. You can switch it off in Settings. This is set out under "Anonymous usage counts".
One other thing can leave your device. If you switch spoken cues on, the cue goes to your phone's own text-to-speech engine. That is described further down.
Everything HourSet knows about you is written to your own device and stays there:
This is held in the app's private storage. No copy is sent anywhere. Uninstall the app and all of it is deleted with it.
None of this is ever transmitted, including when you buy a subscription. Your training history is not part of a purchase. It is never sent with one.
Browsing HourSet is free: today's plan, the exercise previews and your progress. Starting a workout needs a subscription or a one-time purchase. Payment is handled by Apple or Google. HourSet never sees your card, your billing address or your store account.
To know whether you have paid, the app uses RevenueCat, a subscription service operated by RevenueCat, Inc. in the United States. When it runs, it sends:
When it runs is deliberately limited. The app does not start RevenueCat when it launches. It contacts the service in two situations:
One more question leaves your phone, and it goes to the store you installed from. Once a day, when you open the app, HourSet asks Google Play whether a newer version exists. The question is answered by the Play services already on your phone - the same ones that installed the app and could update it silently on their own - and it carries nothing about you or your training. Nothing downloads unless you tap the update.
Two consequences worth stating plainly. If you never open the subscription screen, the only network requests HourSet makes are that once-a-day version check to Google Play and, unless you switch them off, the once-a-day usage counts described below. And the one-time lifetime purchase cannot lapse, so it is never re-checked.
RevenueCat's own privacy policy is at https://www.revenuecat.com/privacy/.
When something in the app goes wrong, a report is sent to Sentry (https://sentry.io), a diagnostics service. It contains the error, the line of code it came from, and the device model and OS version. That is the whole of it.
What it deliberately does not contain:
An error inside the app does not register as a crash with Apple or Google. Without these reports, a fault could only be reported as "it broke". A bug nobody can locate is a bug that stays.
Sentry's privacy policy is at https://sentry.io/privacy/.
From version 1.0.1, HourSet counts a few things about how the app is used, so it can be improved without asking anyone to sign up. The counts are added up on your phone and sent at most once a day.
What is counted:
What is never sent:
Where it goes. To HourSet's own small server, which runs on Cloudflare Workers (Cloudflare, Inc., United States). It keeps nothing but the daily totals. Nobody else receives the counts.
Switching it off. Settings → Privacy → "Share anonymous usage counts". Switching it off also deletes any counts on your phone that had not been sent yet. Counts already sent cannot be deleted on request, because nothing in them says which were yours.
Cloudflare's privacy policy is at https://www.cloudflare.com/privacypolicy/.
HourSet requests one permission: notifications. It is used only to show your rest timer on the lock screen while a workout runs. You do not have to keep the app open. It is optional. Decline it and the app works normally, with the timer on screen.
Turn on spoken cues and HourSet passes the exercise name and the cue to your phone's own text-to-speech engine. On most Android phones that is Google Text-to-Speech. It may process the phrase on the device, or on Google's servers. Your own system settings decide which. HourSet sends it nothing else. No information about you is included.
Android Backup is your device's own setting. With it on, Android may include HourSet's stored data in that backup. That is handled by Android under Google's terms, not by HourSet. You control it in your device settings.
The identifier RevenueCat holds is random. It is not tied to your name or email. That means we cannot look you up from your own details. To have the record for your installation deleted, email the address below. Send it from the account you bought with, and we will pass the request on. Deleting it does not cancel or refund a subscription. That is done in the App Store or Google Play.
Your training data needs no request. It is on your phone. Uninstalling deletes it.
HourSet is a general-purpose fitness app. It is not directed at children under 13. It collects nothing that identifies anyone, of any age. Apart from the anonymous usage counts, which can be switched off, it collects nothing at all about anyone who does not open the subscription screen or hit an error.
If this policy changes, the new version is posted at this address. It carries a new date at the top.
Questions about this policy: adriannehlee@gmail.com