AUTHENTICATED POST-DEPLOYMENT CONTROL
BOT PROTECTION
Human verification without friction. No CAPTCHAs. No tracking. Privacy-first alternative to reCAPTCHA and Turnstile.
INTEGRATION
<!-- Add to HTML -->
<script src="https://gate.sekyuriti.build/v1/gate.js"></script>
<div data-gate-sitekey="YOUR_KEY"></div>
0
TRACKING
10K
FREE/MO
<8
KB SCRIPT
INVISIBLE VERIFICATION
GATE verifies humans through behavioral analysis and proof of work. Users never see a challenge unless they trigger suspicion.
Mouse movement, scroll patterns, timing. Humans are chaotic. Bots are mechanical.
Small computational puzzle. Trivial for one browser. Expensive at scale.
Browser signals without tracking. Detects headless browsers and automation.
Combined signals produce a bot score. You decide the threshold.
| FEATURE | GATE | reCAPTCHA | Turnstile | hCaptcha |
|---|---|---|---|---|
| INVISIBLE MODE | Yes | Sometimes | Yes | Sometimes |
| PRIVACY | No tracking | Google tracking | Cloudflare | Minimal |
| VENDOR LOCK-IN | No | Yes | Cloudflare only | No |
| FREE TIER | 10K/mo | Unlimited | Unlimited | Metered |
| BOT SCORE | 0-100 | 0-1 | Pass/Fail | Pass/Fail |
Bot protection for small projects. 10,000 verifications per month.
Advanced protection for production apps. 100,000 verifications per month.
Verify before form submission. Prevent spam, credential stuffing, and bot signups.
// One line to protect any form
SekyuritiGate.protectForm(
'#signup-form',
'gsk_YOUR_SITE_KEY'
);
// Token auto-added as hidden input
• Login forms
• Signup forms
• Contact forms
• Checkout flows
Block page content until verified. Deter scrapers and protect sensitive data.
// Blocks page until human verified
SekyuritiGate.protect(
'gsk_YOUR_SITE_KEY',
{ redirectOnFail: '/blocked' }
);
• Pricing pages
• Documentation
• User dashboards
• Content behind gates
FRONTEND
<script src="https://gate.sekyuriti.build/v1/gate.js"></script>
<script>
const gate = new SekyuritiGate('gsk_YOUR_SITE_KEY');
form.addEventListener('submit', async (e) => {
e.preventDefault();
const token = await gate.execute();
await fetch('/api/submit', {
method: 'POST',
body: JSON.stringify({ ...formData, gate_token: token })
});
});
</script>BACKEND
// Verify the token server-side
const response = await fetch(
'https://gate.sekyuriti.build/api/verify',
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
secret: process.env.GATE_SECRET,
token: req.body.gate_token
})
}
);
const { success, score } = await response.json();
if (!success || score > 70) {
return res.status(403).json({ error: 'Bot detected' });
}GET STARTED
GET SITE KEY