Heart rate extraction via remote photoplethysmography (rPPG)
How this works
Your camera detects your heart rate through tiny color changes in your skin. Each heartbeat pushes blood through capillaries in your face, causing microscopic shifts in skin color detectable by the camera sensor.
This is remote photoplethysmography (rPPG) — the same science behind health apps.
1
Pre-scan: detect skin, motion, texture — confirm a human is present
2
Measure resting heart rate through skin color changes (15s)
3
Show unexpected stimulus to trigger involuntary response
4
Measure cardiac response — your nervous system reacts
5
A real body passes. A photo, screen, or deepfake fails.
Requirements
Good lighting on face · Hold device steady · Stay still
Initializing...
rPPG REGION
!
BPM
--
INITIALIZING
Pre-scan Detection
—
Skin Detection
Waiting for camera...
—
—
Biological Motion
Waiting...
—
—
Texture Complexity
Waiting...
—
—
Human Presence
Analyzing...
SIGNAL QUALITY
SAMPLES
0
PHOTOPLETHYSMOGRAPHIC SIGNAL (GREEN CHANNEL)
Each peak = one heartbeat. Green channel oscillates with blood flow.
BIOLOGICAL VERIFICATION
--
--
—
Cardiac Response Analysis
RESTING
--
BPM
→
AFTER STIMULUS
--
BPM
WHY A DEEPFAKE CAN'T PASS THIS
Before measuring a heartbeat, NotBot first confirms a living human is physically present — through skin tone detection (hemoglobin-perfused skin has a specific color signature), biological micro-motion (breathing, pulse, and blinks cause involuntary movement that static objects and photos lack), and texture complexity (a face has depth, pores, and shadows that flat surfaces don't).
Only after all three pass does the heart rate scan begin. A deepfake generates pixels but has no blood, no heartbeat, no nervous system. A printed photo has no motion. A screen replay has moiré patterns and no real skin tone. Each layer independently blocks a different class of attack.
Four detection layers + cardiac verification = proof that a living human body is present.
FOR DEVELOPERS & FOUNDERS
Building a platform with a bot problem?
We're looking for 10 beta partners to integrate NotBot's verification API. Fake signups, bot spam, or AI accounts destroying your platform? Let's talk.