Create your account and first site key
This is the first of three short lessons. Together they take you from an empty account to a real game challenge guarding a live form.
You work at BananaSeed, and the contact form on your site is drowning in spam: bots and scripted AI agents firing junk submissions at it around the clock. You want Caputchin standing in front of that form so only real people get through.
Here is how Caputchin does that. When someone opens your contact form, Caputchin gives them a quick challenge in the browser (a simple checkbox, or a short game). Clearing it earns a one-time token, which the page sends along with the submission. Your server then checks that token with Caputchin before it trusts the request. A bot that POSTs straight to your endpoint never cleared a challenge, so it has no valid token, and your server turns it away.
BananaSeed's site is a React frontend with a Node.js backend running Express, so the next two lessons hand you working code for exactly that stack. The same steps port to any framework or language; only the syntax changes.
First, BananaSeed needs an account and a site key. About two minutes, no credit card, nothing to install yet.
What you will have at the end
- A Caputchin account.
- One site key, which is really a pair of values:
- a public key (
cpt_pub_...) that goes in your page, - a secret (
cpt_sec_...) that stays on your server.
- a public key (
1. Sign in (this also creates your account)
Go to caputchin.com/login. There is no separate sign-up step: your first sign-in with an email is what creates the account. Pick whichever you prefer:
- Email a sign-in link, then click the link in the email, or
- Continue with GitHub, or
- Continue with Google.
We only ever read your verified email address.
Once you are in, notice the address bar reads /app/troops. Caputchin drops you straight into your troops.
2. Open your Personal troop
Before you make a site key, it helps to know where it lives. Almost everything in Caputchin sits inside a troop. A troop is a workspace, and it is the thing that owns your site keys, the game customization those keys share, and (on paid plans) the teammates you invite to help manage them. Caputchin is built around troops on purpose: a site key always belongs to a troop, never to your account directly, which is what lets a whole team manage the same keys later without sharing a login. Billing and seats sit at the account level, above your troops, not inside any one of them.
Every account starts with one troop named Personal, which is just you. That is all you need for this guide. When you outgrow it, you create shared troops and invite members, but nothing below changes.
Click Personal to open it. A troop opens straight onto its Site keys, so that is where you land. Notice the address bar: /app/troops/<id>/site-keys. The key you are about to make is nested under the troop, which is exactly the ownership we just described.
3. Create your first site key
Click Create site-key, give it a name like My site, and click Create. A name is all it asks for.
Caputchin shows you two values:
| Value | Looks like | Where it goes |
|---|---|---|
| Public key | cpt_pub_... | In your page, on the widget element. Safe to ship to the browser. |
| Secret | cpt_sec_... | On your server only. Never put it in client-side code. |
Notice the banner: "Copy the secret now. We'll never show it again." Copy the secret and keep it somewhere your server can read it (an environment variable, your secrets manager). You can always see the public key again on the key's Integration page, but the secret is shown exactly once. If you lose it, you rotate it rather than recover it.
A brand-new key has no origin restriction yet, which is exactly what lets your test page work locally in the next lesson. More on a key's settings in Site keys.
What just happened
| Step | Where | Result |
|---|---|---|
| First sign-in | Browser | Your account is created and a Personal troop is ready. |
| Create site-key | Dashboard | A public key for the page and a secret for your server. |
You have an account and your first site key, the foundation everything else builds on. Good job. 🎉
Next
You have your keys. Time to put the widget on a page and watch a real verification happen.
Continue to Add the widget to your site.