Privacy Policy
Last updated: 4 October 2026
RhythmCount is developed by JoCoding, Inc. This policy explains what the app handles and what never leaves your device. It applies to the app on iOS and Android; where the platforms differ, the difference is called out below.
Camera and motion data stay on your device
RhythmCount uses the camera to detect body position and count repetitions. All camera frames and pose data are processed entirely on-device. The app does not record, store, or transmit any images, video, or pose data. Nothing in front of the camera ever leaves your phone, and we cannot see it.
Live matches
If you start or join a live match, the app connects to our match server and sends only your chosen nickname, your running rep count, the room code, and a random identifier created on the device to tell the two players apart. Camera frames and body positions are never sent. Rooms are deleted within minutes of a match ending. We keep an anonymous record of finished matches (duration, both counts, and the result) that contains no nickname and no identifier.
실시간 대결을 시작하거나 참여하면 앱이 대결 서버에 연결되어 닉네임, 현재 반복 횟수, 방 코드, 그리고 두 참가자를 구분하기 위해 기기에서 생성된 임의의 식별자만 전송합니다. 카메라 영상과 자세 정보는 전송되지 않습니다. 방은 대결 종료 후 몇 분 안에 삭제됩니다. 종료된 대결의 익명 기록(시간, 양쪽 횟수, 결과)만 보관하며 닉네임이나 식별자는 포함되지 않습니다.
Data collected by third parties
- Google AdMob (advertising) — may collect device identifiers (the advertising identifier), IP address, and ad-interaction data to serve and measure ads. On iOS the identifier is used only if you allow it at the App Tracking Transparency prompt; on Android it is the Google Advertising ID, which you can reset or delete at any time in Settings. See Google's Privacy Policy. Where required, a consent form is shown before ads load and you can decline personalised ads.
- RevenueCat (purchases) — processes an anonymous app-user identifier and purchase history to deliver and restore the one-time purchase. See RevenueCat's Privacy Policy.
- PostHog (product analytics) — we record a small set of named events to understand how the app is used and where it fails: a round started or ended (whether it was solo or a match, the number of reps, and how long it lasted), a match created, joined or finished (the result and both counts), and whether the daily-cap screen, a rewarded ad, a purchase or a restore succeeded. Events carry an anonymous app-user identifier (the same one RevenueCat uses), app and device information such as version, OS and model, and an approximate location derived from the IP address. They never contain camera images, pose data, nicknames, room codes or anything you type. There is no session recording and no automatic capture of taps or screens. See PostHog's Privacy Policy.
- Meta (Facebook) SDK (measuring our own ads) — reports that the app was installed and opened, so we can tell whether our ads on Facebook and Instagram work. On iOS it uses the advertising identifier only if you allow tracking at the App Tracking Transparency prompt; otherwise attribution happens through Apple's privacy-preserving SKAdNetwork. On Android it uses the Google Advertising ID, which you can reset or delete in Settings. Purchases are not sent to Meta. See Meta's Privacy Policy.
- Google MediaPipe (on-device pose detection) — the pose detection library bundles Google's diagnostics component, which reports technical information about the library itself: that inference ran, which model was used, and how it performed. It carries no image and no pose data. See Google's Privacy Policy.
What we do not collect
- No account or sign-up; no names, emails or contacts. A live-match nickname is whatever you type and is not linked to you.
- No camera images, video, or pose data.
- No precise location.
- Your settings are stored only on your device. Rep counts are stored only on your device too; the per-round totals described under PostHog are the only counts that leave it.
Requesting deletion of your data
The app has no accounts, so there is no profile of you that we can look up by name or email. The match server keeps no data about you once a room is deleted. Your settings live only on your device and are removed when you uninstall the app.
Analytics events are tied only to the anonymous app-user identifier. To have them deleted, email highball@jocoding.net telling us roughly when you used the app and on which device and platform, and we will find and delete the matching events. Analytics events are otherwise kept for up to one year.
For the limited data the third parties above receive, email highball@jocoding.net and we will pass your deletion request on to them. You can also reset or delete your advertising identifier yourself at any time in your device settings.
Children
The app is not directed at children and does not knowingly collect personal information from them.
Changes
Updates to this policy are posted here with a new date.
Contact
highball@jocoding.net