NeccessoryNeccessory
Metrics

Metrics Overview

The metrics neccessory reports — physiological vitals, physical-state indices, and the separate emotion module.

neccessory reports three groups of outputs, and the boundary between them is not cosmetic. The first two are physiological: they describe the body, and they are all derived from one recovered pulse waveform. The third is emotion inference, which is a different kind of claim about a person, is optional, and is legally restricted in some contexts. Read the split before you design a screen around it.

Wellness use only — not a medical device

neccessory provides camera-based estimates of physiological signals for general wellness and informational purposes only. It is not a medical device and is not intended to diagnose, treat, cure, or prevent any disease or health condition. Blood pressure and blood oxygen (SpO2) are experimental estimates and must not be used for medical decisions. See the full disclaimer.

1. Core physiological metrics

The reliable, headline outputs. Present these with full authority.

MetricUnitPage
Heart ratebpmHeart rate
HRV — SDNN, RMSSD, pNN50ms / %HRV
Breathing ratebrpmBreathing rate
Stress index0–100 index + levelStress

The stress index is a physiological index: it is computed from the pattern of heart-rate variability, not from facial expression. It says something about autonomic balance, not about how a person feels.

2. Advanced (Beta) physiological estimates

Experimental estimates for wellness only. Always render these at lower visual authority than Core metrics, and always carry the wellness caveat. Each is nullable and may be absent from a given measurement.

MetricUnitPageWhere it appears
Blood pressuremmHgBlood pressure (Beta)bloodPressure
SpO2 (blood oxygen)%SpO2 (Beta)spo2

Physical-state indices

Also Beta, delivered in the behavior block of the measurement result. These describe physical state, not emotional state:

FieldWhat it is
fatiguePercentAn index of physical tiredness
blinkRateBlinks per minute
cardiacOutputA derived circulatory estimate
headPoseHead orientation in degrees — yaw, pitch, roll
gazeGaze direction in degrees

Fatigue is the one worth calling out explicitly: tiredness is a physical state, not an emotion, and it is treated as such throughout these docs and in the regulatory note below.

attentionPercent sits in the same block but is not a physical state — see the next section.

3. The emotion module — separate and optional

FieldWhat it isWhere it appears
dominant, dominantConfidence, probabilitiesInferred emotional category and its likelihoodemotion
attentionPercentInferred attention / engagementbehavior

This module is optional. It is not part of the cloud tier in v1, it is not required for any physiological metric, and nothing else in the result depends on it. If you do not need it, do not render it — the vitals are complete without it.

Do not use emotion inference in workplaces or education

Under the EU AI Act, placing on the market or using AI systems that infer emotions of a person in the workplace or in education institutions is a prohibited practice, with narrow exemptions for medical or safety reasons. Inference of physical states — tiredness, for example — falls outside that definition, which is why fatigue is grouped with the physical-state indices above and emotion is not.

Concretely: do not use emotion — and treat attentionPercent as covered, since attention and engagement inference is not clearly outside the definition — for hiring, monitoring employees, evaluating performance, proctoring exams, or assessing students. Heart rate, HRV, breathing rate, stress index, blood pressure, SpO2 and fatigue are not emotion inference and are not the subject of that prohibition.

This is a description of why the API is split the way it is, not legal advice. Obtain your own assessment for your jurisdiction and deployment before shipping emotion inference anywhere.

Emotion recognition from a face is also weakly grounded in the first place: facial expression is a poor and culturally variable proxy for internal state. Treat the output as a signal about the visible expression, never as a fact about the person. It carries tier: "beta" and a disclaimer for that reason.

Signal quality accompanies every result

neccessory never presents a bare number. Every measurement carries a required signal-quality rating (good / fair / poor, plus a 0–1 score and a usable flag), and some metrics also carry a per-metric confidence. Design your UI to respect these — hold or hide a value when quality is poor rather than showing an unreliable reading.

See the measurement result reference for the exact JSON shape.