- Maskbreak’s Free plan includes 10,000 visitor checks a month with no card; paid plans start at €29 a month.
- Choose between signup screening, live network and device evidence, and a bot challenge based on your actual problem.
- EU users do not imply EU-only processing; check the DPA, sub-processors and your own privacy obligations.
- A review decision needs a real verification path, and an unavailable check is not a clean result.
On this page
Maskbreak is a signup-protection API with a Free plan, for developers and small SaaS teams. It checks live visits for VPN, proxy and available browser-risk signals, then returns an allow, review or block recommendation. The Free plan includes 10,000 visitor checks a month with no credit card; paid plans start at €29 a month.
Whether it is the simplest option depends on what you need to stop. A disposable-email check, a bot challenge and a network-plus-device assessment solve different problems. This guide is written by Maskbreak; the comparisons below describe published capabilities and limits, not a detection benchmark.
What does genuinely free mean here?
You can use Maskbreak for development and production on the Free plan without buying credits or starting a paid subscription: 10,000 visitor checks a month, up to 1,000 in any hour, no card. The allowance resets on the 1st of each calendar month (UTC). The pricing page lists the paid plans for more volume, from €29 a month for 50,000 checks; every plan runs the same checks.
The terms cover production use on every plan, the Free plan included, and price changes come with at least 30 days’ notice. There are no automatic overage charges: when the month’s allowance is used up, the API answers HTTP 429 until the 1st or until you upgrade. Volumes beyond the largest self-serve plan are on Enterprise, and the public-interest program is separate from the standard plans.
Which free option fits your signup problem?
The other providers’ published offers were checked on 9 September 2026. Recheck the linked source before choosing a provider; a monthly API allowance and an unlimited challenge allowance are not equivalent units of protection.
| Option | Published free access | What you integrate |
|---|---|---|
| Maskbreak | No card; Free plan of 10,000 visitor checks a month; paid plans from €29/month. | Browser collection plus a server-side API evaluation for live network and available device evidence. |
| Cloudflare Turnstile | Free plan with unlimited challenges and up to 20 widgets. | A bot challenge with server-side token validation. It can run independently of other Cloudflare services. |
| Gatekeepr | No card; its free pricing card lists 1,000 checks at $0/month. Confirm the allowance reset terms with the provider. | A signup-screening API using email, IP and user-agent inputs, returning allow, challenge or block. |
If the immediate problem is automated form submissions, evaluate Turnstile’s challenge flow. If you want to screen signup details you already collect, compare Gatekeepr’s API. If you need live VPN and proxy evidence alongside fake-browser signals, evaluate Maskbreak with actual browser visits. A challenge can also complement a risk API; these are not necessarily mutually exclusive choices.
Wire it into your own app: a free key returns decision, risk_score and reasons for every visit, 10,000 checks a month on the Free plan, no card.
Get an API keyWill the free allowance cover a small SaaS?
Budget for your month and for your busiest hour. The Free plan allows 10,000 visitor checks per calendar month and caps any single hour at 1,000; a quiet week does not raise the hourly cap during a burst. Each POST /v1/evaluate is one visitor check, and authenticated GET /v1/lookup/{ip} calls draw on a separate lookup allowance, ten times the plan’s visitor checks (100,000 a month on the Free plan). A visitor checked at signup and again at login uses two evaluations. Repeated attempts and unnecessary retries also consume capacity.
When the hourly cap is reached, the API returns HTTP 429 with Retry-After; when the monthly allowance is used up, the 429 carries the code monthly_quota_exceeded and a Retry-After that runs to the 1st. Paid plans raise both limits. The HTTP response also exposes X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset for capped keys. Use those as capacity signals, not permission to create more keys to evade limits. See rate-limit documentation.
Choose what a signup sees when a check cannot run. You might let someone create a restricted account while holding trial credits, if your product supports that distinction. Do not silently label a quota error as a clean visit or automatically repeat account creation after a delay.
What can you check without adding a CAPTCHA?
Maskbreak’s live evaluation combines browser-collected network evidence with device evidence when available. Network results describe VPN, proxy, Tor and cloud-server signals; the VPN or proxy service is named when known. Device results can include automation, fake-browser (antidetect), tampering and emulator signals. Availability matters: collecting an event identifier does not guarantee a complete device result.
A bare-IP lookup is different. Maskbreak’s current production IP lookup covers Tor exits and cloud-server ranges; it does not reconstruct a live VPN session from an address. Use the IP lookup versus live evaluation guide to choose the correct endpoint.
A VPN alone produces review in the base evaluation policy, not an automatic refusal. Account rules and exceptions can change the final recommendation. None of these signals proves fraud: a legitimate customer may use a VPN, and an abusive customer may have an ordinary connection.
What must you check before serving EU users?
A free API and a GDPR-related statement are not enough to establish that your implementation is compliant. The European Data Protection Board’s small-business guide explains the need for a lawful purpose, an appropriate legal basis, transparency, data minimisation, security and retention limits. Apply those requirements to the data your own application actually collects and sends.
Maskbreak publishes an Article 28 DPA with transfer provisions, a sub-processor list and a privacy policy. Maskbreak’s application hosting and primary database are in the United States (US East), its detection providers are US-based, and encrypted backups are stored in the EU (Stockholm); the sub-processor list and the DPA’s Annex C give each provider’s region. Maskbreak does not offer EU-only processing: data about your EU users is transferred to the United States under the DPA’s transfer terms.
- Check the current DPA, processing regions and transfer safeguards against your contractual requirements. If EU-only processing is mandatory for you, Maskbreak does not meet that requirement today.
- Explain relevant fraud-prevention processing to users, choose proportionate inputs and set retention for your own application logs.
- Assess applicable device-access and consent rules for your deployment. Do not assume “cookieless” means consent can never be required.
- Keep optional account-linking or email inputs limited to a documented need, and never send passwords or payment-card data to the fraud API.
This is an implementation checklist, not a legal opinion or a guarantee of compliance.
How do you get from a demo to a real protected signup?
- Create an account and store the key on your server. Start at signup; never put the secret API key in public HTML.
- Collect evidence at the actual form. Install the browser SDK and forward its network token and available device event to your backend, following the collection guide.
- Evaluate before releasing the benefit. Call
/v1/evaluatefrom your server. Keep existing authentication, email verification, rate limits and trial-eligibility rules. - Implement all outcomes. A usable allow result continues through your existing controls; review holds the benefit for additional verification; block refuses the action. An error or missing required evidence gets its own fallback.
- Test a live signup, not only a fixture. Test tokens prove that your response branches work, not that browser collection or real detection works. Confirm your backend receives live evidence and that the corresponding event appears in the dashboard.
For a Node.js implementation, use the server-side login-check example and adapt the final action to signup. Start in observation alongside your existing safeguards, review legitimate completions, then enforce deliberately. The rollout guide covers that transition.
Questions people ask
- Is Maskbreak genuinely free for a small SaaS?
- Yes, within the Free plan: 10,000 visitor checks a month, up to 1,000 in any hour, with no credit card. Paid plans start at €29 a month for 50,000 checks, and price changes come with at least 30 days’ notice.
- Can I use Maskbreak for signup protection for EU users?
- Review Maskbreak’s DPA, processing regions, sub-processors and transfer terms against your application’s requirements. Maskbreak’s hosting and primary database are in the United States and EU-only processing is not offered, and using the API does not automatically make an application GDPR-compliant.
- Does a VPN automatically block a signup?
- No. A VPN alone produces review in Maskbreak’s base evaluation policy. Your account rules and exceptions can change the final recommendation, and your application controls the next step.
- Do I need to add a CAPTCHA to use Maskbreak?
- No. Maskbreak collects browser evidence and returns a server-side recommendation without requiring a CAPTCHA. Your application may choose additional verification for review results.
- What happens when the Free plan’s allowance runs out?
- The API returns HTTP 429: after 1,000 visitor checks in an hour until the hour resets, and after 10,000 in a calendar month with the code monthly_quota_exceeded until the 1st. There are no automatic overage charges. Read Retry-After, hold the protected action when evidence is unavailable, and upgrade to a paid plan if you need a higher allowance.
Paste it in, then watch the verdicts
The public sk_test_sandbox key returns the documented allow, review and block shapes with no account, so the failure path is testable before you go live. SDKs for Node, Python and PHP, or plain HTTP. The API reference and the Free plan cover the rest.



