No cookies, no fingerprinting
No localStorage, no canvas, audio or WebGL probing. Nothing is stored on or read from the device — so the consent requirement of § 25 TDDDG does not apply.
Proof-of-work captcha · Hosted in Falkenstein, Germany
simplecaptcha protects forms with an invisible computation instead of image puzzles. Your visitors notice nothing — no clicks, no cookies, no consent banner. GDPR-compliant, hosted exclusively in Germany.
Live demo
This form is protected by simplecaptcha. Click into a field: your browser starts solving a memory-hard Argon2id challenge in the background. On the right you see what nobody else does.
simplecaptcha test bench
ready — waiting for the first interaction with the form
The live demo is currently unreachable. The principle stays the same: the computation runs invisibly while your visitors type — the mechanics are explained step by step below.
This demo runs against the real API at api.simplecaptcha.de — the same two-line integration you would use.
How it works
Integration is three steps. The widget handles the first two by itself — the third one is yours, and it is the one that counts.
Mark your form with data-simplecaptcha and add the script tag. No layout changes, no visible element.
<form data-simplecaptcha>…</form>
<script
src="https://api.simplecaptcha.de/v1/widget.js"
data-sitekey="sck_…" defer>
</script>
On the first interaction, the browser solves a memory-hard Argon2id challenge in the background — done before your visitors finish typing. The result lands in the form as a token.
Your server verifies the token once against /v1/siteverify. Without this call there is no protection at all — which is why we say it this plainly.
curl -X POST \
https://api.simplecaptcha.de/v1/siteverify \
-d "secret=scs_…" \
-d "response=TOKEN"
Privacy
The claim "no consent banner needed" only holds if, technically, nothing happens that would require consent. That is exactly how simplecaptcha is built.
No localStorage, no canvas, audio or WebGL probing. Nothing is stored on or read from the device — so the consent requirement of § 25 TDDDG does not apply.
IP addresses exist only as salted hashes in counters with minute-level TTLs. No database table with visitor data exists. Processing under Art. 6(1)(f) GDPR (Recital 49).
No puzzle, no interaction, nothing to see or hear — invisible is inherently accessible. Since the BFSG (European Accessibility Act) took effect in June 2025, image-puzzle captchas are a legal risk.
Visitor path
Hetzner (Falkenstein/Nuremberg). No US CDN, no Cloudflare — "hosted in Germany" survives a look at the DNS records.
Customer path
Stripe (payment), Clerk (login), Resend (email) — they process your account data only, never visitor data. DPA with subprocessor list at signup.
Pricing
You are billed for the /siteverify call only — auditable from your own server logs. Bot storms and abandoned forms cost you nothing.
Free
€0 / month
Pro
€9 / month
Quota exhausted? You are warned repeatedly (80%, 100%, 14-day grace period), and /siteverify returns the distinct quota-exceeded error code — never a generic failure. Your forms can keep working instead of blocking real customers. Recommended pattern in the docs.