Apple App Review Guideline 1.4.1 requires clear disclosure of data, methodology, and the basis for accuracy-related statements when an app presents health-related measurements from device sensors.
This document describes:
Companion document: Internal Validation Summary.
| Output | Claim type | What we disclose |
|---|---|---|
| Heart rate (BPM) | Wellness reference estimate | Derived from camera rPPG using published POS + spectral peak detection. Expected error vs. contact reference under recommended conditions: typically MAE 2–8 BPM (face) — see §8. |
| HRV (RMSSD, ms) | Trend reference only | Computed from inter-beat intervals (IBI) after peak detection. Higher variance than HR; suitable for personal trend comparison, not clinical HRV diagnosis. |
| Wellness state index (状态) | Derived wellness index | Monotonic mapping from normalized RMSSD (inverse relationship). Shown as trend reference only. Not a validated clinical stress or cortisol measure. |
| Respiration (breaths/min) | Algorithm retained; hidden from UI in v1.07+ | RIIV pipeline exists in code but is not shown to users (unvalidated secondary vital). |
| SpO₂, blood pressure | Removed from app UI | Experimental features removed in v1.05+; not offered to users. |
All processing occurs locally on the user’s iPhone. No camera frames, face images, or measurement values are uploaded to developer servers.
AVCaptureSession video at ~30 fps (front camera, face rPPG mode).VNDetectFaceLandmarksRequest → forehead + bilateral cheek ROIs with YCbCr skin mask.RPPGProcessor — POS → bandpass → FFT / peak detection.AVAssetReader) + Vision face ROI + same RPPGProcessor pipeline every 3 s. Presented as local on-device wellness trend reference, not accurate heart-rate measurement.Each cardiac cycle changes blood volume in superficial vessels, modulating reflected/transmitted light. A standard camera records subtle per-frame RGB changes. After spatial averaging over skin ROIs and temporal filtering, the pulse frequency can be estimated.
This principle is established in peer-reviewed literature, e.g.:
| Effective sample rate | 30 Hz (camera frame timestamps) |
| Analysis window | 12 s sliding window |
| Minimum data before output | 6 s |
| Resampling | Linear interpolation to uniform 30 Hz grid |
We implement the Plane-Orthogonal-to-Skin (POS) method (Wang et al., 2017). For each sliding sub-window of length 1.6 × fs samples:
S₁ = Gₙ − Bₙ, S₂ = −2Rₙ + Gₙ + Bₙ.α = std(S₁) / std(S₂), pulse signal H = S₁ + α·S₂, mean-centered.From consecutive IBIs (300–1500 ms valid range):
RMSSD = sqrt( mean( (IBIᵢ − IBIᵢ₋₁)² ) ) with ectopic beats excluded (|ΔIBI| > 250 ms).
Displayed only when quality ≥ 2 and ≥ 3 valid IBIs.
Respiratory Induced Intensity Variation (RIIV): green channel bandpassed 0.1–0.45 Hz; FFT peak converted to breaths/min. Valid range: 6–40/min.
hrvNorm = clamp((RMSSD − 10) / 70, 0, 1)
stateIndex = round((1 − hrvNorm) × 85 + 10) → range ~10–95.
This is a derived wellness trend index, not a psychometric or clinical stress test. UI labels use「Wellness 参考」/「趋势参考」only — no slow/fast/normal clinical judgments.
Landmark-based forehead + cheek regions; YCbCr skin threshold (Y 40–245, Cb 77–127, Cr 133–173) with subsampled pixels. Minimum 50 skin pixels required per frame.
| Mode | Duration | Conditions |
|---|---|---|
| Face rPPG | ~15 s recommended | Even front lighting; face centered; minimize head motion and speech; no strong backlight or flicker. |
| Video import | ≤ 5 min local video | On-device trend reference only; lower accuracy than live face rPPG |
The table below summarizes expected performance for an implementation of this algorithm class (POS + spectral HR), based on published benchmarks and our internal reference-comparison protocol (see companion validation document). These are wellness-reference bounds, not clinical device specifications.
| Metric | Test condition | Reference standard | Disclosed range | Literature / basis |
|---|---|---|---|---|
| Heart rate | Face, resting, quality ≥ 2, 15 s | Contact PPG / chest strap | MAE typically 2–8 BPM; r often > 0.85 in controlled rest | Poh 2010; UBFC-rPPG benchmarks; de Haan 2013 |
| HRV (RMSSD) | Rest, quality ≥ 2, ≥ 12 s IBI data | ECG or chest strap RMSSD | Relative trend useful; absolute error often ±15–30% vs clinical ECG in mobile conditions | Camera sampling & peak-detection limits; trend-only claim |
| Respiration | Hidden from UI v1.07+ | N/A — not offered to users | No user-facing claim | Algorithm retained only; unvalidated secondary vital |
| Wellness state index | Derived from RMSSD | N/A (no clinical gold standard) | No accuracy claim — ordinal wellness trend only | Disclosed as non-clinical index |
For questions regarding this disclosure: 94722424@qq.com
Submitted with App version 1.07 (12) for Guideline 1.4.1 review.