1. Who we are and how to contact us
ApexCast is an independent racing commentary product based in New York, United States. In this policy, “ApexCast,” “we,” and “us” mean the operator of the ApexCast website, desktop application and related account services. For privacy questions or requests, email help@apexcastai.us. This policy covers those services; separate third-party services have their own privacy notices.
2. Account information
When you create or use an account, we process information such as your email address, display name, Firebase account identifier and sign-in information. Firebase Authentication supports account access. We use account identifiers to associate subscriptions, credit balances, settings and saved race history with the correct user. If you use Google sign-in, Google and Firebase process information needed to authenticate you.
We ask for the account user’s date of birth before account entry to determine eligibility. Eligible users’ dates of birth are stored in a restricted Firebase Firestore account profile. We record Terms acceptance and Privacy Policy acknowledgement with the account identifier, policy version, document hashes, server timestamp, client confirmation time and entry source. For users aged 16–17, the record includes the parent or legal guardian declaration. These are self-declarations, not verified identities. Rejected under-16 entries are not submitted to this agreement database. Agreement records are retained to document the terms governing the account and resolve disputes, subject to applicable retention and deletion requirements. Contact support to correct a saved date of birth.
3. Billing and voice-credit records
Stripe handles payment processing. We process customer and subscription identifiers, plan status, purchase and billing events, credit balances and credit-use records to provide paid features, reconcile payments and prevent duplicate charges. Full card details entered into Stripe's payment interface are handled by Stripe rather than stored by the ApexCast desktop app. Financial and credit records may remain after account deletion where needed for accounting, dispute resolution, fraud prevention or legal obligations.
4. Race telemetry, commentary and local processing
Depending on your app version, game and runtime mode, ApexCast processes game telemetry and race context locally or sends telemetry batches to a hosted commentary service. Race context may include game-session identifiers, participant names or identifiers, standings, lap and position information, incidents and related performance data. A compatible local-engine mode generates commentary on your device. Using a local engine does not make all ApexCast activity offline: authentication, paid voice generation, billing, history synchronization and support features can still contact our services.
5. Hosted voice and Fish Audio
When you use managed hosted voice, commentary text and synthesis settings, such as the selected voice and delivery style, pass through the ApexCast voice gateway to Fish Audio to generate speech. Commentary can contain participant names and race details. ApexCast also processes session and frame identifiers, audio, timing information and credit receipts to deliver clips and prevent duplicate generation or billing. Generated or prefetched clips can create processing and billing records even if you do not ultimately play them. Fish Audio's handling of submitted content is subject to its applicable service terms and privacy practices; Provider retention and any use beyond fulfilling a synthesis request depend on the applicable provider agreement and account settings. Avoid including unrelated sensitive information in commentary or support submissions.
6. Race history, recordings and device storage
ApexCast can keep race recaps and history associated with your account, with local caches for continuity. Local processing can also keep per-account story-rotation history on your device. If you enable telemetry recording, recording files are written to the configured local recording folder; they may contain participant and race information. Preferences, runtime logs, cached audio and downloaded runtime or engine files may also be stored on your device. Stopping the runtime cleans up its disposable engine files; it does not erase all local history, recordings, settings or logs. You control copies that you export or share.
7. Support reports and attachments
When you submit a support report, we process your message, account identifier and email, app version, platform, current screen, settings and runtime diagnostics, and any attachments you submit. Diagnostic context may include race and commentary details, timing records and local file paths. Review your report and attachments before sending, and avoid including passwords, payment details or unrelated sensitive information. The support flow uses Firebase functions and Firestore, Resend for email delivery and our support mailbox. Email identifiers and delivery webhook records help us track whether a report was sent or delivered.
8. Website storage and technical information
The website uses browser storage for preferences such as theme selection and page-transition state. Sign-in services can also use browser storage needed for authentication. Hosting and service providers may process IP addresses, request timestamps, browser or device information and security or operational logs when you connect. Clearing browser storage may reset preferences or sign you out. Our current website code does not implement a separate response to browser Do Not Track signals. Third-party links and services may have their own tracking practices.
9. Why we use information
We use information to authenticate users, operate accounts and paid features, process race context, generate and deliver commentary, maintain requested history, respond to support requests, investigate failures, protect service security and reconcile billing. We also use operational diagnostics and feedback to improve reliability. Where privacy law requires a legal basis, the basis depends on the activity: providing a requested service or performing a contract, legitimate interests in security and reliable operation where those interests are not overridden by your rights, meeting legal obligations, or consent for processing that requires it. Acknowledging this policy is not blanket consent to unrelated processing.
10. Who receives information
We disclose information needed by providers performing service functions, including Google/Firebase for authentication and support infrastructure, Render and database providers for backend operation, Netlify for website hosting, Stripe for payments, Fish Audio for speech synthesis, and Resend and our mailbox provider for support email. The information a provider receives depends on its role; providers do not necessarily receive every category described here. We may also disclose information when required by law, to protect rights or investigate abuse, and to advisers or a successor in a business transaction subject to appropriate confidentiality and applicable law. We do not sell personal information. External community sites or integrations you choose to use are governed by their operators' notices.
11. Retention
Retention depends on the purpose and location of the data. Account, subscription and saved-history information is retained to operate the account and requested features. Support reports, attachments and delivery records are retained to investigate and respond to issues. Billing, credit and security records can need longer retention for reconciliation, disputes, fraud prevention or legal requirements. Temporary voice audio is cached for delivery and retry protection; the local voice gateway currently defaults to a ten-minute cache window, with expired audio cleared during subsequent processing rather than guaranteed deletion at exactly ten minutes. Billing receipts can outlive the audio. Local files persist according to app behavior and your device management. Provider logs, backups and independently retained financial records have separate retention requirements.
12. Your choices and privacy requests
You can manage available account settings, recording options and saved history in the app, and choose whether to submit support reports and attachments. Account deletion is available through the app for eligible customer accounts. For access, correction, a copy of your information, deletion or another privacy request, contact help@apexcastai.us using your account email where possible. We may need proportionate information to verify identity; do not send passwords or full payment-card details. Depending on applicable law, you may also have rights to restrict or object to processing, withdraw consent, use an authorized agent, appeal a denied request or complain to a privacy regulator. We respond within applicable legal deadlines, explain relevant exceptions, and do not discriminate for exercising protected rights.
13. What account deletion does and does not cover
Account deletion removes supported account and history records, but does not automatically erase files on your device, copies you shared, support-mailbox messages, every backup or records retained for legitimate legal and accounting purposes. Different ApexCast services and providers can hold different records; contact us for a broader deletion request. Subscription cancellation and personal-data deletion are distinct actions. Manage recurring billing through the billing portal and retain cancellation confirmation; contact support if you cannot confirm cancellation. Removing an app or clearing local files alone does not cancel a subscription.
14. Security
We use access controls and other technical and operational safeguards intended to protect account and service information. No service can guarantee absolute security. Keep account credentials secure and contact support if you suspect unauthorized access. A privacy notice describes information practices; it is not a guarantee that all security risks have been eliminated.
15. Children
ApexCast accounts and services are for people aged 16 or older. Users aged 16 or 17 must have a parent or guardian approve their use, and purchases must be made or authorized by a parent or guardian. We do not knowingly permit users under 16 to create accounts. If you believe a user under 16 has supplied personal information, contact help@apexcastai.us so we can investigate and take appropriate action. Parental approval of use or purchases does not replace privacy rights or consent requirements that apply to teenagers. Applicable law may restrict optional processing and require additional consent or safeguards.
16. International processing
Our providers may process information in countries other than where you live, whose privacy laws may differ. Where applicable law requires a transfer safeguard, an appropriate transfer mechanism and related provider arrangements must be used. Using ApexCast or acknowledging this policy does not waive your rights or by itself authorize every international transfer. Contact us for information about the safeguards applicable to your information.
17. Changes to this policy
We will publish revisions here and update the effective date when a revised policy takes effect. For material changes, we will provide additional notice through the website, app or account communication as appropriate, and obtain consent where required. A new policy does not override legal restrictions on using information already collected.
18. Contact
Send privacy questions, requests or complaints to help@apexcastai.us. Please identify the ApexCast service and account involved and describe the request. Do not include secrets or unnecessary sensitive information.