Privacy

What KinetiCourt stores and where it goes.

The beta request list and private analysis tool handle information differently. This page explains what happens in each.

Operator: Siddharth Narayana runs KinetiCourt as a high school research project. Effective and last updated: October 11, 2026.

Email siddharthnarayana7@gmail.com with the subject "KinetiCourt privacy" for privacy questions, access or deletion requests, or concerns about a recording. You can contact the operator directly without going through your club. Do not send passwords, sign-in links, or videos by email.

Information we collect and why

  • Account and access information: an account identifier, an email address if you supply one, authentication records, beta approval or club access status, and access-request timestamps. We use these to manage access, send account or project messages, and protect your reviews. A guest account has a persistent identifier even if you do not provide an email; it is not completely anonymous.
  • Your uploads and results: the video file you choose to upload, selected hitting arm, camera view, analysis options, job identifiers and timestamps, processing status, movement estimates, reports, and annotated replays. We use these to produce and deliver your review. The original file may contain faces, voices, background details, or embedded metadata.
  • Club activity: your account identifier, the first club link used, enrollment and grant-expiry times, and a record when the app reports displaying a completed review. We use these to manage pilot limits and summarize participation. These records do not directly contain your email or raw video, but remain linked to your account.
  • Technical and security information: network and browser information, request times, error and operational logs, and quota events. Our hosting, authentication, email, and security providers process information needed to deliver their services. The beta request form also uses keyed hashes derived from your email and network address to limit abuse; these are not a promise of anonymity.
  • Optional communications: questions you send to tennis chat, privacy or support emails, and feedback you choose to give. Chat has a separate provider disclosure below.

Pose analysis estimates body positions and movement from video frames. If you turn on ball tracking, the replay also shows visual ball markers. These measurements do not identify you through face recognition or biometric identity matching. They are estimates, not measured biomechanical ground truth or a medical diagnosis.

Where information goes and who can access it

Vercel hosts the website. Supabase handles authentication, beta requests and approvals, job metadata, abuse-limit events, and club activity records. Cloudflare Turnstile processes network and browser security signals during protected access flows. The configured email service sends account emails. Correspondence also passes through the email providers used by the sender and recipient.

When you upload, your browser sends the video to KinetiCourt's analysis API. The API and analysis workers currently run on Google Cloud. A private Google Cloud Storage bucket holds original videos, reports, and replays, with references to those files in Supabase job records. The project's analysis service processes body movement. Uploading does not itself send your video to Gemini chat.

Private records and media are also copied to a computer controlled by the operator to keep the service recoverable. That computer can run the analysis service as a fallback, with Cloudflare making the API available over the network. Protected migration and recovery copies may also exist. The analysis infrastructure is currently in the United States. Providers may process operational information in other countries under their terms.

Account ownership checks control normal access to private uploads and reports. The operator and authorized infrastructure providers can access data when needed to run, maintain, troubleshoot, or recover the service, or handle a privacy request. Using a club link does not let club staff see your account's videos. We do not automatically publish uploads or share individual videos with clubs, sell personal data, or use it for targeted advertising. Sharing an individual video requires a separate, clear request for permission. We may also have to disclose information when the law requires it.

Retention and deletion

Reviews expire 24 hours after the job is created. Waiting and processing time count toward those 24 hours. After expiry, the review is unavailable in the app. You can delete a job earlier from the results screen. The app then removes the job record and requests deletion of the stored source and result files. Adding an email does not extend the review period.

Cleanup happens during service access and maintenance. The cloud media bucket also deletes objects under a one-day-age rule; object versioning and soft-delete retention are disabled. Provider cleanup schedules, processing still in progress, failures, and outages can delay physical deletion. The 24-hour access period does not mean every copy disappears at the same moment.

  • Recovery copies: routine local mirrors are replaced during successful synchronization. Stopped fallback storage, preserved migration copies, and provider backups may retain data after active-service expiry until synchronized, replaced, or manually removed. You can request deletion of account, pilot, and recovery records as well as a video; we review the relevant copies when handling that request.
  • Accounts and beta requests: account records, supplied email addresses, beta requests, and approvals have no automatic 24-hour expiry. They remain until removed through project administration or a verified deletion request.
  • Club records: club grants and displayed-review records are removed by the service’s 90-day cleanup rules during maintenance or related activity. Video deletion does not automatically erase that past club activity. Saved aggregate summaries and separately collected research records have separate retention.
  • Abuse-limit events: the app’s quota windows and beta-request hash records use approximately 24 hours of activity; old events are purged when the relevant routines run, rather than by a guaranteed deletion timer.
  • Logs and correspondence: security and service logs follow provider or operational retention, and support/privacy emails remain in the project’s mailbox as needed to handle requests and retain a record of the response. These are separate from video expiry.

If you download a video, report, or coach notes, you control that copy. Deleting it on the server cannot erase your download. The video-delete button also cannot remove provider security logs or information already sent to Gemini.

Browser storage and coach notes

Supabase keeps session information in your browser so you stay signed in. The app also uses session storage to remember your current job and upload options. Clearing browser storage can remove guest access unless you have linked and verified an email. Chat history stays in page memory. Each new question sends up to six recent messages along with it.

The coach-feedback form lets you download your notes as a JSON file. It does not send them automatically to the server or chat. Leave out personal details if you plan to share the notes. Authentication, abuse prevention, and hosting may use browser storage or similar technologies. KinetiCourt does not install advertising trackers.

Optional AI tennis chat

When you send a chat question, it goes to Google's Gemini API with up to six recent messages and a compact subset of any attached analysis. That subset includes similarity and confidence information, movement observations, practice suggestions, and analysis limits. The request does not automatically include your account email, original video, replay, full pose stream, or sign-in token. Any personal information you type into chat still goes to the provider.

How Google handles that information depends on the API project's billing status. Under unpaid-service terms, Google may use submitted content and responses to improve its products, and human reviewers may read them. Under paid-service terms, prompts and responses are not used for product improvement, but may be kept for safety, abuse prevention, and legal obligations. Google currently documents 55-day retention of prompts, context, and responses for abuse monitoring. This is separate from product-improvement use under unpaid terms. We do not promise paid-tier treatment, and deleting a KinetiCourt review does not guarantee deletion of provider copies. Read Google's Gemini API terms and abuse-monitoring disclosure.

Keep confidential, identifying, medical, and other sensitive information out of chat. The app does not save chat messages with your analysis job. Google's terms require adult operators and prohibit API clients aimed at, or likely to be accessed by, people under 18. Minors should not use this chat. Permission to upload a tennis clip is separate from this restriction.

Research, training, and public examples

The upload pipeline analyzes clips with existing models. It does not automatically retrain them on your video. You can use the tool without giving optional research feedback. The pilot protocol uses neutral participant codes, usefulness ratings, and aggregate activity counts. A guest account count does not establish how many distinct people took part or whether their tennis improved.

An upload alone does not give us permission to keep your individual clip in a research dataset, train a model on it, publish it, quote feedback that identifies you, or give it to a coach. Before you agree to any of those uses, a separate request must explain the purpose, what would be kept or shared, and how retention and withdrawal would work. You can decline optional research feedback or publicity. Public sample videos are separate demonstration assets; their retention does not represent how ordinary private uploads are kept.

Adults only and recording permission

KinetiCourt is for adults aged 18 or older. If you are under 18, do not create an account, request access, upload a recording, or use the service. Everyone shown in an uploaded recording must be an adult who agreed to both the recording and upload.

KinetiCourt does not currently verify age. The guest checkbox states that you have recording permission; it does not prove your age. If you think information about someone under 18 has been submitted, contact the operator so the account and associated data can be reviewed and removed as appropriate.

Upload only recordings you have permission to use, and follow your club's recording rules. Check for bystanders, voices, addresses, license plates, and location metadata in the file. Recording and upload permission does not cover research, publicity, or sharing with an AI provider.

Your choices and privacy requests

You can skip uploading, leave ball tracking off, avoid chat, delete a review, or ask for account, beta-request, and pilot records to be removed. Email the operator to request access, a correction, a copy, deletion, withdrawal from agreed research use, or an explanation of a privacy decision. Give only the information needed to find your account or review. If you are a guest without an email, a job identifier or proof of access may help. We may need to verify ownership before sharing or changing private information. Do not send a password or access token.

We will explain any limits on your request, such as downloads outside our control or legally required retention, and respond as applicable law requires. If you disagree with our response, reply and ask us to reconsider. Your privacy rights depend on your location and which laws apply. This notice does not limit those rights.

Security and policy changes

We use encrypted web connections, account authorization, private cloud storage, and restricted service credentials. Absolute security is not something an internet service can guarantee. Report any suspected exposure to the privacy contact above.

When our data practices change, we will update this page and its date. Where appropriate, we will also communicate material changes through an available account notice or email. Updating the policy does not replace permission required to use previously collected data in a new way.

Ready to review your swing?

Sign in to upload a clip and manage your analysis.

Sign in to KinetiCourt