Roxya for Garmin Privacy Policy

Controller

What the app does with data

Roxya works without a Roxya account, phone companion, advertising, or analytics; the link to the Roxya iPhone app described below is optional. The settings, the race plan, up to twenty saved workouts, an unfinished-session checkpoint, and the history of the last twenty sessions remain in the app's local storage on the Garmin watch. The settings include the athlete's HYROX division (Women or Men, Open or Pro), which selects the official loads.

When a user starts a workout or a race, the app records a Garmin training activity with a lap per segment. During the session, it reads the current heart rate made available by Garmin and displays it on the watch, placed in the athlete's own heart-rate zones, which the app reads from the Garmin user profile on the watch; those zone thresholds stay in the watch's memory while the app runs and are never stored by Roxya or sent anywhere. Roxya does not write that live value to its settings or checkpoint; when a session is saved, the watch's own history of the last twenty sessions keeps the session's average and highest heart rate, each segment's average, and the time spent in each heart-rate zone, so the session's recap can show them on the watch; on a linked watch, its per-segment average, highest and lowest go with the saved session's result described below. Run distance comes from Garmin's device distance pipeline; an outdoor run, and from 2.3.21 a run in the Auto mode (the default when no mode is chosen), additionally requests position fixes, and only while that run is in progress; in the Auto mode the fixes also decide whether the run is measured as outdoors. Indoor, treadmill and lap-only runs keep app-requested GPS off. From 2.3.21 the watch keeps in the app's local storage the athlete's average step length for 13 cadence ranges, learned from their outdoor GPS runs, to measure indoor runs in a session with stations; it holds no position, time or session link and is never sent. For those indoor runs the app may read the speed of a paired foot pod. The Start page also reads a resting heart rate before the session: for a still 30-second window it reads, once a second, the heart rate the watch already measures and the accelerometer, which only tells whether the wrist is still; these samples stay in the watch's memory and are never stored or sent, and Start never waits for the reading. When the reading is valid, the watch keeps that one resting value in its unfinished-session checkpoint until the session is saved or discarded, so that a resumed session keeps it; on a linked watch it then waits only in the saved session's result until that result is sent. Position never ends a segment: the athlete's LAP does, or the clock of a timed segment.

Saving is explicit. If the user saves the result, Garmin may sync the FIT activity—including timestamps, laps, distance, location when recorded, heart rate when available, and other fitness metrics Garmin adds—under the user's Garmin account and settings. Roxya does not receive a copy of that FIT activity. The app declares the Connect IQ Fit, Positioning, and Sensor permissions for these on-watch functions, from 2.1 UserProfile to read the heart-rate zones above, and Communications for the optional link below only.

From 2.1 the athlete may link the watch to the Roxya iPhone app: the watch shows a six-character code, the athlete types it in the app (Settings > Devices), and the Roxya API, run by the publisher, gives the watch a link token. From then on, when the app opens, when Workouts or Planning opens (at most every five minutes) or on Sync, the watch fetches up to twenty sessions the athlete planned for the coming week or sent to the watch in the app (from 2.2, in pages of five, with each planned session's day), and the current week of the athlete's plan for the Planning screen (each day's planned workouts with their name, kind and whether they were done, skipped or missed), through the phone's Garmin Connect connection, and keeps them with the token in the app's local storage until the next sync or until the athlete unlinks. When the athlete removes a session the app sent from the watch (2.2), the watch asks the Roxya API to stop sending it, which turns Send to watch off for that workout in the app without deleting it. When the athlete saves a session on a linked watch, the watch also sends its result to the Roxya API, which adds it to the athlete's training sessions in the Roxya app: the start and finish time, the session's name and kind, the total time and, for each segment, when it began, its type, station, run mode, measure, time, planned time, distance (the distance Garmin measured for a run, otherwise the planned one), load, repetitions, the lengths or sets counted on the watch with the time of each, and what Garmin measured during it: the average, highest and lowest heart rate, the average and highest cadence, power when a power sensor provides it, the top speed, the calories, and the metres climbed and descended; for a strength set with a planned load, the load it was lifted with and whether the athlete changed it on the watch. From 2.3.21, for each run, which source measured its distance (GPS; GPS with gaps carried by the watch's own distance, with the metres carried; the watch's own distance; or the step counter). The same heart-rate, calorie and climb figures go for the whole session, with whether the Garmin activity was saved and the resting heart rate read on the Start page when that reading was valid (one value between 30 and 120 bpm). Heart rate is health data: the athlete agrees to its sending in the Roxya app before linking, and pausing or removing the watch there stops it. From 2.3.20, for each segment with heart rate, the watch also sends the seconds the heart rate spent below the first zone and in each of the five zones of the athlete's Garmin user profile, and whether those zones came from that profile; the zone thresholds themselves are never sent. It also makes two random codes for each recording (16 hexadecimal characters each, no hardware identifier) and sends them with the result, and writes them as developer fields of the Garmin activity it records (Connect IQ FitContributor permission), so that the result and the activity can be matched. The watch sends heart rate only as these averages and extremes, these seconds per zone and that one resting value, never as a series, and sends no position or track and no identifier of the watch itself. With the token, and at each sync, the Roxya API gives the watch the athlete's account tag (their @name in the Roxya app, when they have one); the watch shows it on its link screen and in its sync settings so the athlete sees which account it is linked to, and keeps it with the token in local storage. When a linked watch is paired again, it presents its current token so the Roxya API can replace it rather than keep both; when the athlete unlinks, the watch asks the Roxya API to revoke the token and deletes the token and tag. A result the phone cannot deliver waits on the watch, five at most, until a later sync; unlinking deletes it. A workout the athlete builds on a linked watch is also saved to their Roxya library (its name and its runs, stations, rounds, rests, loads and targets), and deleting it on the watch removes it there; it then comes back to the watch like any workout of the app.

What the app keeps on the watch or sends through the link is handled by the publisher, not by Garmin, and Garmin has no responsibility or liability for it. A FIT activity the user saves and syncs is handled by Garmin under the user's Garmin account and Garmin's own terms.

The legal bases, special-category condition, Garmin role, processing countries, safeguards, postal address, and representative/DPO decision remain subject to qualified review. The public notice accurately describes the current on-watch and Garmin-account data flow without claiming that review is complete.

Choices and rights

Applicable access, deletion, restriction, objection, portability, complaint, and identity-verification procedures remain subject to the unresolved controller and legal review.

Updates