Spam protection without captchas · hosted in the EU

Your forms, confirmed. Without a single puzzle.

formconfirmed makes automated form spam unattractive: a small proof of work runs invisibly in the visitor's browser, combined with timing and honeypot signals and an optional AI check of the message on our own servers in the EU.

0puzzles for your visitors
0cookies set
50,000free checks per month
EUhosting and AI
How it works

From scan to protection in three steps

Check

formexposed checks your forms from the outside and shows which ones are open to bots.

Turn on

One click from the result: site and keys are created, and the guide fits your system, whether WordPress, another CMS or your own code.

Confirm

The regular scans recognise the widget and mark the form as confirmed. If the server-side check is missing, the dashboard tells you.

Features

Protection your visitors do not notice

No puzzles

No images, no audio, no clicking. The check runs in the background in a web worker, usually well under a second.

No cookies, no fingerprinting

Nothing is stored on the device and nothing is tracked. That is why the protection needs no consent banner.

AI content check

Judges what is sent, whether by a person, a script or an AI agent: SEO offers, link lists, phishing, gibberish. The text is checked in memory only.

Hosted in the EU

All checks and the AI run on servers in the EU, the AI on our own hardware. No transfer to third countries.

Accessible

No interaction needed, so no obstacle for screen readers, keyboard or voice control. Good for WCAG and the European Accessibility Act.

Your forms keep working

If our service is unavailable, you decide: let through and flag (default) or block. Availability comes before every extra feature.

For developers

Switching from reCAPTCHA takes minutes

One script tag, one element in the form, one call on your server. The answer looks like reCAPTCHA and Turnstile, plus a clear action with reasons.

  • Response with success, score and error codes, plus allow, flag or block
  • WordPress: the plugin protects Contact Form 7, WPForms and comments automatically
  • Strict CSP compatible: no eval, no inline code required
  contact.html · server
<!-- 1. widget -->
<script src="https://formconfirmed.com/v1/widget.js" async defer></script>

<form method="post" action="/contact">
  …
  <div class="fcp-widget" data-sitekey="fcp_pub_…"></div>
</form>

// 2. server: POST /v1/verify
{ "success": true, "score": 0.9,
  "action": "allow", "reasons": [] }
Pricing

Five times reCAPTCHA's free quota

Above the quota nothing is switched off: checks continue without the AI content check and you get an e-mail.

Free

0 €
  • 50,000 checks per month
  • No AI content check
  • Badge always shown

Pro

Price to follow
  • 250,000 checks per month
  • AI content check for 25,000 texts
  • Badge can be switched off

Business

Price to follow
  • 2,000,000 checks per month
  • AI content check for 250,000 texts
  • Badge can be switched off

One account and one bill with formexposed. Sign in with your existing formexposed account.

Questions

What you might want to know

Does formconfirmed stop every bot?
No, and nobody honest promises that. formconfirmed makes automated submissions expensive and unattractive: every submission costs computing time, comes too fast, falls into the honeypot or reads like spam. Several independent signals decide together, never one alone.
Do I need a consent banner for it?
For formconfirmed itself, no: it sets no cookies, stores nothing on the device and creates no fingerprint. A text for your privacy policy is available in the dashboard.
What data do you process?
The solved task, the time taken to fill in the form, whether the invisible field was filled and, if you switch it on, the message text, which is checked in memory only and not stored. IP addresses are used only shortened and as a daily changing hash.
What happens if your service is down?
The widget notices it and says so in the token. Your server lets the submission through and flags it, or blocks it, your choice per site. The code examples and the WordPress plugin handle this out of the box.
How does it relate to formexposed?
formconfirmed is a product of formexposed. formexposed finds unprotected forms, formconfirmed protects them, and the next scan confirms it. Sign-in, account and billing are shared.

Protect your first form today

Free up to 50,000 checks a month. No credit card.