hecapte_captcha
HeCAPTe CAPTCHA integrates HeCAPTe — a privacy-first, stateless proof-of-work CAPTCHA — into Drupal's CAPTCHA framework. No tracking, no third-party services, no image puzzles.
Traditional CAPTCHAs either rely on external services that track your users (Google reCAPTCHA, hCaptcha) or ask them to solve visual puzzles that frustrate people with accessibility needs. HeCAPTe takes a different approach: it makes the visitor's browser solve a computational puzzle (Equihash proof-of-work) silently in the background. Legitimate users on modern devices solve it in seconds without any interaction. Bots face a cost that makes mass submissions economically unviable.
Features
- No user interaction required. The puzzle runs invisibly via WebAssembly — visitors never see a widget, checkbox, or image grid.
- Privacy-preserving. No cookies, no tracking pixels, no data sent to third parties. Everything is verified by your own HeCAPTe server.
- Stateless verification. The HeCAPTe server holds no session state for challenges. Replay attacks are blocked via a salt cache.
- Self-hosted. You run the HeCAPTe server yourself (a single Go binary + SQLite). No SaaS dependency.
- Accessible. Because there is nothing to solve from the user's perspective, the CAPTCHA presents no barrier to screen reader users or anyone with visual impairments.
- Configurable difficulty. The HeCAPTe admin panel offers Low / Recommended / High presets (Equihash N/K parameters) depending on your spam threat level.
- Plugs into Drupal's CAPTCHA module. Works on any form that the CAPTCHA module supports — comment forms, contact forms, user registration, Webform, and more.
Post-Installation
Before configuring this module, you need a running HeCAPTe server instance. See the HeCAPTe documentation for installation instructions. Make sure the HeCAPTe deployment includes a built web/static/solver.wasm — the module proxies this file through Drupal.
Once the server is running:
- Go to the HeCAPTe admin panel, create a site, and set the allowed origins to include your Drupal site's origin. Copy the Site Key.
- In Drupal, navigate to
/admin/config/people/captcha/hecapteand enter your HeCAPTe server URL and Site Key. - On the main CAPTCHA settings page, select
hecapte_captcha/HeCAPTeas the challenge type for the forms you want to protect.
The module proxies the HeCAPTe runtime assets (worker.js, wasm_exec.js, solver.wasm) through Drupal's own routes, so no cross-origin requests are made from the browser to your HeCAPTe server.
Additional Requirements
- CAPTCHA module 1.17 or 2.x
- Drupal 10 or 11
- A running HeCAPTe server instance (self-hosted). See https://codeberg.org/TheMeerkat/HeCAPTe for setup instructions. Requires Go to build, or use the provided Docker image. The server must have a built
web/static/solver.wasm. - The HeCAPTe site key's allowed origins must include your Drupal site's origin.
Recommended modules/libraries
No additional Drupal modules are required. If you use Webform, HeCAPTe CAPTCHA works with it via the standard CAPTCHA module integration.
Similar projects
Several Drupal modules protect forms with CAPTCHAs, but differ in meaningful ways:
- reCAPTCHA — uses Google's reCAPTCHA v2/v3. Requires sending user data to Google's servers. Not suitable for privacy-conscious deployments or GDPR contexts without additional consent handling.
- hCaptcha — a third-party SaaS alternative to reCAPTCHA. Still routes traffic through an external service and sets third-party cookies.
- Friendly Captcha — also uses proof-of-work and is privacy-friendlier than reCAPTCHA, but depends on the Friendly Captcha SaaS service. Not fully self-hosted.
- ALTCHA — self-hosted proof-of-work CAPTCHA using SHA-256/Argon2id/Scrypt. Shows a visible checkbox widget. More mature with stable releases and security advisory policy coverage. HeCAPTe differs in using Equihash (memory-hard by default) and running completely invisible to the user.
Supporting this Module
If you find this module useful, consider starring the HeCAPTe repository on Codeberg and spreading the word.
Community Documentation
- HeCAPTe server documentation — full API reference, configuration options, and deployment guide for the HeCAPTe server.