Privacy Policy
Optional Community in Rally 2.0.3 and later. The Community features described below require a supported release and a Community account. Earlier app versions may not include them. The existing core tennis disclosures remain applicable; Community storage and sharing are described separately.
Effective date: November 1, 2026. Policy revision: 2026-11-01-community-2.0.3.
Swing-processing disclosure: 2026-07-28-public-v1-2.
Version 2.0.2, build 85: Rally includes a free manual and timed tennis journal, optional iPhone Calendar planning, court-time Insights and visual PDF export, and adds optional Apple Health imports and Apple Watch Tennis workouts. These Health and Watch features are introduced in this release and may not be available in earlier app versions. This version does not include Meta's Facebook SDK, request Apple's tracking permission, collect the advertising identifier, or send app installs, app activity or subscription events to Meta. New product-analytics collection and delivery are disabled in this build, and no Share usage analytics choice is shown in setup or Profile. Existing protected deletion requests for earlier analytics data can still retry. Internal subscription reporting through RevenueCat remains enabled and is described below.
Earlier versions and previously shared data: before version 1.0.14, build 71, versions with optional Meta advertising measurement could share installation and app activation/session events, app/device identifiers including the advertising identifier when permitted by iOS, and associated technical and SDK status information after tracking permission. Those earlier practices do not apply to this version. Updating the app does not retroactively delete information already received by Meta. See sections 5 and 6 for prior-data requests.
This Privacy Policy and biometric retention schedule explain how Rally AI ("Rally," "we," or "us"), operated by Bryce Ranchero, an individual in Illinois, handles information through the Rally AI iPhone app, Apple Watch companion and public-launch website. Privacy questions, rights requests, appeals, and requests for the operator's legal mailing information may be sent to ricebboi@gmail.com.
Optional Rally Community
Community accounts: Community is optional and separate from local tennis tracking and Rally Pro billing. Sign in with Apple, Google, an emailed one-time code, or an existing account password. Supabase Auth processes the email address, provider identity, sign-in and session records needed to authenticate you. Apple and Google passwords remain with those providers. Email-code sign-in does not require a password. For optional password sign-in, the app sends the entered password to Supabase Auth over HTTPS and does not save it; Supabase stores salted password hashes. Supabase stores Community information and uploaded photos. Rally's Community API and deletion worker run on Modal. Resend sends account verification and sign-in emails.
Community eligibility and tennis setup: Community stores your confirmation that you are 18 or older and your acceptance of the Community Guidelines, with the applicable versions and a recorded time. This receipt is private and does not include your birthdate, tennis setup answers, signature image, local tennis files, Health permissions or Apple subscription identity. New Community signups leave your tennis setup answers and beginner preference on your device. If an earlier version saved those preferences and processing-agreement or adult-confirmation records privately to your account, those existing records remain separate and are removed through Community account deletion.
Profile and social information: Community stores your chosen display name, unique username, biography, profile photo and visibility setting; selected posts and photos; captions, comments, replies and thumbs-up reactions; follows, requests, blocks and reports; related identifiers, timestamps and operational records. Your username, name, biography and profile photo can be visible to other unblocked Community members even when your profile is private. Address-book matching and phone-number discovery are not available in the initial Community release, and joining does not upload your address book.
Your chosen audience: Everyone posts from public profiles can appear in the public feed. Followers posts require an accepted follow relationship. A private profile restricts both Everyone and Followers posts to accepted followers. Only me posts are visible only to their owner, except for the limited reported-content moderation described below. Changing a private profile to public can make its existing Everyone posts visible in the public feed. Blocking restricts discovery and access between the accounts. A copied invitation is not permission to access private content, and the public invitation page does not display account or post details.
What you choose to share: Joining or signing in does not upload your local tennis history, videos, Photos library or Apple Health data. A post may contain your chosen photos, text or an explicitly selected manual/phone-timer court-time story. The initial Community release does not support sharing Watch or Apple Health-derived sessions, heart rate or calories. Posting a photo or manually entering fitness information still discloses that chosen content to its audience. Copies another person saves or shares outside Rally may remain outside our control after you remove a post.
Automated screening and reports: Rally validates and resizes supported photos, removes embedded metadata, and screens content on its server before publication. A bundled model checks images for explicit sexual content; limited text rules check certain abusive and explicit language. These checks can miss prohibited content or reject permissible content. They do not establish a person's age, consent, identity or ownership. Accepted content publishes immediately without a manual approval queue. You can report a profile, post or comment, block an account, or contact support. Authorized moderation can inspect the specific reported content, remove content and restrict posting. The Founder badge identifies Rally's founder; it does not grant general browsing access to unreported private posts.
Retention and deletion: Community content remains stored until you delete it or delete the Community account, subject to the limited records and backup retention described here. A moderation takedown hides the post or comment but can retain its content and photos so an authorized administrator can restore it. Photo cleanup runs asynchronously; unattached uploads become eligible for cleanup after a minimum age of 24 hours. The in-app Delete community account control immediately disables Community access and queues removal of the profile, posts, photos, comments/reactions, relationships, matching records if any, and authentication identity. Cleanup can retry after a service failure; an accepted request is not a guarantee that every queued step has completed. Stored Apple authorization tokens are encrypted and used for the required revocation attempt; if a token is unavailable, Rally provides Apple's manual removal instructions while still deleting Rally data. Deleting the Rally account does not itself revoke Google's external permission grant; you may remove Rally's access in your Google Account. Limited report, abuse-prevention and audit records may remain only as necessary for their documented purpose, security or legal obligations. Supabase database backups retain earlier database records for the configured seven-day window; storage objects require a separate recovery process. Restored records must be checked against deletion requests before any service is reopened.
Separate controls: Signing out, deleting a Community account, deleting local Rally data and cancelling an Apple subscription are different actions. Community deletion does not cancel Rally Pro or erase your local tennis library. Local deletion does not claim to delete the Community account. Manage billing in Apple subscription settings. Community information is not automatically linked to advertising or product analytics, and is not used to train a model. Community reports and assistance: rallyai.app@gmail.com. Existing privacy-rights requests may also use the contact and process below.
1. Information and sources
Local video modes: standalone Skeleton Overlay and Wall Practice process the selected video and movement information on your iPhone. These modes do not upload their footage or pose tracks to Rally's analysis server. Original audio may be retained for local playback or export when you choose it. Files you save to Photos or Files, or share with another app or person, follow that destination's settings and policies; deleting Rally data does not delete those exported copies. The audio removal and temporary server-processing descriptions below apply to uploaded swing analysis.
Tennis journal in version 2.0.2, build 85: when you save a session, Rally stores the date, session type, duration, optional start and end times, title, notes and practice focus on your iPhone, together with its time zone, a local record identifier, manual, timed or Health source and save/update times. Court-hour totals, session counts, court days, average and longest sessions, weekly charts and session-type summaries are calculated on the iPhone. Manual and timed logging, full journal history, editing, deletion, Insights, PDF export and session-data export are free; they do not require a trial, subscription, account, internet connection or Apple Health permission.
Session timer: Without a Watch workout, Start session saves a running Practice session on your iPhone with a local identifier, start time, original time zone and journal date. Closing Rally or locking the phone does not end this timer; elapsed time is calculated from the saved start. End & save records its duration and end time as one completed journal entry. You can edit it afterward. Discard removes the running phone timer without adding court time. Phone-only timing does not request Health or background-location access or create an analytics or Calendar event. When Apple Health is connected and a compatible paired Watch is available, Start session can instead start the optional Watch workout described below.
Optional Apple Health imports: After you choose Connect Apple Health on the iPhone, Rally requests permission to read Workouts, Active Energy and Heart Rate. You choose new workouts from now or a 30- or 90-day history. Rally reads accessible Tennis workouts, including start and end times, duration, time zone, workout identifier, source app and device information, and available workout-associated active calories and average heart rate. Local connection settings, sync progress and skipped-workout identifiers help avoid duplicates and retry unfinished imports. Heart rate and energy may be unavailable. Completing Apple's permission screen does not tell Rally whether every read permission was granted. Manual logging remains available without connecting Apple Health.
Optional Apple Watch workouts: With your permission, Rally on Apple Watch records and saves Tennis workouts to Apple Health. It requests permission to save Workouts and read Workouts, Heart Rate and Active Energy. You can start on the Watch or from the paired iPhone. Workout time, available heart rate and active calories, recording state, pause/resume/end commands, and local session and workout identifiers pass between the paired apps using Apple's workout mirroring and WatchConnectivity. End & save saves the workout in Apple Health; with Rally's Health connection enabled, its details can populate the iPhone journal. Discard cancels an unsaved recording. Rally does not request workout-route or background-location data. Watch recording can continue while the iPhone is locked; the phone journal may wait until unlocking to finish saving. Apple controls delivery timing, so imports are not promised to be instantaneous.
Optional iPhone Calendar planning: with your permission, Rally uses calendars already available on your iPhone to display plans. iOS grants full event access; Rally displays events for the viewed month only from calendars you select. No calendar is selected automatically. By default, titles must contain the word tennis; you can choose to show all events in selected calendars. Calendar identifiers, names, provider names and edit availability populate the chooser. Event identifiers, titles, dates, times, all-day status and calendar names are used in memory for display and to open the event in Apple’s Calendar interface. Calendar selections, connection state and the display filter are stored on your iPhone.
Historical optional product analytics: the following describes earlier analytics-enabled versions, not new collection in build 85. If you affirmatively chose Share usage analytics under the applicable disclosure, those versions collected coarse app opens, setup progress, feature and paywall use, selected tennis level, goal and playing frequency, stroke type, analysis attempts and failure categories, valid first, second and repeat analysis milestones, whether a result appeared, practice/return, sharing/save and workflow outcomes, verified trial or purchase kind, subscription plan/status and the last-observed auto-renewal setting. Events include a random analytics identifier, your opaque RevenueCat customer identifier for connecting subscriptions with usage, an unrelated random analysis-event identifier, event time, session and app version. For a first-time choice in version 1.0.13, the optional checkbox is preselected; you can turn it off before tapping Agree. No collection begins from merely displaying the form. Confirming the sharing choice and tapping Agree grants permission. Superseded permission starts unchecked and requires a fresh choice. Recorded opt-outs remain off. This choice is separate from the agreement required to process a swing. This version does not request advertising permission. Declining does not change Free or Pro access. These random identifiers are pseudonymous; they are not a name or a count of people.
- Swing video: the clip you record in Rally or choose from your photo library. Rally removes audio on your iPhone before upload.
- Temporary body-landmark and mechanics data: MediaPipe software running inside Rally's hosted service estimates 33 whole-body pose landmarks on each detected frame. The internal track includes a small set around the face and hands. The app receives a compact motion track containing only 13 measured joints—nose, shoulders, elbows, wrists, hips, knees, and ankles—and does not receive the other internal landmarks.
- Analysis inputs and results: selected stroke and hitting hand; measured mechanics; score, confidence, technique breakdown, priority fix, drill, contact image, and compact motion track. Missing or low-confidence joints remain missing rather than being guessed.
- Authorization, consent, and service records: a random installation identifier; hashed or scoped device, credential, key, installation, and network-source references; App Attest public-key and receipt evidence, environment, counters, and timestamps; a scoped installation credential; consent version, signature time, and random consent record identifier sent with a request; weekly quota, rate-limit, short challenge/reservation, abuse-control, request-size, duration, timing, and coarse success/rejection records. These come from the app, device, network request, and Rally's security service.
- Subscription verification: Apple-signed StoreKit transaction and renewal evidence may be sent with an analysis request to verify Rally Pro access. Rally does not receive payment-card details or Apple Account credentials.
- Subscription reporting: RevenueCat receives App Store purchase and renewal records, product identifiers, subscription status, purchase and expiration dates, price and currency information, and an opaque subscription-service identifier. Apple can deliver subscription notifications directly to RevenueCat. In app versions with RevenueCat reporting enabled, the app also sends purchase records during purchase, restore, or synchronization of an existing subscription, together with app/SDK version, operating-system and ordinary network-request information. Rally does not send RevenueCat swing videos, audio, landmarks, scores, coaching, profile answers, your name or email, or advertising identifiers.
- Information on your iPhone: saved results and contact images; for trusted analyses, the processed audio-free review video and compact pose track; profile answers, court nickname, preferences, adult-eligibility result, consent receipt, and reminder state. Review videos use opaque filenames. Rally evaluates the birthdate you enter only on the iPhone and does not save or upload that date.
- Waitlist and support information: the email address and message content you voluntarily submit. Form and email services also receive ordinary request information such as IP address, browser type, access time, and referring page.
- Website delivery information: hosting and font providers receive the technical information needed to deliver and secure the page, such as IP address, browser/device information, requested page, time, referring page, and website hostname.
2. Uses and limits
Tennis journal: Rally uses your tennis journal to display and organize the entries and summaries you request. It does not send journal dates, times, durations, session types, titles, notes, practice focus, local record identifiers or totals to Meta, RevenueCat, product-analytics providers, AI services or Rally's analysis server. Optional Health imports and paired Watch transfers work as described above. Your optional product-analytics choice does not authorize sharing journal content.
For players who opt into subscription-linked usage measurement, RevenueCat may initialize at opt-in or app launch to provide the existing customer identifier, even before checkout. Rally sends that identifier to Amplitude with permitted usage events; usage events and the Amplitude identity are not sent back to RevenueCat.
In earlier analytics-enabled versions, optional product analytics helped Rally understand whether consenting players obtain a valid result, see it, and return for another swing. Subscription observations can be stale: an enabled renewal setting is not proof of a payment, and an observed trial is not proof of its eventual outcome.
Rally uses the audio-free clip, temporary landmarks, and mechanics only to provide the tennis-swing analysis and measured motion review you request. The skeleton contains measured body joints; Rally does not add a racket path unless a real racket track was produced. Rally does not use the clip or measurements to recognize a face, identify or authenticate a person from their body, provide medical diagnosis or treatment, advertise, create a marketing profile, or train an AI model. Rally bundles and runs MediaPipe 0.10.14 inside Rally's server container hosted on Modal. The swing video, landmarks, mechanics, and analysis-request data are not sent onward to Google, OpenAI, Anthropic, or another external model-inference API.
Rally uses installation, App Attest, scoped credential, consent, network-source, rate-limit, quota, and request records to authorize the genuine app, enforce current consent, prevent abuse, apply the free-use quota, operate the service, and investigate failures. StoreKit evidence verifies subscription access. RevenueCat processes subscription records for purchase support, receipt validation, and subscription and revenue reporting. Rally's own verified StoreKit and server checks decide Pro access; a RevenueCat reporting failure does not revoke access. Launch-list email is used for launch and related product communication. Website information is used to deliver and secure the site and its fonts.
Calendar plans: Rally does not send calendar event content or calendar identifiers to its servers, product analytics, Meta or RevenueCat, and does not add planned events to completed-session totals. Plan tennis and event editing use Apple’s native interface; a change is committed when you choose Save. Your selected calendar provider may store or synchronize the event with your account. Rally does not copy manual journal notes into a calendar draft. Calendar plans and saved analyses are excluded from both journal exports.
Health and Watch limits: Rally uses Health and Watch workout information only to record your requested Tennis workout, show live workout values, import and organize completed sessions, and calculate your local activity summaries. It does not send these workout values or identifiers to Rally's analysis server, Meta, RevenueCat, product-analytics providers or external AI services, or use them for advertising, marketing, model training or subscription reporting. Starting or importing a workout does not upload a swing video or request AI analysis. Apple Health storage and paired-device transfers are described separately above.
3. Biometric notice and written release
Illinois and Texas laws define certain scans or records of hand or face geometry as biometric identifiers. Rally does not create a faceprint or voiceprint and does not use its measurements to identify anyone. Whether a particular pose measurement is legally covered can depend on the law and facts; Rally does not rely on an exemption. It instead applies advance notice, written electronic consent, purpose limitation, security, disclosure controls, and the destruction schedule below.
Before capture, photo-library selection, or upload is available, the person shown must choose a date of birth showing they are at least 18, read the specific disclosure on Rally's ONE AGREEMENT screen, and tap Agree & Continue. The screen states that this tap is voluntary consent and the user's electronic signature. It lists what leaves the iPhone, identifies Modal Labs, Inc. as Rally's contracted processor, explains the analysis purpose, describes the 33-landmark internal processing and 13-joint app output, and explains retention and destruction. If the user does not agree, Rally does not make an upload. Rally does not sell, lease, trade, or otherwise profit from biometric identifiers or biometric information.
4. Service providers and disclosures
Neon PostgreSQL — authorization processor: Databricks, Inc., operating the Neon product with its affiliate Neon, LLC, hosts Rally's private authorization database in AWS Ohio. It stores installation ownership, hashed credentials and deletion capabilities, App Attest public verification records, challenges, quotas, abuse controls, revocations, recovery authorization and analytics deletion request references. It does not receive swing videos, pose data, scores, coaching, StoreKit receipts, RevenueCat identities or contact information through this database. Database access remains server-only; player login is not introduced. The service is governed by Neon's product schedule and the incorporated Databricks agreement, including its data-processing addendum.
Amplitude, Inc.: received optional coarse product events from earlier analytics-enabled versions through Rally's hosted relay for this measurement purpose. This paragraph describes that historical processing; build 85 sends no new product events or customer-identifier links to Amplitude. Existing deletion requests remain available. With your separate analytics permission, these events include your opaque RevenueCat customer identifier so Rally can connect subscription records with app use, valid swing milestones and return visits. This is product analytics, not advertising. Your existing subscription identity and access are unchanged. Rally does not forward the player's network address. Rally does not send Amplitude videos, audio, landmarks, scores, confidence, coaching, receipts, transaction identifiers, installation credentials, name, email, payment details or free-text errors. Rally does not connect this analytics profile to Apple acquisition records or advertising identifiers. No Amplitude session replay, autocapture or advertising destination is enabled. The selected project is on Amplitude's U.S. service; ingestion and deletion must use the matching U.S. endpoints.
- RevenueCat, Inc.: processes the subscription information described above for Rally under its service terms and Data Processing Addendum. Its role is subscription support and reporting, separate from advertising and swing analysis. This version does not synchronize Meta identifiers with RevenueCat or send subscription events to Meta.
- Modal Labs, Inc.: after the user agrees, the app sends the audio-free video and request fields listed above over encrypted HTTPS to Rally's analysis endpoint hosted on Modal's cloud infrastructure. Modal is Rally's contracted processor and the processor to which Rally directly routes the swing-analysis request. Rally bundles and runs MediaPipe 0.10.14 inside Rally's server container hosted on Modal. Modal's terms incorporate a data-processing addendum that limits processing to the contracted service and addresses security, confidentiality, subprocessors, and deletion. Modal states that web-endpoint request and response payloads are proxied to Rally's container and are not stored at its edge.
- Apple Inc.: Apple handles App Store distribution, App Attest, and StoreKit under its own terms. Rally receives signed evidence needed to verify the genuine app and subscription access. Rally may receive feedback or diagnostics a user chooses to share through Apple.
- Formspree, Inc.: Formspree accepts, screens, stores, and emails launch-list submissions and related request information.
- GitHub, Inc.: GitHub Pages hosts the public-launch and policy pages and processes ordinary website request information.
- Adobe Inc.: Adobe Fonts delivers site typefaces and receives the hostname, font-project information, and visitor IP address. Adobe states that its web-font service does not set cookies to serve fonts and does not store the IP address it receives for delivery.
- Google LLC: Gmail processes waitlist notification copies and messages sent to Rally's privacy contact.
For personal data processed during swing analysis, Rally's agreement with Modal incorporates Modal's Data Processing Addendum. It limits processing to providing the contracted service, requires confidentiality and appropriate security, requires deletion, and binds applicable subprocessors to written terms at least as protective as the DPA. Rally therefore requires the same or equal protection for the personal data Modal processes. Rally does not authorize a provider to use swing video or body-landmark measurements for advertising, identity recognition, data brokerage, or model training. Rally may disclose information when required by applicable law or valid legal process, to protect the service and users, or at the user's direction and with legally sufficient consent.
5. Retention and destruction schedule
Tennis journal: entries remain in Rally's protected local storage until you delete an entry, remove imported Health data, use Delete All Data or remove the app. Rally marks this storage as excluded from device backup, but the system's backup-exclusion setting is not an absolute guarantee. Optional Health/Watch synchronization does not provide general journal backup or guaranteed recovery. Rally does not import journal-export files. Export insights produces a PDF of completed-session statistics and charts for the selected view. Export session data (JSON) contains completed manual and phone-timer entries and their notes only when those entries are not imported from or linked to Apple Health or a Watch workout. Both exports exclude Apple Health workouts, Watch-linked sessions, manual sessions linked to Health workouts, their Health-derived activity totals, and the notes attached to those excluded sessions. Neither export includes running timers, saved analyses or native calendar events. The file is passed to the Files, cloud or app destination you choose, whose storage, sharing and privacy settings apply. Later changes in Rally do not update an exported copy.
Previously shared Meta information: updating the app does not recall information already received by Meta from an earlier advertising-enabled version. This version does not initialize Meta or forward retained SDK activity. Previously shared information follows Meta's applicable terms, Privacy Policy and retention practices; it does not follow the temporary swing-data destruction schedule. Contact Rally through the request process in section 6 about previously shared information. Clearing local Rally data does not automatically delete Meta's records.
Historical optional product analytics: the following retention and queue limits describe analytics-enabled versions and previously collected data. Build 85 does not collect or deliver product-analytics events. In analytics-enabled versions, the iPhone's unsent queue is limited to seven days and 100 events. Local analytics milestone counts remain until withdrawal or deletion. Recent callback-deduplication receipts are limited to seven days and 1,000 records. Amplitude event retention is one month from ingestion, subject to its scheduled retention processing. A new analytics disclosure requires a fresh choice; prior permission is not silently upgraded, old queued events are discarded, and the old analytics identity is retained only for protected deletion retry before a new identity is used. Recorded opt-outs remain off. A separate deletion request can remove an opted-out identity sooner; acceptance or scheduling is not completed provider or backup deletion.
Deletion retries: the iPhone retains the prior analytics identifier and a narrowly scoped deletion capability in protected Keychain storage until the relay accepts the deletion request. These records survive Delete All Data so an offline request can retry on later app use; they grant no analysis or subscription access and are never sent to Amplitude. A legacy request that still needs its old installation credential must be submitted before that credential is erased. Uninstalling the app prevents app-driven retries. Provider acceptance is separate from completed deletion; Rally tracks provider completion, including applicable backups, separately from request acceptance or scheduling.
- Server video and temporary landmarks: Rally's application releases the in-memory 33-landmark track and removes the temporary upload file when the request completes or fails. If normal file removal fails, the application truncates the file content to zero, retries removal, and records a content-free critical privacy event if removal still cannot complete. Rally does not intentionally retain or reuse the file. The clip and landmarks are not written to a Rally backup, Modal Volume, biometric database, or model-training set.
- Server results: the returned contact image, motion payload, score, and coaching result are not intentionally retained by Rally's server after the response.
- Operational logs: logs exclude video, audio, landmark coordinates, contact image, score, detailed mechanics, and coaching result. They contain the limited request and security facts described above. Rally does not copy them into another log archive. Modal's currently published plan-dependent schedule is one day on Starter, 30 days on Team, and configurable on Enterprise.
- Consent receipt: the app keeps the consent version, signature time, and random record identifier on the iPhone and sends them with an analysis request. The server validates them but does not intentionally retain the full signature time or record identifier; the short-lived operational log records the consent version.
- On-device results and motion review: a trusted analysis may retain its audio-free processed video, compact 13-joint pose track, score, coaching result, and contact image on that iPhone until you delete the analysis, delete all Rally data, or uninstall Rally. Withdrawing consent blocks future uploads but does not delete completed analyses.
- On-device consent and preferences: remain until you withdraw consent, delete all Rally data, reset the relevant preference, or uninstall Rally.
- Authorization, quota, and abuse-control records — durable storage: Rally's private Neon PostgreSQL database stores hashed or scoped installation/key/network references, App Attest public verification records, counters, revocations, recovery authorization and analytics deletion ownership and provider references. These identity and security records have no automatic expiry, so inactivity or a local reset does not remove the authorization needed for recovery, revocation or a later deletion retry. A credential's 90-day validity is separate from record retention. Challenges expire after five minutes or are consumed earlier; rate buckets expire at the end of their configured window; weekly quota records expire 14 days after the ISO week begins. Expired operational rows are removed in bounded cleanup batches. Delete All Data does not erase all remote security records. Authenticated privacy requests are reviewed separately, subject to applicable deletion duties and limited legal or security preservation.
- StoreKit evidence and subscription records: Rally's analysis server verifies transaction and renewal JWS values in memory and does not intentionally log or persist those values. Separately, RevenueCat retains subscription records to provide purchase support and reporting under Rally's service agreement. These records do not follow the temporary swing-data deletion schedule. Contact Rally to request access or deletion of identifiable subscription records, subject to applicable legal, security, and transaction-record requirements; deleting local app data does not delete RevenueCat or Apple records.
- Launch list and support: Rally-controlled Formspree and email copies remain only while needed for launch communication, support, legal compliance, security, or an opt-out record. Rally will delete verifiable copies within 30 days after completing a deletion request or ending the launch-list program, subject to limited legal or security preservation. Provider security records may follow longer provider schedules.
- Website delivery records: GitHub, Adobe, and network providers retain delivery/security records under their own schedules. Rally does not maintain a separate website analytics database.
For any covered biometric identifier or information Rally possesses, the permanent-destruction deadline is the earliest applicable deadline: when the collection purpose is satisfied; the Illinois backstop of three years after the person's last interaction; or the Texas backstop of a reasonable time no later than one year after the collection purpose expires. A valid preservation law, warrant, or subpoena may require a limited exception.
Health and Watch storage: Rally keeps imported workout details and Health-linked sessions in protected local journal storage on the iPhone. The Watch keeps a protected recovery record for an active workout and its most recent terminal result so it can recover or retry delivery. A subsequent terminal result replaces the previous one; removing the Watch app removes its local app storage. Rally requests backup exclusion for these app files, which is not an absolute guarantee against inclusion or restoration. Workouts saved in Apple Health are separate from Rally's local files and follow Apple's Health permissions and your Health/iCloud settings. Other apps or services you authorize in Apple Health may access those workouts under their own permissions and policies. Rally does not provide its own cloud backup of the journal or guaranteed recovery after reinstalling or changing devices.
6. Your choices, requests, and appeals
Tennis journal choices: you can edit or delete individual sessions in the journal. Delete All Data also removes the journal held by Rally on this iPhone. It does not delete journal files you previously exported to Files, a cloud service, another app or another person. Manage those copies at their destinations. Deleting journal entries or exports does not cancel an Apple subscription.
Health and Watch choices: In Profile → Apple Health, Stop automatic imports keeps previously imported entries. Remove imported Health data also removes imported workout information and Health-derived totals; your own titles, notes and practice focus are retained, including in Saved notes for removed imported sessions, and linked manual entries recover their original duration. Deleting a Rally entry does not delete its Apple Health workout. A workout deleted in Apple Health can remain as a labelled saved snapshot in Rally; use Rally's removal controls to erase that local workout information. These Rally controls do not revoke Apple's permissions. Manage Rally's Health access and original workouts in Apple Health or the device's Health privacy settings. Delete All Data on the iPhone clears Rally's journal and import settings, but does not delete Apple Health workouts, clear the Watch app's retained result or stop a workout already recording on the Watch. End or discard that recording on the Watch. Reconnecting Health can import the selected history again.
Calendar choices: Disconnect calendars and Delete All Data clear Rally’s calendar selections, connection/filter preferences and displayed event cache. They do not delete events from your native calendars or revoke the iPhone permission. Manage calendar events through Calendar or its provider and change Rally’s Calendar permission in iPhone Settings. Calendar providers control their own storage, synchronization and deletion.
Cancel billing separately: use iPhone Settings → your name → Subscriptions → Rally AI → Cancel Subscription (or Cancel Free Trial). Deleting Rally, deleting local data, withdrawing processing consent, or turning off optional analytics does not cancel an Apple subscription. See Subscription, Free Trial & Cancellation Terms.
Subscriptions: manage or cancel Rally Pro in your Apple Account subscription settings. Purchase reporting is separate from any optional product-analytics choice; changing those choices does not cancel a subscription or erase Apple or RevenueCat purchase records. For a subscription privacy request, contact Rally with the App Store order or transaction reference needed to locate the record. Do not send payment-card details or Apple Account passwords. Rally will verify and handle the request through its subscription provider, subject to applicable retention obligations.
Advertising measurement: this version has no Meta SDK or advertising-tracking prompt. Product analytics is disabled in build 85, and its Profile choice is hidden. For information previously shared by an earlier advertising-enabled version, use the privacy-request process below. A privacy request does not cancel an Apple subscription.
You may decline the electronic release and no clip will be uploaded. In Progress, delete an analysis and its retained review video and pose track. In Profile → Privacy & Data, review the signature date, withdraw future upload consent, or use Delete all Rally data from this iPhone to remove local analyses, review files, preferences, consent state, and the local installation credential.
Analytics privacy choices: build 85 does not collect or deliver product-analytics events and does not show a Share usage analytics control. To request access or deletion of information shared by an earlier version, use the support and privacy-request process below. Existing protected deletion requests continue to retry on later app use. In an earlier analytics-enabled version that still shows the control, turning Share usage analytics off in Profile stops future collection and clears the local queue and active analytics identity. Rally requests deletion of the prior identity, its RevenueCat customer reference and its events from Amplitude. An offline or failed request remains queued and retries on later app use. In analytics-enabled versions, re-enabling starts a new random analytics identity and, with renewed permission, can link it to the same RevenueCat subscription record. Build 85 offers no re-enable control. Delete All Data also clears local analytics and requests remote analytics deletion, retaining only the protected retry records described above. These actions do not cancel an Apple subscription or automatically delete Apple, RevenueCat or previously shared Meta records.
Delete All Data removes local analyses, review files, preferences, consent state and the installation credential once any legacy deletion prerequisite is satisfied. It does not erase provider logs or all remote service records. Limited authorization, quota, abuse-control and operational records follow the schedule above. Rally does not retain a server swing-history library. For other anonymous-installation privacy requests, contact Rally before deleting the installation credential.
Use the process and exact state-specific response periods on Support & Privacy Choices to request access, correction, withdrawal, deletion, or a third-party list; remove a launch-list submission or manual recovery label; report that a minor used the service; or appeal a refusal.
7. Adults-only service and other people
Rally is not offered to anyone under 18 and is not directed to children. Before recording or choosing a swing, the app requires a neutral birthdate-first eligibility check. The date is evaluated only on the iPhone and is not saved or uploaded. An under-18 result locks the app. Do not upload another person's swing or a clip containing a minor or bystander. The electronic release requires the signer to confirm that they are the adult shown. If Rally learns that a minor submitted information, Rally will disable the relevant credential and delete verifiable information under its control, subject to legal or security preservation.
8. Security and incidents
Rally uses encrypted transport, revocable per-device credentials, temporary server files, minimized logs, opaque local filenames, iOS file protection, and on-device history. Modal states that customer data is encrypted in transit and at rest and that it maintains SOC 2 Type 2 controls. No security measure guarantees absolute protection. Rally will investigate suspected unauthorized access and provide consumer, regulator, processor, or health-data breach notices required by applicable law.
9. Swing-data limits and no advertising tracking in this version
Rally does not sell, lease, trade, or profit from swing video or body-landmark measurements; use them for advertising or cross-context tracking; or use them to train an AI model.
Version 2.0.2, build 85 contains no Meta SDK or advertising-measurement integration. It does not request Apple's tracking permission, collect the advertising identifier or send installation, activation, session, trial, purchase or renewal events to Meta. Rally does not combine the app's optional product analytics with third-party data for targeted advertising or advertising measurement.
Browser privacy signals: Rally does not operate advertising analytics on this public-launch website or in this app version. Rally's delivery, font, form and email providers may independently process limited technical information under their own policies. Rally does not authorize advertising use of its consumer health or swing data.
10. Changes
Rally may update this policy as the product or law changes. The effective date and version above show the current policy. Rally notifies users of a material change to video, landmarks, purposes, disclosure, or retention by publishing the revised policy and requiring a new in-app notice and electronic consent before another upload. Non-material clarifications may be posted without a new consent.
11. Contact
Operator: Bryce Ranchero, an individual in Illinois.
Privacy questions, rights requests, and appeals: ricebboi@gmail.com.
Support & Privacy Choices
Consumer Health Data Privacy Policy