Skip to content

Vero Protocol

Prove you're real — and who you claim to be — during any live digital interaction. No stored biometrics. No central authority. No trust required.

Vero authenticates a person in real time by combining facial recognition with an unpredictable optical challenge: a session key is converted into colored light pulses flashed onto the presenter's face, and both sides independently capture and compare the result. The outcome is a one-time biometric that cannot be replayed, spoofed with a deepfake, or reused across sessions.

Draft specification

The Vero Protocol is in active V1 development. Specifications on this site are working drafts published for review; message formats, thresholds, and conformance profiles may change until V1 is tagged. See Status & Licensing.

Key properties

Property Description
No stored biometrics Vectors are ephemeral and session-specific. Nothing is saved that could identify you later.
No central server All biometric processing happens on-device. The relay only carries encrypted session metadata.
Deepfake resistant The light pattern physically illuminates the real face. Synthetic video won't reflect the correct light.
Replay resistant Each session key is unique and cryptographically random. Yesterday's scan is useless today.
Peer-to-peer Works between any two devices over WebRTC. No intermediary sees biometric data.
Self-hostable The relay is a specified interface, not a service you must buy. Anyone can run one.

How these docs are organized

  • How It Works — the roles, the session flow, and what actually crosses the wire.
  • Components — the protocol decomposed into components, each with an explicit contract: inputs, outputs, invariants, and fixtures.
  • Specifications — the normative documents. Two independent implementations that follow them MUST produce identical results.
  • Conformance — how an implementation proves compliance: language-neutral golden fixtures and the test gate.
  • Status & Licensing — V1 scope, versioning, patent and licensing posture.

The one-paragraph version

A verifier (in a browser) generates a random session key and delivers it to the presenter's phone. The phone converts the key into a sequence of colored light pulses flashed onto the presenter's face while capturing a depth-verified facial scan. Both sides independently produce an entangled vector — a 231-dimensional representation fusing facial geometry, depth, and the reflected light, rotated by the session key so it is meaningless outside this session. The verifier compares its own capture against the presenter's vector: if the faces match and the decoded light sequence matches the session key, the presenter is authenticated — as a live human, present right now, on camera.