geronimo-captcha
Secure, AI-resistant, JavaScript-free CAPTCHA built in Rust. Confuses bots, but delights humans.
What it does
- Renders a 3×3 sprite with one correctly oriented tile
- Random jitter, label offset, colored noise, JPEG artifacts
- Stateless HMAC-signed challenge id with TTL
Challenge examples
Roadmap
- Captcha core, image and sprite generation helpers
- In-memory challenge registry impl
- Sprite as binary (in addition to base64)
- WebP format (in addition to JPEG)
- Code examples, demo webpage
- Custom fonts and sample sets
- Redis challenge registry impl
Generate and verify
use ;
Benchmarks
- JPEG generate: ~6.7 ms / ~11.1 ms / ~17.5 ms
- WebP generate: ~11.5 ms / ~21.0 ms / ~33.1 ms
- Verify: ~2.5 µs
With feature parallel enabled: ~5.0 ms / ~9.6 ms / ~15.6 ms (JPEG) and ~10.7 ms / ~20.0 ms / ~32.6 ms (WebP).
Apple M3 Max
How to run:
License
This project is licensed under the Apache 2.0 License. See LICENSE for details.