Privacy Policy

Last updated: September 24, 2026

Overview

CourtVision is a badminton coaching app that provides match recording, live streaming to YouTube, scorekeeping, and AI footwork analysis of practice drills. This policy explains what stays on your device, what we upload, and who else receives it.

Data We Access

When you connect your YouTube account, CourtVision accesses:

  • Your YouTube live streaming capabilities (to create and manage live broadcasts)
  • Your scheduled live broadcasts (to list upcoming broadcasts you can stream to)

How We Use Your Data

  • YouTube access is used solely to create, manage, and end live broadcasts on your behalf during matches. We never read, edit, or delete any other videos, comments, or playlists on your channel.
  • Skeleton (body pose) data extracted from your practice videos is used to generate footwork coaching feedback, and to improve the accuracy of our analysis.
  • Match data (scores, events) and player names are used to display your match history.

Data Stored On Your Device

Your recorded videos never leave your device. Video files, match history, and player names are stored on your iPhone and Apple Watch. YouTube authentication tokens are stored in your device's keychain and are never transmitted to us.

Data We Upload To Our Servers

When you run footwork analysis on a practice video, the following is uploaded to our database (Google Firebase Firestore), stored under an identifier derived from your Apple sign-in — your email address, or the anonymised relay address if you chose to hide it:

  • Skeleton (body pose) keypoint data extracted from the video, frame by frame
  • Session metadata: frame count, frame rate, video dimensions, pose model name, court reference points and calibration values
  • The coaching feedback generated for that session
  • Match records (scores and events) when you record a match

We do not upload your video files, audio, or any images. Only the numeric pose data derived from them.

Data Sharing

We do not sell your data or share it with advertisers. Data leaves your device only in these cases:

  • YouTube — your video and audio stream, and broadcast details, when you live-stream a match
  • Google Gemini API — the skeleton pose data described above, sent as text to generate coaching feedback. No video or images are sent.
  • Google Firebase — hosts our database and handles sign-in

How We Protect Your Data

We apply the following safeguards to all data CourtVision handles, including the Google user data obtained through the YouTube Data API:

  • Encryption in transit. Every request that carries your account data or personal information — Google sign-in and OAuth, the YouTube Data API, the Gemini API, and our database — uses HTTPS with TLS. The live video itself is sent to YouTube over the RTMP ingest address that YouTube issues for your own broadcast.
  • Encryption at rest. Data we store in Google Cloud Firestore is encrypted at rest by Google Cloud Platform. Data held on your device is protected by iOS file-system encryption, tied to your device passcode.
  • Credential storage. Your YouTube OAuth tokens are stored only in the iOS Keychain on your own device, where they are encrypted by the device's hardware-backed secure storage, isolated to CourtVision by the iOS app sandbox, and readable only while the device is unlocked. These tokens are never transmitted to us and never leave your device except to Google's own servers.
  • Access control. Uploaded analysis data is stored under a path unique to your account and requires authentication to reach. Server-side security rules restrict each account to its own data, so one user cannot read another user's data. On our side, access is limited to the single developer who maintains the app, using multi-factor-protected Google accounts.
  • Least privilege. CourtVision requests exactly one Google permission — the YouTube scope needed to create and manage live broadcasts on your own channel. We request no other Google user data, and we use no broader scope than the feature requires.
  • No secrets in the app. The app contains no shared credentials granting access to other users' data. All Google access is authorised by you, for your own account.
  • Data minimisation. We upload only the numeric pose data derived from your videos, never the videos, audio, or images themselves.

If you believe you have found a security issue, please report it to courtvisionlab@gmail.com and we will respond promptly.

Limits On Our Use Of Google User Data

Google user data — the YouTube data CourtVision accesses through the permission you grant — is used solely to provide the live streaming feature described above. Specifically, we do not and will not:

  • Use Google user data to develop, improve, or train any AI or machine-learning model
  • Sell Google user data, or transfer it to data brokers or information resellers
  • Use it for advertising of any kind, including targeted, personalised, retargeted, or interest-based advertising
  • Use it to build databases, or for credit-worthiness or lending assessments
  • Transfer it to any third party except as needed to deliver the feature you requested

The body-pose data used to improve our footwork analysis is derived from videos you record with the app's own camera. It is not Google user data, and no data obtained from any Google API is used for that purpose.

Data Retention and Deletion

Google user data. We do not retain any YouTube data on our servers at all. Your YouTube authentication token is held only in your device's keychain and is destroyed when you disconnect your account in the app or delete the app. You can also revoke CourtVision's access at any time in your Google Account settings, which invalidates the token immediately.

Data on your device. Videos, match history, and player names remain on your device until you delete them in the app, or until you delete the app, which removes all of them.

Data on our servers. We retain uploaded body-pose data and coaching results only for as long as is needed for the purposes described in this policy. Deleting a video or match inside the app removes it from your device and marks the corresponding record in our database as deleted. When the data is no longer needed for those purposes, we delete it.

You may request permanent erasure of everything we hold about you at any time by emailing courtvisionlab@gmail.com. We will delete it and confirm when it is done.

Third-Party Services

CourtVision uses the YouTube Data API v3, the Google Gemini API, and Google Firebase. Your use of these features is also subject to Google's Privacy Policy and, for streaming, YouTube's Terms of Service.

Contact

If you have questions about this privacy policy, contact us at: courtvisionlab@gmail.com