🎯 Interactive Demo
Try our advanced captcha system with different challenge types and see how it detects human vs bot behavior:
🚀 Advanced Features
Behavioral Analysis
Analyzes mouse movement patterns, timing, and interaction behavior to detect bots
Proof-of-Work Fallback
Automatically triggers computational challenges for suspicious users
Adversarial Protection
Applies noise and distortions to prevent ML-based solving
Accessibility
Audio instructions, keyboard navigation, and screen reader support
Real-time Analytics
Comprehensive dashboard with metrics, heatmaps, and alerts
Easy Integration
Simple iframe embedding or SDK integration for any platform
🔧 Integration Examples
HTML/JavaScript
React
Node.js
PHP
// Basic HTML integration
<div id="captcha-container"></div>
<script>
// Generate captcha challenge
async function loadCaptcha() {
const response = await fetch('/captcha/challenge', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
siteKey: 'demo-site-key',
type: 'slider' // optional
})
});
const challenge = await response.json();
// Create iframe
const iframe = document.createElement('iframe');
iframe.src = challenge.iframe.url;
iframe.style.width = challenge.iframe.width + 'px';
iframe.style.height = challenge.iframe.height + 'px';
document.getElementById('captcha-container').appendChild(iframe);
}
// Listen for captcha completion
window.addEventListener('message', (event) => {
if (event.data.type === 'CAPTCHA_SUCCESS') {
console.log('Captcha verified!', event.data.token);
// Enable form submission
document.getElementById('submitBtn').disabled = false;
}
});
</script>
// React component integration
import React, { useState, useEffect } from 'react';
const CaptchaWidget = ({ siteKey, onVerify }) => {
const [challenge, setChallenge] = useState(null);
const [isVerified, setIsVerified] = useState(false);
const loadChallenge = async () => {
const response = await fetch('/captcha/challenge', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ siteKey })
});
const data = await response.json();
setChallenge(data);
};
useEffect(() => {
const handleMessage = (event) => {
if (event.data.type === 'CAPTCHA_SUCCESS') {
setIsVerified(true);
onVerify(event.data.token);
}
};
window.addEventListener('message', handleMessage);
return () => window.removeEventListener('message', handleMessage);
}, [onVerify]);
return (
<div>
{!challenge && (
<button onClick={loadChallenge}>
Load Captcha
</button>
)}
{challenge && (
<iframe
src={challenge.iframe.url}
width={challenge.iframe.width}
height={challenge.iframe.height}
style={{ border: '1px solid #ccc' }}
/>
)}
{isVerified && (
<p>✅ Verified!</p>
)}
</div>
);
};
export default CaptchaWidget;
// Node.js server-side verification
const express = require('express');
const app = express();
app.post('/verify-captcha', async (req, res) => {
const { token } = req.body;
try {
// Verify the captcha token
const response = await fetch('http://localhost:3000/captcha/verify', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
token,
secretKey: 'your-secret-key'
})
});
const result = await response.json();
if (result.success) {
// Captcha verified successfully
res.json({
success: true,
message: 'Human verified!'
});
} else {
res.status(400).json({
success: false,
message: 'Captcha failed'
});
}
} catch (error) {
res.status(500).json({
success: false,
message: 'Server error'
});
}
});
app.listen(3000, () => {
console.log('Server running on port 3000');
});
// PHP server-side verification
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$token = $_POST['captcha_token'];
// Verify captcha token
$data = json_encode([
'token' => $token,
'secretKey' => 'your-secret-key'
]);
$context = stream_context_create([
'http' => [
'method' => 'POST',
'header' => 'Content-Type: application/json',
'content' => $data
]
]);
$url = 'http://localhost:3000/captcha/verify';
$response = file_get_contents($url, false, $context);
$result = json_decode($response, true);
if ($result['success']) {
// Process form submission
echo 'Form submitted successfully!';
} else {
echo 'Captcha verification failed!';
}
}
?>
📊 Live Statistics
0
Total Challenges
0%
Success Rate
0s
Avg Solve Time
0%
Bot Detection