Stacks / Auth
ALTCHA / mCaptcha
A CAPTCHA you host. ALTCHA is MIT proof-of-work; mCaptcha is AGPL-3.0 — Google reCAPTCHA without the third-party widget.
The problem
Google reCAPTCHA is a third-party bot widget (and a privacy review). You wanted a challenge on a box you run. ALTCHA is MIT (altcha-org/altcha) — proof-of-work, self-hosted. mCaptcha is AGPL-3.0 (mCaptcha/mCaptcha) if you want that PoW backend. This is not every reCAPTCHA Enterprise score, or Cloudflare Turnstile (not open source). Login still stays on /replace/clerk.
Replaces
Google reCAPTCHA
Estimated SaaS saved
$1,200
per year, small team, before lock-in
Start on RailwaySuperTokens / PocketBase if this is login, not a bot widget
Placeholder: ALTCHA ships as a widget plus optional server checks; mCaptcha is a self-hosted backend. Bind HTTP to 0.0.0.0:$PORT. No one-click template in this repo yet — Start on Railway. Auth stays on /stacks/auth-without-the-bill.
The stack
Cost table
| You stop paying | Typical / year | Self-host instead |
|---|---|---|
| Google reCAPTCHA (site) | $1,200 | ALTCHA or mCaptcha |
Agent setup prompt
Replace Google reCAPTCHA with ALTCHA (preferred) or mCaptcha. - Drop the reCAPTCHA script. Put ALTCHA on the form that currently loads Google. Self-host mCaptcha if you want that AGPL backend. - Confirm one form submit. Do not claim reCAPTCHA Enterprise scores. Write AGENT_PROMPT.md.
Also as markdown: /stacks/altcha-captcha.md
FAQ
- ALTCHA or mCaptcha?
- ALTCHA if you want the MIT widget. mCaptcha if you want an AGPL PoW backend. Pick one.
- Why not Turnstile?
- Cloudflare Turnstile is not open source. This site skips it.
- Is this login?
- No. Login is /replace/clerk. This page is the bot widget on a form.