Introduction
TennisCount ("we", "us", "our") is a tennis scoring app for Apple Watch and iPhone. We are committed to protecting your privacy and being transparent about how we handle your data.
This Privacy Policy describes what information TennisCount collects, how it is used, and the choices you have regarding your data. By using TennisCount, you agree to the practices described in this policy.
Information We Collect
2.1 Health and Fitness Data
TennisCount uses Apple HealthKit on Apple Watch to enhance your tennis experience. With your explicit permission, we access:
- Heart rate during matches (read and display)
- Active calories burned during matches (read and display)
- Workout sessions (written to HealthKit at the end of each match)
2.2 Match Data
When you play a match, TennisCount processes the following data locally on your device:
- Player names (as entered by you)
- Match scores, sets, and game progression
- Match configuration (number of sets, tiebreak points, court type)
- Match duration and timestamps
- Match history (stored on Apple Watch)
This data is stored locally using encrypted on-device storage (UserDefaults) and is not transmitted to external servers unless you use the Shared Match feature.
2.3 Shared Match Data
When you use the Shared Match feature to broadcast or follow a live match, the following data is transmitted to our server:
- Player names
- Match scores and game state (points, games, sets, tiebreak status)
- Match configuration (sets, tiebreak points, court type, simplified mode)
- A temporary 5-digit match code
- Your device's push notification token
2.4 Push Notification Token
To deliver real-time score updates when the app is in the background, TennisCount collects your Apple Push Notification service (APNs) device token. This token:
- Is generated by Apple and is unique to your device and app installation
- Is sent to our server only when you create or join a Shared Match
- Is used exclusively to deliver silent push notifications with match score updates
- Is not stored permanently — associated with the active match session only
- Is not shared with any third party beyond Apple's push notification infrastructure
2.5 Camera Access
TennisCount requests camera access solely to scan QR codes for joining Shared Matches. The camera is used only when you explicitly tap the "Scan QR Code" button, processes QR codes locally on your device, and does not capture, store, or transmit photos or video.
2.6 Subscription and Purchase Data
TennisCount Pro subscriptions are handled entirely by Apple's StoreKit framework. We do not collect, process, or store your payment information, credit card details, or Apple ID. Subscription status is verified locally on your device using StoreKit 2 transaction verification. All billing, renewals, and cancellations are managed by Apple through the App Store.
Information We Do Not Collect
TennisCount does not collect, use, or share:
Third-Party Services
TennisCount uses no third-party SDKs, analytics frameworks, or advertising networks. The app is built entirely with Apple-native frameworks:
- Apple HealthKit — health and fitness data (on-device only)
- Apple WatchConnectivity — iPhone–Watch communication (encrypted, on-device)
- Apple StoreKit 2 — in-app subscriptions (managed by Apple)
- Apple Push Notification service (APNs) — match notifications
- Amazon Web Services (AWS) — Shared Match real-time synchronization
Data Storage and Security
| Data | Storage Location | Encryption | Retention |
|---|---|---|---|
| Health / Fitness data | Apple HealthKit (on-device) | iOS encryption | User-controlled via Health app |
| Match history | Apple Watch (UserDefaults) | watchOS encryption | Until user clears history |
| Player names & settings | iPhone / Watch (UserDefaults) | iOS / watchOS encryption | Until changed or app deleted |
| Shared Match session data | AWS (São Paulo region) | WSS (TLS) in transit | Session-based, temporary |
| Push notification token | Memory only (not persisted) | TLS in transit | Duration of match session |
| Subscription status | Apple StoreKit (on-device) | iOS encryption | Managed by Apple |
| Guest trial date | iPhone (UserDefaults) | iOS encryption | 14 days |
Data Sharing
We do not sell, rent, or trade your personal information to any third party. Data is shared only in the following limited circumstances:
- Shared Match participants: Match scores and player names are transmitted to other participants in the same session via our server.
- Apple: Push notification tokens are processed by Apple's APNs infrastructure. Subscription transactions are processed by Apple's App Store.
- AWS: Shared Match data is temporarily processed on AWS servers for real-time synchronization.
Data Retention
- Local data (settings, match history, player names) is retained on your device until you change it, clear the app's data, or delete the app.
- Health data is retained in Apple HealthKit until you delete it via the Health app.
- Shared Match session data is temporary and is not retained after the match session ends.
- Push notification tokens are held in memory only for the duration of an active Shared Match and are not persisted.
Your Rights and Choices
You have full control over your data:
- HealthKit access: Grant or revoke at any time in Settings → Health → TennisCount.
- Push notifications: Enable or disable in Settings → Notifications → TennisCount.
- Camera access: Enable or disable in Settings → TennisCount.
- Match history: Clear within the app via History → Clear All.
- Subscription: Manage or cancel at any time through Settings → Apple ID → Subscriptions.
- Delete all data: Deleting the app removes all locally stored data. Health data must be deleted separately through the Health app.
Children's Privacy
TennisCount does not knowingly collect personal information from children under the age of 13 (or the applicable age in your jurisdiction). The app does not require account creation, does not collect identifying information, and does not contain advertising.
International Data Transfers
Shared Match data is processed on servers located in South America (AWS São Paulo, Brazil). If you use the Shared Match feature from outside this region, your match data (scores, player names) will be transmitted to and processed in this location. This data is encrypted in transit and is not stored permanently.
Changes to This Privacy Policy
We may update this Privacy Policy from time to time. Any changes will be reflected by updating the "Last Updated" date at the top of this document. We encourage you to review this policy periodically. Continued use of TennisCount after changes constitutes acceptance of the updated policy.
Contact Us
If you have any questions, concerns, or requests regarding this Privacy Policy or your data, please contact us:
Developer — Clovis Sarturi
sarturidev@gmail.comApple App Store Requirements
This Privacy Policy complies with:
- Apple App Store Review Guidelines (Section 5.1 — Privacy)
- Apple HealthKit Developer Guidelines
- Apple Required Reason APIs