The Short Version
Most wearables lose data on the way into Apple Health. WHOOP and Oura write no HRV at all to Apple Health, and WHOOP writes no sleep stages (only asleep and awake). Only Apple Watch is truly first-party, so nothing is lost in passthrough. Every ring and strap gives up at least one metric on the way in.
If a recovery or readiness app reads only Apple Health, it never sees your Oura or WHOOP HRV. That is not a bug in the app. The data was never written.
Updated September 12, 2026. The standard explanation for that missing HRV has been a data type mismatch: Apple Health could only store SDNN, and the rings and straps measure RMSSD. As of iOS 27 and watchOS 27, which ship on September 14, that is no longer structurally true. Apple's developer documentation now lists a HealthKit quantity type called heartRateVariabilityRMSSD, introduced in version 27.0 across iOS, iPadOS, macOS, visionOS and watchOS, alongside the older heartRateVariabilitySDNN type that has been there since iOS 11 and watchOS 4. The container now exists. Whether any given vendor decides to fill it is a separate question, and as of today none has announced that it will.
Why HRV Disappears: SDNN vs RMSSD
Historically, Apple Health stored heart rate variability only as SDNN. Oura and WHOOP compute HRV as RMSSD, the overnight metric used for recovery. Because the two are different measurements, the RMSSD value was simply not exported into Apple Health. It was a type mismatch, not a sync delay, so no amount of waiting or re-syncing would surface it. Oura and WHOOP both expose that RMSSD through their own apps and direct connections. Only the Apple Health path dropped it.
The important correction for 2026 is that the mismatch is now a vendor choice rather than a platform limitation. With heartRateVariabilityRMSSD available in HealthKit from version 27.0, a wearable maker that wants to hand you your overnight RMSSD through Apple Health finally has somewhere to put it. Nothing forces them to. If your Oura or WHOOP HRV is still missing from Apple Health after you update, the reason is now that the vendor has not adopted the new type, which is worth knowing because it is the kind of thing user pressure can actually change.
Apple Watch had the opposite version of the same problem: it produced a native HRV number, but only SDNN, sampled opportunistically over roughly 60-second windows (often during Breathe sessions), which is the wrong metric and the wrong sampling window for overnight recovery. That is changing too, and only on the newest hardware. See the section below.
What iOS 27 and the Series 12 Change
Two things happened at once, and they are easy to confuse.
The platform changed for everyone. HealthKit gained an RMSSD quantity type in version 27.0. That is a software change and it applies to any iPhone running iOS 27, regardless of which wearable you own. It does not by itself put a single new number in your Health app.
The hardware changed only on the Series 12 and Ultra 4. Apple's newsroom release says the new Health Sensing System measures HRV "up to 24 times more often" than before and surfaces it in a new section of the Heart Rate app, and that Apple Watch "provides two separate variants of HRV". Apple describes Recovery HRV as "best for identifying daily signals of stress and recovery" and overall HRV as "best for insights into a user's broader health, including cardiovascular health". Overnight vitals now include Recovery HRV measured against your personal baseline.
Here is the honest limit on that. Apple has not published a mapping from Recovery HRV and overall HRV onto the two HealthKit types. Gadgets & Wearables reads the pairing as Recovery HRV being RMSSD and overall HRV being SDNN, which is the obvious reading given the timing and given what each metric is used for, but it is inference and Apple has not confirmed it. Until it does, treat the mapping as likely rather than established, and check your own Health app after updating rather than assuming. An older Apple Watch on watchOS 27 does not gain the new sampling hardware either way, so a Series 11 keeps producing the opportunistic SDNN reading described above.
What Each Wearable Writes to Apple Health
| Wearable | HRV (overnight RMSSD) | Sleep stages | Resting HR | Blood oxygen | All-day activity |
|---|---|---|---|---|---|
| Apple Watch | SDNN on Series 11 and older; Series 12 and Ultra 4 add Recovery HRV, with the HealthKit type unconfirmed | Yes, 4-stage (native) | Yes | Yes | Yes (first-party, no loss) |
| Oura | No, not written | Yes, 4-stage (can be coarsened) | Yes | Sometimes (down-sampled) | Yes |
| WHOOP | No, not written | No, only asleep/awake | Yes | Yes (1 avg/night) | Workout energy only; no all-day steps |
| Fitbit (incl. Fitbit Air) | Nightly value, lower fidelity | Yes, lower fidelity | Yes | Largely stripped | Steps can aggregate; VO2 max needs a bridge app |
| Garmin | Yes, a nightly value in Apple Health's HRV field | Yes, 4-stage | Yes (window ambiguous) | Yes | Yes (motion gating can drop slow steps) |
| Samsung Galaxy Watch | Sleep-window value (limited on iOS) | Yes | Yes | Not written to Apple Health | Limited (Android to iOS) |
| Ultrahuman | Yes (via app) | Yes | Yes | Yes | Yes |
WHOOP
WHOOP writes heart rate, resting heart rate, sleep and wake, blood oxygen (one overnight average) and respiratory rate to Apple Health, plus energy attached to logged workouts. It does not write HRV (the RMSSD reason above), it does not write Light, Deep, or REM stages (only asleep and awake), and it does not export an all-day step or all-day energy stream. If you rely on Apple Health for steps, a WHOOP will look like it tracks almost nothing during the day.
The HRV gap is the one to watch this autumn. WHOOP has not announced support for the new RMSSD type, so assume nothing changes on your phone until it does, but the standing technical justification for the omission no longer applies once iOS 27 is out.
Oura
Oura passes a full 4-stage sleep hypnogram, a clean nightly resting heart rate, respiratory rate, steps and energy into Apple Health. Stage fidelity can be coarsened versus Oura's own feed, and the overnight blood oxygen average is sometimes down-sampled or dropped. The important gap is HRV: Oura writes none to Apple Health. Its elite overnight RMSSD only exists on Oura's direct connection, and Oura has not said whether it will adopt the RMSSD type that iOS 27 adds.
Fitbit and Fitbit Air
Fitbit devices route to Google Health first, and the Apple Health passthrough is a strictly-smaller copy. Sleep and steps arrive at lower fidelity, overnight blood oxygen is largely stripped, and the Cardio Fitness Score (VO2 max) does not write to Apple Health natively at all: it needs a separate third-party bridge app. So a Fitbit, including the Fitbit Air, is one of the weaker sources if Apple Health is your hub.
Apple Watch, Garmin, Samsung, Ultrahuman
Apple Watch is first-party, so there is no passthrough loss on sleep, steps, energy, resting heart rate, blood oxygen, respiratory rate, VO2 max or wrist temperature. Its historic limit was HRV being SDNN rather than RMSSD, which the Series 12 and Ultra 4 address on the sensor side with Recovery HRV, though Apple has not confirmed which HealthKit type it writes to. Garmin passes almost everything, including a nightly HRV value and VO2 max, though its resting-heart-rate window is harder to pin down and conservative motion gating can drop slow or intermittent steps. Samsung Galaxy Watch is Android-first, so on iPhone it does not write blood oxygen to Apple Health and its overall pipeline into an iOS app is limited. Ultrahuman passes its metrics through cleanly; its weakness is a lack of independent validation, not a missing data type.
What This Means If You Use an AI Coach
Any app that reads only Apple Health inherits every gap above. That is why a recovery score can sit blank or look wrong on an Oura or WHOOP: the HRV it needs was never written. Vora reads Oura, WHOOP, Garmin and Fitbit through their direct connections where possible, not just Apple Health, so the overnight RMSSD and full sleep stages survive and feed your recovery and readiness. See how each source is used on the integrations page.