DarkGuard replaces boring CAPTCHAs with 7 interactive micro-games, AI behavioral analysis, and cryptographically verified tokens. Drop-in ready.
No more identifying fire hydrants. DarkGuard uses gamified verification combined with invisible behavioral analysis.
Block sorting, orb dragging, color patterns, math, arrows, odd-one-out, and number sequences. A random one is selected every time.
Analyzes mouse speed variance, click duration, and movement trajectories. Detects robotic patterns invisible to the user.
Automatically adjusts strictness for touch devices vs desktop. No false positives on mobile or tablet.
Solutions generate SHA-256 signed tokens that are IP-locked, time-limited, and single-use. Verified server-to-server.
Suspicious users are forced to solve 2 consecutive challenges. Repeat failures escalate difficulty further.
Detects Selenium, Puppeteer, and headless browsers via navigator flags and window dimension anomalies.
Click the checkbox on each card to start. These are live, fully functional DarkGuard instances — your solution is verified by the real server.
Drag and drop the blocks to sort them from smallest to largest.
Drag the glowing orb onto the dashed target ring.
Click the colored circles in the exact order shown.
Solve the arithmetic equation by clicking the correct answer bubble.
Identify and click the arrow that points straight up.
Find the icon that doesn't belong with the others.
Pick the integration mode that fits your architecture. Server-verified is the gold standard; client-only works when you don't have a backend.
Include the DarkGuard client in your page's head.
<script src="https://darkframmme-server-production.up.railway.app/darkguard.js"></script>
Create a container and initialize DarkGuard.
<div id="my-captcha"></div> <script> DarkGuard.render('my-captcha', { onSuccess: (token) => { // token auto-injected as hidden input console.log("Verified!", token); } }); </script>
Send the token to the DarkGuard API from your backend.
const res = await fetch( 'https://darkframmme-server -production.up.railway.app /api/darkguard/verify-token', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ token: darkguardToken, clientIp: req.ip // optional }) } ); const { valid } = await res.json(); // valid === true → human verified
Include the DarkGuard client in your page's head.
<script src="https://darkframmme-server-production.up.railway.app/darkguard.js"></script>
Use the onSuccess callback to enable your submit button
when verified.
<div id="my-captcha"></div> <button id="submitBtn" disabled> Submit </button> <script> DarkGuard.render('my-captcha', { onSuccess: () => { document.getElementById( 'submitBtn' ).disabled = false; } }); </script>