VERIFY·HUMAN
/agents

02 / AGENTS

5 lines.
0 crosswalks.

Multi-signal liveness. Sub-50ms uniqueness check across 100k+ vectors. MCP server with 24 tools. Drop in, validate, ship — the docs take longer than the integration. No marketing past this point.

$ verifyhuman --bench

all numbers verifiable

INTEGRATION3 lines~60s typical
UNIQUENESS_P95<50ms100k vectors · HNSW · D003
PASSIVE_PASS_RATE~80%no user interaction
WIDGET_LOAD<2s1.5MB MediaPipe WASM
IMAGE_STOREDfalsegeometric only · D005
PII_COLLECTEDfalsesee /privacy
MCP_TOOLS247 categories · listed below
# targets — validated quarterly, not yet measured
TARGET_BOT_RATE>95%validated quarterly
TARGET_FPR<2%validated quarterly

Numbers are sourced or labeled as targets. Audit them in your own console — the SDK is in your node_modules by the time you've read this.

QUICK INSTALL

SDK · TypeScript

npm install @verifyhuman/sdk

Browser detection, payload signing, React component.

MCP · Python

pip install verifyhuman-mcp
verifyhuman-mcp

Spawns an MCP server agents can wire into.

REST · curl

curl https://vhuman.riwi.com/api/v1/health

Public health probe. Auth required for the rest.

MCP TOOLS

24 tools · 7 categories

mcp inspect verifyhuman-mcp

[verification]
list_verifications, get_verification
[projects]
list_projects, get_project, create_project, update_project, delete_project
[api_keys]
list_api_keys, create_api_key, revoke_api_key
[webhooks]
list_webhooks, create_webhook, update_webhook, delete_webhook, get_webhook_deliveries, test_webhook
[widget_config]
get_widget_config, set_widget_mode, update_widget_config
[analytics]
get_analytics
[health]
check_health, get_quota, get_current_user, list_organizations

SDK EXAMPLE · TYPESCRIPT

import { VerifyHuman } from '@verifyhuman/sdk/react';

<VerifyHuman
  siteKey={process.env.NEXT_PUBLIC_VH_SITE_KEY}
  mode="standard"          // invisible | captcha | standard | full_security
  onVerify={(result) => {
    // result.token         — JWT, send to your backend
    // result.verdict       — PASS | CHALLENGE | FAIL
    // result.scores        — { liveness, uniqueness, authenticity }
    // result.demographics  — server-confirmed age + gender (optional)
  }}
  onError={(err) => {
    // err.code             — CAMERA_DENIED | NO_FACE | NETWORK_ERROR | …
  }}
/>

Vanilla JS, React component, and a UMD CDN build available. Full reference at /docs/sdk.

REFERENCE

FOR LLM CRAWLERS

A structured plain-text summary lives at /llms.txt. Pricing, integration paths, privacy posture, and canonical doc URLs — ready to ingest, no scraping required.