THE PRODUCT

The complete human-verification layer for surveys and panels.

You are not buying 1,000 responses. You are buying 1,000 independent opinions. VerifyHuman measures whether you got them — filtering traffic at the door with no code and no friction, and stepping up to a biometric camera check only where the study or the risk demands it. No images. No identity.

Public docs — no login required. Get an API key when you're ready.

TWO SCORES, NOT ONE

“Is this fraud?” and “is this independent?” are different questions.

Most tools collapse them into one number, which forces an argument about a single respondent. We answer both, separately — and neither score can move the other.

Risk

Does this session look like fraud? Six independent lines of evidence — network, device, velocity, behaviour, history and duplication — fused into one allow / review / block recommendation you calibrate to your own traffic.

Independence

How independent is this response from the rest of your sample? A returning respondent is not a fraudster, and a sample can be shown to lack independence without accusing anyone of anything. This is the number a research buyer actually pays for.

THE ASSURANCE LADDER

Invisible by default. Friction only when it's earned.

VerifyHuman verifies real humans without interrupting them. You choose how much assurance you want — your respondents barely notice either way.

  • Step 01
    Server-side floor
    What it does

    Scores every respondent from network, device, and behavioural-reputation signals. Zero code on the page — works anywhere, instantly.

    Your respondent sees

    Nothing

  • Step 02
    Invisible layer
    What it does

    A silent on-page script adds live behavioural signal and catches automation — still nothing to see or do.

    Your respondent sees

    Nothing

  • Step 03
    Camera step-up
    What it does

    Only when something genuinely looks off, and only for that one person. Proof for the few, friction for no one else.

    Your respondent sees

    A quick check — only if flagged

One platform, one ladder. Start invisible; step up only when the risk earns it — so good respondents sail through and only the suspicious few are ever asked to prove themselves.

How it works

Under the hood it's a single scoring engine. The server-side floor runs for everyone; the invisible layer feeds it richer on-page signal; the camera is invoked only as a step-up when the floor is uncertain.

FOUR WAYS TO VERIFY

Enter the ladder at the rung your assurance need calls for.

Same platform, same verdict vocabulary — allow / review / block. Start as low-friction as your study allows and let VerifyHuman escalate.

Sees: Nothing

Server-Side

One server-to-server call scores every respondent from network, device, velocity, dedup, and reputation signals — no camera, no page code at all. A drop-in replacement for a legacy quality gate.

Panels & supply you can’t put code on

Integrate it
Sees: Nothing

Invisible

A silent on-page script adds live behavioral signal and catches automation, on top of the server floor. Still nothing to see and nothing to do.

Pages you own, zero friction

Integrate it
Sees: A brief badge

Captcha

A brief “verifying…” moment with a hidden camera runs a quick liveness + face-presence check in ~2–3 seconds, escalating only if uncertain.

Light biometric proof, barely-there friction

Integrate it
Sees: A ~5-second check

Standard

The full camera: passive liveness, active challenges when needed, anti-spoof, and face-uniqueness. The strongest proof a live, present, unique human is here.

Paid panels, high-incentive, fraud-sensitive

Integrate it

THE EVIDENCE WE REFUSE TO USE

Anyone can flag more. The hard part is not accusing the innocent.

A false rejection costs a panel a good respondent, an incentive, and a reputation. So parts of our system exist purely to throw evidence away.

Shared machines stay shared

People who used the same library or office computer are not a fraud ring. When a group of accounts only holds together through one shared device, we test for it and decline to score the group.

A fingerprint is not a person

Two people with the same phone model and browser version produce the same device fingerprint. When an identity turns up on many unrelated networks — or in two places at once — we withdraw it entirely rather than accuse anyone.

Absence is never a pass

“We checked and it was clean” and “we could not check” are different answers. We report which one you got, so a quietly degraded signal can never look like a good result.

BUILT INSIDE A PANEL

Calibrated on real panel traffic, not a vendor's sample.

A detection vendor sees one customer's traffic at a time. We sit inside a panel — so the models are tuned on the full width of real supply, across hundreds of sources.

730
supply sources profiled
848K
panel history records
660K
sessions scored monthly
~37
respondent languages

EVERY WAY TO WIRE IT IN

From a backend call to a survey redirect — pick the surface you own.

The same verification, three integration surfaces: score it server-side, mount it on the page, or add it to the survey platform you already run. Every path returns the same allow / review / block verdict.

Backend

Server-to-server

Score a respondent from your backend with no code on the page. Push results to your systems, or drive projects and keys from an LLM client.

  • · Server-Side scoring — one HTTPS call
  • · Webhooks — results pushed to you
  • · MCP — admin from Claude / any client
See how
On the page

The widget, five ways

One SDK, one engine, drop it in however your stack is built — then choose Invisible, Captcha, or Standard per project.

  • · HTML — one <script> tag
  • · React & Next.js components
  • · Vanilla TS / JS + managed VH.mount
  • · Invisible · Captcha · Standard modes
See how
Survey platforms

Where you already work

A no-code hosted redirect works on any survey tool; five custom-JS platforms also take an inline snippet. Every complete arrives stamped “real human.”

  • · Hosted redirect — any platform, no code
  • · Inline on Qualtrics · Forsta · Alchemer · SurveyMonkey · Typeform
  • · Panels: Cint · Dynata routing
See how

INTEGRATE IN AN AFTERNOON

The camera-free gate is a single call.

For supply you can't put code on, score a respondent server-to-server where a legacy quality vendor used to run. Read recommendation and act.

POST https://vhuman.riwi.com/api/v1/lite/score
Authorization: Bearer <project API key>
Content-Type: application/json

{ "sessionId": "<your-id>",
  "clientIp":  "<respondent-ip>",
  "userAgent": "<respondent-ua>",
  "sourceId":  "<your-supply-source>" }

// → read  response.recommendation   (allow | review | block | step_up)

Full field list, enums, identity-hashing, and the evidence feedback loop are in the Server-Side scoring API. Prefer an on-page widget? The SDK drops in with one script tag, React, Next.js, or vanilla TS.

BUILT TO BE TRUSTED

Strong checks, soft footprint.

No images, no identity

Face geometry is computed on-device and never leaves it. No photos are stored, and VerifyHuman never learns who anyone is — GDPR- and BIPA-aware by design.

Fail-open by default

A VerifyHuman hiccup never hard-stops a real respondent. Traffic is preserved and flagged for review; fraud-sensitive studies can opt into fail-closed.

Calibrated to your traffic

Allow / review / block bands are yours to set per source, with a closed evidence loop that tightens future scores. You keep response rate and data quality both.

Every decision shows its work

Each score comes with the full evidence behind it — every signal, whether it fired, and the arithmetic used at the moment of the decision. When a rejection is disputed, you get an answer instead of a shrug.

READY TO VERIFY

Stop fraud at the door — without collecting a thing.

Sign up free and run VerifyHuman on your next study today. Or talk to us about embedding it across your survey infrastructure.