VERIDU Verify Documentation
Ship passive verification in minutes. Verify the token server-side before processing user actions.
Install in 60 seconds
Step 1 — Add the script tag
<script
src="https://veridu.id/sdk/v3/veridu.js"
data-veridu-key="YOUR_SITE_KEY"
async>
</script>
Step 2 — Verify the token server-side
// Node.js example
const response = await fetch('https://veridu.id/api/verify', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'veridu_sec_sk_YOUR_SECRET'
},
body: JSON.stringify({ token: req.body.verid_token })
});
const result = await response.json();
// result.status: 'verified' | 'uncertain' | 'failed'
// result.confidence: 0-100
if (result.status !== 'verified') {
return res.status(403).json({ error: 'Human verification failed' });
}
Step 3 — Done
Every form submission now includes a veridu_token
field automatically. Verify it before processing.
Troubleshooting
Token not being generated
Ensure the script tag is loaded before any form submit events fire. Place it in <head> or use the async attribute.
High uncertain rate
Uncertain scores (48-71) indicate ambiguous biological signals. Common causes: very short page sessions (<2 seconds), mobile users on slow connections, or users with motor impairments (see accessibility docs).
CORS errors
Your domain must be registered as an allowed origin on your API key. Update your key's domain allowlist in the dashboard.
Token expired (401)
Tokens have a 300-second TTL. Ensure you are verifying the token immediately after form submission, not storing it for later use.