Open Beta · EU-hosted · GDPR-compliant

Stop bots.
Not your users.

Zhylon Captcha protects your forms and APIs using Proof of Work — no cookies, no fingerprinting, no privacy compromise. Just invisible, effortless bot protection.

0
Cookies set
EU
Data stays here
PoW
No tracking
Try it — live demo
Click the checkbox below. The browser solves a small puzzle in the background.
No cookies No tracking EU hosted
How it works

Privacy-first bot protection via Proof of Work

Instead of surveilling users, we give the browser a small computational puzzle to solve. Bots fail. Humans don't notice.

{{ i+1 }}
{{ s.t }}

{{ s.d }}

The user's browser requests a challenge from Zhylon Captcha servers. It solves the hash puzzle client-side. The resulting token is submitted with your form — your backend verifies it with a single API call. No personal data is ever collected.

Compare

Why not reCAPTCHA or hCaptcha?

Popular captcha solutions come with hidden costs — your users' privacy and GDPR compliance risk.

reCAPTCHA hCaptcha Zhylon Captcha
{{ row.label }} {{ row.recaptcha.note }} {{ row.hcaptcha.note }} {{ row.us.note }}
Features

Everything included. No surprises.

{{ f.t }}

{{ f.d }}

Integration

Two lines of code to get started

Drop in the script tag, add the widget, verify server-side. Works with any stack.

1. Add the widget to your form
contact.blade.php
<!-- Load the Zhylon Captcha script -->
<script src="https://captcha.zhylon.net/captcha/widget.js"
        async></script>

<!-- Place inside your form -->
<div class="zhylon-captcha"
     data-sitekey="585454950B2936DD"></div>
2. Verify server-side
ContactController.php
use Zhylon\Captcha\Captcha;

public function submit(Request $request)
{
    $result = Captcha::verify(
        $request->input('zhylon-captcha-response')
    );

    if (! $result->success) {
        return back()->withErrors([
            'captcha' => 'Verification failed.'
        ]);
    }
    // handle your form ...
}
{{ sdk.name }}
{{ sdk.status }}
Prefer no third-party script?

Download the widget and serve it from your own domain. The verification calls still go to our API (that's how the proof-of-work gets checked), but your page no longer loads a script from a third-party domain — useful if your CSP or privacy policy doesn't allow that.

contact.blade.php
<!-- Self-hosted, e.g. under /js/pow-captcha.min.js -->
<script src="/js/pow-captcha.min.js" defer></script>

<div class="pow-captcha"
     data-sitekey="585454950B2936DD"></div>
Download site.min.js (v1.2.0)
The response carries X-PowCaptcha-Version and X-PowCaptcha-SHA256 headers (curl -I https://captcha.zhylon.net/captcha/download) so you can verify the file and detect updates.
Pricing & Beta

Support the beta. Shape the product.

Open Beta We're in open beta — and we need your help.

Zhylon Captcha is fully functional and free to try. To help us cover infrastructure costs and continue building, you can support the beta with any amount starting at €5. As a beta supporter, you get full access to all features, priority support, and — once we officially launch — an exclusive early-adopter discount on your plan. No commitments, no contracts.

Support from €5
{{ p.name }}
{{ p.price }}{{ p.suffix }}

{{ p.desc }}

{{ f }}
{{ p.cta }}

Beta pricing is temporary. All beta supporters will receive exclusive rates when stable pricing is announced.

EU-hosted · No tracking · GDPR-compliant

Respect your users.
Keep out the bots.

Join the beta today. Free to start, €5 to support.