Teams migrating off reCAPTCHA or hCaptcha because:
- your DPO flagged the third-party tracking cookies and cross-site behavioural profile,
- EU or UK data-residency is on the roadmap,
- reCAPTCHA v2 or v3 is due to reprice under the new billing model,
- or the current widget is quietly letting scrapers, credential-stuffing tools and disposable-signup bots through.
Anywhere you'd put a CAPTCHA today:
- Login forms — stop credential-stuffing without adding another hop for real users.
- Signup and registration — cut disposable-email and throwaway-account traffic before it hits your database.
- Checkout and payment — block scalper and reseller automation on high-value purchases.
- Contact and support forms — keep spam out without a cookie banner update.
- Comment and review submissions — stop review-farm and forum-spam bots.
Two files change on your site: the script tag on the page, and the verify call in your backend.
On the form — drop the script and the widget container:
<script src="https://js.prosopo.io/js/procaptcha.bundle.js" async defer></script>
<form method="POST" action="/login">
<input name="email" type="email">
<input name="password" type="password">
<div data-sitekey="YOUR_SITE_KEY" class="procaptcha"></div>
<button type="submit">Sign in</button>
</form>
In the backend — verify the token before you trust the submission:
const res = await fetch("https://api.prosopo.io/siteverify", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ secret: process.env.PROSOPO_SECRET, token }),
});
const { verified, reason } = await res.json();
if (!verified) return reject(reason);
The response has the same shape as reCAPTCHA and hCaptcha, so most existing verification code needs a URL change and nothing else. Every verdict comes back with a reason your team can read — a specific detector name rather than a numerical score.
Best Partial / caveat Weak
| Capability | Procaptcha | reCAPTCHA | hCaptcha | Cloudflare Turnstile |
|---|
| Third-party tracking cookies | ● None | ● Yes | ● Yes | ● None |
|---|
| Cross-site behavioural profile | ● None | ● Yes | ● Yes | ● Limited |
|---|
| Personal data stored by default | ● IP only | ● Multiple | ● Multiple | ● Minimal |
|---|
| Data processed in EU on request | ● | ● Limited | ● Limited | ● Limited |
|---|
| GDPR-compliant by default | ● | ● | ● | ● Partial |
|---|
| Free tier | ● 10K / month | ● | ● | ● |
|---|
| Named detector reason on every block | ● Technical string | ● Score only | ● Score only | ● Score only |
|---|
Procaptcha is the widget you drop on individual forms. Prosopo Protect is the edge-deployed sibling that wraps every request to a site or API. Same detection engine, different scope.
| Procaptcha (widget) | Prosopo Protect (site / API) |
|---|
| What you install | <script> on the form + /siteverify in your backend | Edge worker (Cloudflare / Lambda@Edge) or reverse proxy (nginx / Caddy) in front of your traffic |
| What it protects | One form at a time | Every request to a site or JSON API |
| When to reach for it | Drop-in reCAPTCHA / hCaptcha replacement on specific forms | Whole-site scraping defence, JSON API abuse, edge access control |
Having a problem on a live site? Use Prosopo Support and include the URL where the issue is happening.