Skip to main content

Migrate from reCAPTCHA

This guide walks through swapping Google reCAPTCHA for ALTCHA — updating the widget on your forms and the verification call on your server.

Why switch

reCAPTCHAALTCHA
No cookies or tracking scriptsNoYes
Verifies locally, no remote API callNoYes
Self-hosting optionNoYes
Open-source, auditable codeNoYes
Data residency controlNoYes

The "no remote API call" difference is a practical one, not just a privacy one: reCAPTCHA requires your server to call Google's siteverify endpoint on every submission, adding a network round-trip and an external dependency to your request path. ALTCHA's libraries verify the payload cryptographically, in-process — see Server Verification.

Pick how you'll host it

  • Just want it running today, for free — use the open-source widget with your own server. See Quick Start.
  • Don't want to run any infrastructure — use ALTCHA Cloud, fully managed and hosted in the EU.
  • Need the full adaptive-protection platform on your own infrastructure — use ALTCHA Sentinel.

All three use the same <altcha-widget> element and the same verification libraries — you can start with the open-source core and move to Cloud or Sentinel later without changing your integration.

Update your widget

Before (reCAPTCHA):

<script src="https://www.google.com/recaptcha/api.js" async defer></script>

<form action="/submit" method="POST">
  <div class="g-recaptcha" data-sitekey="YOUR_SITE_KEY"></div>
  <button type="submit">Submit</button>
</form>

After (ALTCHA):

<script async defer src="https://cdn.jsdelivr.net/gh/altcha-org/altcha/dist/main/altcha.min.js" type="module"></script>

<form action="/submit" method="POST">
  <altcha-widget challenge="https://your-challenge-url"></altcha-widget>
  <button type="submit">Submit</button>
</form>

See Widget Integration for npm installs and framework-specific setup (React, Vue, Svelte, and others).

Update server-side verification

Replace the call to Google's siteverify endpoint with a local, cryptographic check using an official library:

  • Using your own server → verifySolution
  • Using Cloud or Sentinel → verifyServerSignature

Migration checklist

  1. Remove the reCAPTCHA script tag, data-sitekey, and secret key.
  2. Add the <altcha-widget> element in its place.
  3. Point challenge at your chosen setup — your own server, Cloud, or Sentinel.
  4. Swap the siteverify call for a local verification call.
  5. Test: submit without solving (should be rejected), then submit normally (should succeed).

Next steps

Start typing to search...

Navigate Select