<!-- Markdown version of the Capcat live demo (https://capcat.ai/demo/); the verification widgets on the page are interactive — open it in a browser to try them. Docs index: https://capcat.ai/llms.txt -->

# Put Capcat into real scenarios

Every scenario below talks to a production verification service running on Cloudflare Workers. Check the box, and a SHA-256 proof of work quietly runs in your browser in the background — the button unlocks the moment it's done. Click submit, and the server performs a real siteverify check, echoing the raw API response back to you. You can also skip the visible component entirely — see invisible mode below.

## 01 / Comments & guestbooks

Blogs, communities, product reviews — spam bots survive on bulk submissions. Lock the post button behind verification, and spamming instantly becomes too expensive to bother with.

## 02 / Account signup

Bulk registration and credential-stuffing scripts can try hundreds or thousands of times per second. Every submission now has to pay real compute and pass an environment check first — script throughput collapses and costs skyrocket, while a real user just checks a box.

## 03 / AI Q&A / expensive endpoints

Every inference call has a real cost. Put verification in front of the request, and scripts hammering the endpoint have to pay compute for every single call — abuse gets priced out, without getting in genuine users' way.

## 04 / Invisible mode

Don't want users to see any verification widget at all? The programmatic mode calls new Cap().solve() from your own JS — the moment a user clicks your button, it requests a challenge, solves it, and redeems the token in the background. Perfect for lightweight actions like claiming a coupon, liking, or searching, with zero visible friction.

There's no checkbox in this scenario — the moment you click the button, it requests a challenge and solves it in the background. The user just sees their action complete.

> Demo UI: New-user exclusive: $30 off $100 coupon × 1

## 05 / Auto theming

Add data-cap-theme="auto" and the widget samples the surrounding page — font, colors, borders, corner radius — and grows into your site's look. All three styles below are the exact same component with the same single line of markup. For finer control, the full set of --cap-* CSS variables and data-cap-i18n-* label attributes still apply, and always win over sampling.

```
<cap-widget data-cap-theme="auto"
            data-cap-api-endpoint="…"></cap-widget>

/* need finer control? --cap-* CSS variables still
   apply and win over sampling; swap labels via data-cap-i18n-* */
```

---

This demo enables proof of work and instrumentation environment checks (headless/automated browsers get blocked); form content is never uploaded — submitting only sends the cap-token to the verification service to complete one real siteverify check.

- [Add it to your own project](https://capcat.ai/guide/index.md)
- [Docs](https://capcat.ai/guide/index.md)
- [Open console](https://console.capcat.ai)
- [中文](https://capcat.ai/demo/cn/index.md)

Built on [Cap](https://github.com/tiagozip/cap) (Apache 2.0) · © 2026 capcat.ai
