You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ Cap is a lightweight, modern open-source CAPTCHA alternative using <a href="http
10
10
11
11
## What is Cap?
12
12
13
-
Cap replaces visual captchas with modern, accessible and privacy-preserving <ahref="https://trycap.dev/guide/effectiveness.html">proof-of-work challenges</a>. No images, no tracking, no dependencies, works everywhere.
13
+
Cap replaces visual captchas with modern, accessible and privacy-preserving <ahref="https://trycap.dev/guide/effectiveness.html">proof-of-work</a> and instrumentation challenges. No images, no tracking, no dependencies, works everywhere.
14
14
15
15
You can either run it on any JavaScript runtime, or use the standalone mode with Docker. [Learn more about how Cap works](https://trycap.dev/guide/?utm_source=github&utm_campaign=learn_more)
Copy file name to clipboardExpand all lines: docs/guide/alternatives.md
+13-1Lines changed: 13 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,29 +26,39 @@ Cloudflare Turnstile is a great alternative to Cap, but unfortunately, it is kno
26
26
27
27
Additionally, unlike Turnstile, Cap is open-source and self-hosted. With Turnstile, if Cloudflare's algorithm marks a user as "suspicious," you cannot override it. Cap puts the levers of control in your hands, so you decide the difficulty and strictness, not a third party.
28
28
29
+
[Full comparison: Cap vs Cloudflare Turnstile →](./alternatives/turnstile.md)
30
+
29
31
### reCAPTCHA
30
32
31
33
Not only is Cap significantly smaller and faster than reCAPTCHA, it's open-source, fully free, and much more private. Cap doesn't require you to check traffic signs or solve puzzles, and it doesn't track users or collect data.
32
34
33
35
reCAPTCHA v2 ("I'm not a robot") is getting harder for humans while remaining trivial for AI solvers (especially audio challenges). v3 (Invisible) is great, but if Google thinks you are "suspicious" (e.g., using a VPN or privacy tools), it often blocks you entirely or forces a hard puzzle loop with no way out.
34
36
37
+
[Full comparison: Cap vs reCAPTCHA →](./alternatives/recaptcha.md)
38
+
35
39
### hCAPTCHA
36
40
37
41
Pretty much the same as reCAPTCHA, however, while it's significantly more resistant to bots, it imposes a heavy "Puzzle Tax" on your users.
38
42
39
43
Users hate puzzles. They leave. Drop-off rates on hCaptcha challenges can be **5-15%** depending on difficulty. Additionally, hCaptcha's free tier is aggressive with serving puzzles to save their own costs, which hurts your conversion rates.
40
44
45
+
[Full comparison: Cap vs hCaptcha →](./alternatives/hcaptcha.md)
46
+
41
47
### Altcha
42
48
43
49
Cap is slightly smaller than Altcha and includes extra features like progress tracking, instrumentation challenges, and a simpler dashboard. If you don't need these, Altcha is still a solid choice.
44
50
51
+
[Full comparison: Cap vs Altcha →](./alternatives/altcha.md)
52
+
45
53
### mCAPTCHA
46
54
47
55
While mCAPTCHA is similar to both Cap and Altcha, it seems to have been deprecated and has a significantly larger widget bundle.
48
56
49
57
### FriendlyCaptcha
50
58
51
-
Unlike FriendlyCaptcha, Cap is completely free and self-hosted (FriendlyCaptcha is €39/month for only 5k requests and 5 domains).
59
+
Unlike FriendlyCaptcha, Cap is completely free and self-hosted at any volume (FriendlyCaptcha's Starter plan is €9/month for 1,000 requests/month, with higher tiers as you scale).
60
+
61
+
[Full comparison: Cap vs FriendlyCaptcha →](./alternatives/friendlycaptcha.md)
52
62
53
63
### MTCaptcha
54
64
@@ -69,3 +79,5 @@ They also only operate in the US, Canada, Argentina, India, Israel and a small s
69
79
While Anubis is a great scraper deterrent and uses the same proof-of-work concept as Cap, it uses a low difficulty by default (which is easier for bots to solve) and does not provide a standalone CAPTCHA server.
70
80
71
81
Cap also implements dynamic instrumentation challenges, which make it harder for bots to finish the process after solving PoW.
82
+
83
+
[Full comparison: Cap vs Anubis →](./alternatives/anubis.md)
description: How Cap compares to Altcha. Both are open-source proof-of-work CAPTCHAs — here's where they differ.
4
+
---
5
+
6
+
# Cap vs Altcha
7
+
8
+
Altcha is the closest project in spirit to Cap: open-source, proof-of-work, no fingerprinting, no third-party dependency. Both are good choices. The differences come down to features and operational shape.
9
+
10
+
Altcha also has a commercial product called **Altcha Sentinel** that layers ML-based threat detection on top of the open-source widget. The comparison below is mostly between Cap and the open-source Altcha widget; if you're considering Sentinel, you're comparing a paid SaaS to a self-hosted OSS project, which is a different decision.
11
+
12
+
## Quick verdict
13
+
14
+
If you want a minimal, library-style PoW CAPTCHA you can drop into a Node project and forget about, the open-source Altcha is great. If you want a turn-key self-hosted service with a dashboard, multi-site-key support, instrumentation challenges layered on top of PoW, and a UI that progress-tracks the solve — without paying for Sentinel — Cap is the better fit.
15
+
16
+
## Where Altcha makes sense
17
+
18
+
- You want a tiny, library-only integration with no separate service to run.
19
+
- You don't need a second verification layer beyond proof-of-work, or you're willing to pay for Sentinel to get ML-based detection.
20
+
- You're already integrated with Altcha and the migration cost outweighs the differences below.
21
+
22
+
## Where Cap is the better choice
23
+
24
+
-**Two independent verification layers, free.** Cap runs proof-of-work *and* dynamic JavaScript [instrumentation challenges](../instrumentation.md) in parallel, both included. Defeating one doesn't defeat the other. The open-source Altcha is PoW only; the second layer (ML-based) requires paying for Sentinel.
25
+
-**Standalone server with dashboard, free.** Cap ships a one-Docker-container deployment with a web dashboard, multi-site-key management, analytics, and a reCAPTCHA-compatible siteverify endpoint. Altcha's open-source side leaves you to wire those yourself; the all-in-one experience is Sentinel-only.
26
+
-**Smaller widget.** Cap is ~20 KB. Altcha is ~34 KB gzipped.
27
+
-**Progress tracking.** Cap's widget reports solve progress to the user as a percentage — meaningful UX feedback during the small wait.
28
+
-**Floating and programmatic modes.** Cap can hide entirely or float over a button until form submit. Altcha's display modes are simpler.
29
+
-**Customizable look.** Cap exposes CSS variables for colors, size, position, and icons. Altcha's customization is more limited.
30
+
31
+
## Where they're similar
32
+
33
+
- Both are open-source (Cap is Apache-2.0, Altcha's widget is MIT) with no telemetry.
34
+
- Both run client-side proof-of-work to make abuse expensive.
35
+
- Both work without any third-party network round-trip when self-hosted.
36
+
- Both are GDPR/CCPA-friendly by design.
37
+
38
+
## See also
39
+
40
+
-[Live demo](../demo.md) — try Cap in your browser
41
+
-[How Cap detects bots](../effectiveness.md) — proof-of-work + instrumentation
42
+
-[All alternatives](../alternatives.md) — full feature matrix
description: How Cap compares to Anubis, the proof-of-work scraper deterrent. When to use each.
4
+
---
5
+
6
+
# Cap vs Anubis
7
+
8
+
Anubis is a proof-of-work scraper deterrent, popular in self-hosted communities for blocking AI training crawlers and aggressive scrapers at the edge. It and Cap share the proof-of-work core, but they're aimed at different problems.
9
+
10
+
## Quick verdict
11
+
12
+
Use **Anubis** when you want to gate an entire site or path against bots and scrapers at the reverse-proxy level — usually because crawlers are eating your bandwidth. Use **Cap** when you want to gate a specific *action* — a form submission, an API call, an account creation — and let normal browsing continue freely.
13
+
14
+
## Where Anubis makes sense
15
+
16
+
- You want to put a PoW wall in front of an entire site or sub-path.
17
+
- The threat model is mass scraping or bot-driven request floods at the edge.
18
+
- You're comfortable making every visitor solve a small challenge before any page loads.
19
+
20
+
## Where Cap is the better choice
21
+
22
+
-**Per-action protection, not per-pageview.** Cap protects forms, signups, contact pages, and API endpoints — exactly where abuse converts to cost. Visitors browse normally.
23
+
-**Difficulty is per-action.** Anubis's challenge has to be small enough not to hurt every page load, which limits how high you can crank it. Cap is configured per-action, so difficulty can be set higher on signup or login forms without hurting browsing.
24
+
-**Two verification layers.** Cap layers [instrumentation challenges](../instrumentation.md) on top of PoW, so even bots that bring GPU-acceleration to the proof-of-work step still have to fake a real browser environment.
25
+
-**Standalone server with a dashboard.** Cap ships analytics, multi-site-key management, and a reCAPTCHA-compatible siteverify endpoint out of the box.
26
+
-**Widget UX.** Cap is meant to be visible to humans on a form — there's a checkbox, progress indicator, and brand surface. Anubis is a transparent gate.
27
+
28
+
## They can coexist
29
+
30
+
If you're already running Anubis in front of a site for crawler protection, you can still use Cap on individual high-value forms and API endpoints inside that site. The two solve different problems and don't conflict.
31
+
32
+
## See also
33
+
34
+
-[Live demo](../demo.md) — try Cap in your browser
35
+
-[How Cap detects bots](../effectiveness.md) — proof-of-work + instrumentation
36
+
-[All alternatives](../alternatives.md) — full feature matrix
0 commit comments