RoundOne Privacy Policy

Last updated: September 24, 2026

This policy explains how RoundOne handles information across the RoundOne iPhone and Apple Watch app, coach portal, website, waitlist, and related backend services. It also separates data that stays on your devices from data that is sent to RoundOne or a service provider.

1. Who this policy covers

This policy applies when you use RoundOne as an athlete, coach, gym administrator, website visitor, or waitlist member. “RoundOne”, “we”, and “us” refer to the operator of the RoundOne service. For privacy questions or requests, email hello@roundone.club.

2. Data the app and service collect

Account and identity

When you create or use an account, RoundOne may receive and store:

Sign in with Apple may let you use Apple’s private relay email address. RoundOne receives only the details Apple makes available under your choice.

Training profile, Gym Loop, and coach collaboration

To provide training plans and gym features, RoundOne may store your selected training goal, experience level, training days, reminder settings, starter-plan selection, joined classes, assigned work, attendance, and related progress records.

When you complete a coach or gym assignment and choose to save it, the app sends the gym ID, assignment ID, workout ID, completion time, duration, and any optional effort rating or note you submit. This lets the result appear for the relevant coach or gym. The assignment sync does not send your heart-rate samples, exact route, GPS coordinates, Apple Health records, workout photo, or general local workout notes.

Purchases, access, and referrals

Apple processes subscription payment details. RoundOne does not receive your payment-card or bank details. To verify access and operate referrals or offers, RoundOne may store subscription status, Apple transaction identifiers, an app-account token, referral relationships, reward status, and redeemed-offer status. Since September 2026, RevenueCat has also processed App Store purchase and renewal records, product and price information, subscription status, and a pseudonymous app-user identifier that RoundOne can link to your account, including verified historical purchases imported during the migration. RevenueCat helps us verify purchases and measure subscription revenue. We send RevenueCat subscription events to Layers for revenue measurement; these events can include the pseudonymous app-user identifier, product, transaction, amount, currency, and subscription status. Neither service receives your Apple payment-card details from RoundOne.

Shared-workout engagement

If you open and train from a shared workout link, RoundOne records the link and session identifiers, a randomly generated app-installation visitor identifier, whether the session started or completed, elapsed training time, and whether the source was the app or browser. This provides the workout owner with aggregate starter, completion, and trained-time totals. The visitor identifier is not deliberately joined to your RoundOne account, name, or email.

App integrity and service diagnostics

The iPhone app uses Firebase App Check with Apple App Attest to help distinguish genuine app requests from abuse. Apple and Google Firebase process app-attestation objects, assertions or tokens, and standard technical request information such as app, SDK, device, and operating-system versions. These signals are used for security and service operation, not advertising or cross-app tracking. App Check is an additional integrity signal and does not replace account authentication or access rules.

Firebase Authentication, Firestore, Storage, and hosting or function infrastructure may also process standard network and service metadata, such as IP address, request time, app version, device or operating-system family, and SDK status, for authentication, security, reliability, capacity, and aggregate SDK-adoption measurement. This Firebase service telemetry is separate from Google Analytics for Firebase.

Crash reporting: release-controlled

The iPhone app includes Firebase Crashlytics, but crash transmission occurs only in a release where RoundOne’s reviewed crash-collection switch is enabled. When the switch is off, unsent crash reports are deleted rather than held for a later upload.

If that switch is enabled, Crashlytics receives crash stack traces, relevant application state, crash time, app release and build, iOS version, device model and architecture, memory and disk information, a Crashlytics or Firebase installation identifier, runtime platform, and the App Check provider name. RoundOne does not attach your account ID, name, email, raw log or error text, workout note, coach content, HealthKit data, heart rate, route, or precise location. RoundOne uses this information only to find and fix app failures and operate crash alerts.

Mobile product analytics: historical 1.9.0 release

The historical iPhone app, version 1.9.0, used Google Analytics for Firebase and PostHog for mobile product analytics, and its Apple Watch app used PostHog. In that release, RoundOne links the Firebase account UID to mobile analytics events, so product-interaction, device, usage, and limited diagnostic event data can be associated with an account across Firebase Analytics and PostHog. Events include screen and feature use; workout, health-import, and other health- or fitness-related activity; subscription, purchase, offer, and referral flows; onboarding selections and progress; and stable outcome or failure codes. The providers also receive standard event and device information, such as event time, app release, device or operating-system family, and coarse location derived from a masked IP address. These diagnostic events are not crash reports, and this mobile analytics flow does not use Firebase Crashlytics or Firebase Performance Monitoring. RoundOne does not deliberately send exact GPS routes, precise coordinates, heart-rate samples, workout photos, free-text workout notes, names, or email addresses in these analytics events.

The shared-workout aggregate measurement and the Firebase service metadata described above are separate service flows. RoundOne will not narrow its App Store privacy answers or represent the 1.9.0 mobile analytics as non-tracking until the applicable provider-console settings, downstream data use, and retained data have been reviewed and documented.

Current mobile analytics and your choice

Versions 1.9.6 and 1.9.7 use optional Google Analytics for Firebase for product-use measurement, including onboarding and feature interactions, limited workout and health-import event summaries, and subscription or purchase-flow events. RoundOne does not deliberately set your Firebase account ID, name, or email address as the analytics user identity. Google may receive an app-instance identifier and standard event, device, and service metadata. These versions do not include PostHog. Historical records remain subject to the retention and reconciliation described below.

Optional analytics is enabled by default. You can turn it off using the existing Allow analytics control in Settings > Privacy & data > Analytics privacy. This stops new optional product-use analytics collection and resets the local analytics state; it does not itself delete records already held by a provider or stop the purchase records needed to operate subscriptions.

Mobile product analytics from version 1.9.8

Version 1.9.8 adds Layers alongside Google Analytics for Firebase for optional product-use measurement. When Allow analytics is on, the current configuration sends Layers a limited set of onboarding-funnel events: setup steps, selected training goal, experience and plan classifications, demo duration and cue counts, sign-in method and stable failure codes, and offer views. The app does not send workout sessions, Apple Health imports, subscription transactions, or automatic screen views through the Layers iOS SDK. Layers may also receive a per-install identifier, Apple’s identifier for vendor when available, app and device context, network request information, and campaign or deep-link attribution parameters. The app does not call Layers’ account-identification method or send your name or email in these usage events. It does not enable Layers’ automatic purchase, screen, or exception tracking.

RoundOne requires the app’s analytics choice before Layers sends usage events and sets advertising consent to denied. The app does not request App Tracking Transparency permission or send the advertising identifier to Layers. Turning off Allow analytics stops new optional Layers usage events and resets the SDK’s local analytics state. RevenueCat subscription processing and the subscription events sent to Layers for revenue measurement continue because they are needed to operate and measure the subscription service.

Install measurement from version 1.9.6

Version 1.9.6 adds Apple's privacy-preserving SKAdNetwork install attribution. With Allow analytics enabled, RoundOne asks Apple to register the initial app activation with a conversion value of zero, without reporting subsequent in-app actions or purchase values. Apple may send a delayed attribution report to the advertising network, including Meta, under Apple's privacy protections. The report can include ad-campaign and app identifiers and install or redownload information; it does not identify your RoundOne account.

This integration does not include the Meta SDK, access the advertising identifier (IDFA), request App Tracking Transparency permission, or send direct app events to Meta. RoundOne does not send Meta your account details, workout or health information, location, purchases, or subscription status. No extra onboarding step is added. The same Allow analytics control prevents new install-measurement requests when switched off, but cannot recall a report already scheduled by Apple.

3. Data that stays on your devices or in Apple services

The app can process detailed fitness information locally, including workout history, rounds, exact GPS routes, distance, pace, heart rate, energy, photos, and workout notes. If you grant permission, it may read or write approved workout, route, heart-rate, and active-energy data using Apple Health. Roadwork uses location only while the workout feature is active under the permission you grant.

RoundOne does not upload exact routes, GPS coordinates, Apple Health samples, heart-rate timelines, workout photos, or your general local workout journal to the RoundOne backend or coach portal in version 1.9.1. Those items stay in the app’s local storage and, when you choose the relevant feature, in your Apple Health or iCloud account. Apple controls those services under your Apple settings and its own privacy terms. The limited coach-assignment summary described in section 2 is the exception: its completion time, duration, optional effort, and optional note are sent to RoundOne.

If you choose the Strava export, the app creates a TCX activity and sends the workout upload and follow-up activity update directly from your device to the Strava account you connected. An interrupted export may retry later. Depending on the selected workout, that transfer can include a RoundOne workout identifier, start and end time, duration, calories, heart-rate samples, exact GPS coordinates, workout type and name, whether it was recorded with GPS, top combo, and workout note. Strava redirects an OAuth authorisation code through auth.roundone.club; RoundOne’s function transiently processes that code and the access or refresh credentials and expiry needed for exchange, refresh, and attempted revocation. The function has no application credential store and does not receive the TCX workout payload, although ordinary hosting request and security metadata described above may still be processed. The app stores the Strava credentials in the protected iOS Keychain. Strava handles the exported activity under its own terms and privacy policy.

4. Website, waitlist, and coach-portal data

The Meta Pixel applies to the waitlist website, not the RoundOne iPhone or Apple Watch app. The app contains no third-party advertising. RoundOne will not classify the mobile analytics described above as non-tracking until the relevant provider settings and downstream data use have been confirmed.

5. Why we use data

RoundOne uses information to:

6. Who receives data

We disclose data only as needed for the purposes above:

Service providers processing data on RoundOne’s behalf are expected, under their applicable service terms and our configuration or instructions, to protect it and use it only to provide the contracted service. Apple, Meta, and any service you independently connect may also act under their own privacy terms.

RoundOne does not sell personal information for money. The waitlist’s Meta Pixel may be treated as “sharing” for cross-context behavioural advertising under some laws. You can use browser privacy controls or contact us about an applicable opt-out request. We do not send Apple Health samples, exact routes, heart-rate timelines, or workout notes to advertising networks. Training-goal, experience, and plan classifications may be sent to Layers when optional analytics is on, as described above.

7. Retention and deletion

8. Your choices

Rights differ by location. We may need to verify your identity before acting on a request.

9. Security and international processing

RoundOne uses authentication, access rules, transport encryption, protected local storage, integrity checks, and provider security controls designed to protect data. No online service can guarantee absolute security.

RoundOne and its providers may process data in countries other than the one where you live. Those countries may have different privacy laws. Provider contractual and technical safeguards apply according to the relevant service and jurisdiction.

10. Children

RoundOne is not directed to children under 13, and we do not knowingly create accounts for children under 13. A gym or coach using RoundOne with a minor must have the authority and permissions required in their location. Contact us if you believe a child’s information has been provided improperly.

11. Changes

We may update this policy as RoundOne changes. We will publish the revised policy here and change the “Last updated” date. We will update the App Store privacy answers before enabling a materially different app data flow.