From camera frame to quality-gated vital

Seven stages from camera open to final result. Every stage includes a failure condition that halts the pipeline or rejects the output.

Stage 1 β€” Setup

Camera & Permission

The SDK requests camera access. getUserMedia() opens a local video stream. No video data is transmitted externally at any point.

getUserMedia APIMediaStreamHTTPS required

Eight signals. All must pass.

The quality gate runs continuously throughout the scan. A single failing signal pauses the measurement and triggers corrective voice guidance.

SignalWhat Is CheckedThreshold
Face Visibility
Detection confidence above threshold> 0.85
Face Centering
Face within acceptable position bounds< 15% offset
Lighting Adequacy
Mean pixel brightness within valid range40–220 px
Motion Level
Inter-frame ROI movement< 8 px/frame
Frame Rate
Capture FPS stability> 24 FPS
ROI Stability
Consistent region tracking across frames< 5% drift
Signal-to-Noise
rPPG signal SNR after extraction> 2.0 dB
Output Confidence
Overall model confidence in result> 0.75

Local-first by architecture, not just by policy

All seven pipeline stages run locally in the browser. Camera stream, face detection, quality evaluation, rPPG extraction, and confidence scoring β€” none of this is sent to an external server. The only data that leaves the browser, optionally, is the typed structured result: HR, RR, quality, and timestamp.

Full privacy architecture β†’