Privacy Policy
Effective October 6, 2026
KneeClap is made by Quyen Dang ("we"). This policy explains what the KneeClap apps for iPhone and Android do with your data. The short version:
- Your motion sensor data and your workouts stay on your phone.
- If you join the optional Weekly Leaderboard, your display name, avatar color and each workout's rep count and duration are sent to our leaderboard server so you can be ranked. You can leave any time.
- There is no email or password account, no advertising and no advertising ID.
- The app sends anonymous usage statistics, and you can turn that off in Settings.
- Payments are handled by Apple or Google. We never see your card details.
Data that stays on your phone
- Motion sensor data. The accelerometer and gyroscope are read while a workout runs to count your reps. This data is processed in real time on the phone and is never uploaded.
- Workout history. Date, reps, duration, pace and counting mode are saved in the app's local storage. They are not synced to any server (if you join the Weekly Leaderboard, it receives only what is listed below). You can delete them in Settings › Data › Delete All Workouts, or by deleting the app.
- Settings. Your preferences (counting mode, feedback, voice, weekly goal) are stored locally.
- Voice. Spoken counts and guidance use your phone's built-in text-to-speech. No audio is recorded and the microphone is never used.
- Troubleshooting export. A hidden developer tool can export a motion recording as a file. It is only created when you start it, and only shared where you choose to send it.
Weekly Leaderboard (optional)
The leaderboard ranks players by the total reps of their workouts in the current week (Monday 00:00 UTC to the next Monday). It is off until you join it from the app.
- What we receive when you join: the display name you choose, an avatar color, your platform (iPhone or Android), and a random code the server creates to recognise your phone. Only a cryptographic hash of that code is stored on the server; the code itself stays in your phone's secure storage (iOS Keychain / Android Keystore).
- What we receive per workout: a random workout ID, the number of reps, the active duration and the start time. Never motion sensor data, recordings, location or health data from other apps.
- What other players see: your display name, your initials and avatar color, your weekly reps and your rank. Nothing else.
- Pacers: while the community is small, the board also includes computer-generated players ("pacers") to give you someone to chase. They are not real people and receive no data from you. They are phased out as more people join.
- Reports: players can report a display name. If several players report it, the name is hidden and shown as "Player". We keep who reported which name until the name is changed or either player leaves.
- Turning it off: switch off Settings › Weekly Leaderboard › Participate to stop uploads and disappear from the board, or choose Leave Leaderboard to delete your leaderboard profile, workouts and reports from the server immediately. Workouts stay on your phone either way.
- Where and how long: the leaderboard runs on Cloudflare (Workers and D1) as our service provider. Data is kept while you participate; past weeks stay visible as final results until you leave. Requests also pass your IP address to Cloudflare, which we use only to limit how many profiles can be created and do not store.
Anonymous usage analytics
To learn which features are used and where people get stuck, the app uses Google Analytics for Firebase. It is on by default and you can turn it off at any time in Settings › Data › Share anonymous usage data. When it's off, the app stops sending analytics.
When it's on, the app sends:
- App events, for example: onboarding finished, workout started or completed (with plan type, counting mode, rep count and duration), the voice guide skipped, the Premium screen opened, a plan selected, a purchase or restore attempted.
- Standard Firebase data: a random app-instance ID, device model, operating system version, app version, language, approximate country or region, and when sessions start.
It never sends motion sensor data, your name, email, contacts or precise location. The advertising ID is not collected (on iPhone the ad-ID component is not included; on Android the advertising ID permissions are removed), and ad personalization is off. Google processes this data on our behalf under the Firebase data processing terms. Data is kept according to the retention setting of our Google Analytics property and then deleted. We use it only to improve the app and do not sell or share it for advertising.
Purchases
Premium subscriptions are sold through the Apple App Store or Google Play. Apple or Google processes the payment under their own privacy policies. The app only receives whether your subscription is active, and when it renews or expires, so it can unlock Premium. That status is stored on your phone.
Ratings
The app may show the system rating prompt from Apple or Google. Any rating or review you leave goes to the store, not to us.
Children
KneeClap is not directed at children under 13 and we do not knowingly collect personal information from them.
Your choices and rights
- Turn off analytics in Settings › Data.
- Delete your workouts in Settings › Data, or delete the app to remove everything stored on the phone.
- Leave the Weekly Leaderboard in Settings to delete everything it stored on the server. If you no longer have the app or phone, email us your display name and we will delete it.
- Because analytics data is not linked to your name or account, we usually cannot identify it as yours. If you want to ask about it or exercise a right you have under laws such as the GDPR or CCPA, contact us.
Changes
If this policy changes, we will update this page and the date at the top. Significant changes will also be noted in the app's release notes.
Contact
Questions about privacy: support@kneeclap.app