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.
| Metric | Unit | Page |
|---|---|---|
| Heart rate | bpm | Heart rate |
| HRV — SDNN, RMSSD, pNN50 | ms / % | HRV |
| Breathing rate | brpm | Breathing rate |
| Stress index | 0–100 index + level | Stress |
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.
| Metric | Unit | Page | Where it appears |
|---|---|---|---|
| Blood pressure | mmHg | Blood 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:
| Field | What it is |
|---|---|
fatiguePercent | An index of physical tiredness |
blinkRate | Blinks per minute |
cardiacOutput | A derived circulatory estimate |
headPose | Head orientation in degrees — yaw, pitch, roll |
gaze | Gaze 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
| Field | What it is | Where it appears |
|---|---|---|
dominant, dominantConfidence, probabilities | Inferred emotional category and its likelihood | emotion |
attentionPercent | Inferred attention / engagement | behavior |
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.