The breaking point
A form we ran had a CAPTCHA. Completion rate: 58%. After removing it: 81%. Bots barely slowed down. Real users just left.
That's when I realized: CAPTCHAs aren't really protecting you. They're taxing your real users to slow down bots by seconds.
The insight behind HUMA
Humans and bots behave fundamentally differently.
When a human fills out a form, they:
- Move the mouse in curved, organic paths
- Type with natural rhythm — faster on familiar words, pauses before corrections
- Scroll unevenly, sometimes going back up to re-read
- Take time to think before clicking
Bots execute scripts:
- Linear mouse paths or no mouse movement at all
- Perfectly timed keystrokes
- Instant form completions
- Zero hesitation
These behavioral signals are a much richer signal than "can you read this blurry text."
How HUMA works
<!-- 1. Drop this on your frontend -->
<script src="https://humaverify.com/huma.js"></script>
# 2. Call this from your backend
curl -X POST https://humaverify.com/api/v1/verify \
-H "Authorization: Bearer huma_live_..." \
-H "Content-Type: application/json" \
-d '{"userId": "user_123"}'
{
"human": true,
"confidence": 0.94,
"token": "h_verified_Kd3mP8luYMC2Mi1x",
"pii_stored": false
}
No UI shown to the user. No friction. No personal data stored.
Node.js SDK
npm install @usehuma/node
import Huma from "@usehuma/node";
const huma = new Huma("huma_live_your_key");
const result = await huma.verify("user_123");
if (result.human && result.confidence > 0.7) {
// ✅ Real human — let them through
}
Try it yourself
You can run the demo at humaverify.com/demo — no account needed. It takes ~6 seconds to collect signals and shows you your own confidence score.
I'm Jaime, I built this solo in Mexico City. Launching today on Product Hunt — would love to hear your thoughts, especially from devs who've dealt with bot abuse on their own products.
Top comments (0)