Intelligent Bot Protection

Stop bots.
Not humans.

DarkGuard replaces boring CAPTCHAs with 7 interactive micro-games, AI behavioral analysis, and cryptographically verified tokens. Drop-in ready.

Get Started Try It Live
Why DarkGuard

Security that doesn't suck.

No more identifying fire hydrants. DarkGuard uses gamified verification combined with invisible behavioral analysis.

7 Randomized Games

Block sorting, orb dragging, color patterns, math, arrows, odd-one-out, and number sequences. A random one is selected every time.

Behavioral Heuristics

Analyzes mouse speed variance, click duration, and movement trajectories. Detects robotic patterns invisible to the user.

Device-Aware

Automatically adjusts strictness for touch devices vs desktop. No false positives on mobile or tablet.

HMAC-Signed Tokens

Solutions generate SHA-256 signed tokens that are IP-locked, time-limited, and single-use. Verified server-to-server.

Punishment System

Suspicious users are forced to solve 2 consecutive challenges. Repeat failures escalate difficulty further.

WebDriver Detection

Detects Selenium, Puppeteer, and headless browsers via navigator flags and window dimension anomalies.

Interactive Playground

Try every challenge.

Click the checkbox on each card to start. These are live, fully functional DarkGuard instances — your solution is verified by the real server.

Block Sorting

Drag and drop the blocks to sort them from smallest to largest.

Verified — token generated

Orb Dragging

Drag the glowing orb onto the dashed target ring.

Verified — token generated

Color Pattern

Click the colored circles in the exact order shown.

Verified — token generated

Math Solver

Solve the arithmetic equation by clicking the correct answer bubble.

Verified — token generated

Arrow Orientation

Identify and click the arrow that points straight up.

Verified — token generated

Odd One Out

Find the icon that doesn't belong with the others.

Verified — token generated
Integration

Choose your setup.

Pick the integration mode that fits your architecture. Server-verified is the gold standard; client-only works when you don't have a backend.

1

Add the Script

Include the DarkGuard client in your page's head.

<script src="https://darkframmme-server-production.up.railway.app/darkguard.js"></script>
2

Render the Widget

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>
3

Verify on Your Server

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
Reduced Security. Without server-side verification, the captcha token cannot be cryptographically validated. This mode is suitable for static sites, portfolios, or low-risk forms — but should not be used for authentication or payments.
1

Add the Script

Include the DarkGuard client in your page's head.

<script src="https://darkframmme-server-production.up.railway.app/darkguard.js"></script>
2

Render & Gate Your Form

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>