Features
An in-depth look at some of the Private Captcha features.
Rate limiting
Smart difficulty scaling
Instead of asking users to solve frustrating puzzles, Private Captcha solves an invisible cryptographic task fully in the background. Solving a task requires a certain amount of compute resources (e.g. CPU and/or GPU time) from the user. Amount of resources needed is known as "difficulty".
- Automatic adjustment.
- The system automatically adjusts the task difficulty depending on current access patterns to the protected resource and access patterns of the actor themselves.
- Exponential growth.
- Difficulty grows exponentially, with each small increase requiring much more compute resources from bots. This very quickly makes any attack economically nonviable.
- LLM resistant.
- Compute resource requirements to solve the task provide equal security regardless of bots intelligence level, making it effective even as AI technology improves.
In Private Captcha dashboard you can configure the base difficulty for tasks and how fast difficulty grows based on the dynamics of current access patterns. So it can be perfectly tailored for your users.

GDPR compliance
EU isolation
Private Captcha was built with GDPR/CCPA compliance by design. In addition to that you can restrict actual networking to go through EU servers.
- EU suppliers
-
Private Captcha relies only on EU companies. Servers, storage, CDN, email - you name it - backed by EU businesses, which have strict GDPR requirements. Current suppliers include Hetzner, Bunny and Scaleway.
- EU routing
-
Private Captcha provides technical means to make client-side widget and server-side validations to connect only to EU servers. At the expense of small latency increase, this ensures no user data will be processed on non-EU servers.
UI options
Widget customization
Private Captcha widget supports different themes, languages, screen sizes and more.
- Different themes.
- Widget comes with pre-made
light
anddark
themes, but also it is possible to customize just about any color inside the widget. - Localization.
- Widget text is available in most European languages (and it's trivial to add more). So your users will know what to do!
- Popup / hidden mode.
- Widget can be hidden and shown as a popup or it can be permanently hidden and you can create your own visualization.
Also includes an invisible widget.
Make any DIY visualization you want using events and hooks of our library.
Check docsGet property and account level stats in the dashboard

Dashboard
Usage statistics
Staying on top of how your properties are accessed helps to select correct difficulty settings, spot verification problems or monitor your billing.
Data that is used for these statistics is aggregated usage patterns that do not contain any Personally Identifiable Information (PII).
Protect your forms and APIs from abuse
Independent, privacy-first, self-hostable CAPTCHA service made in EU