# Checkbox Docs

> Subscription-law compliance as an API. Tell your AI coding agent "Add Checkbox to this project" and it handles the rest; or call the API yourself.

Checkbox checks a subscription business against automatic-renewal law — the federal Restore Online Shoppers'
Confidence Act (ROSCA), California's Automatic Renewal Law (Bus. & Prof. Code § 17600 et seq.), New York GBL § 527-a
and the other state laws — across the whole lifecycle: **sign-up disclosure and consent → acknowledgment email →
trial and renewal reminders → online cancellation**. It tells you, or your coding agent, exactly what to change, then
checks again. Free to start; no credit card.

**Stripe-first.** Checkbox works best with Stripe (hosted Checkout, Payment Links, Elements, the customer portal): it
connects to your Stripe account, runs proof tests with test subscriptions, and can send the required notices. On
Shopify, Paddle, Recharge or another billing platform it is **checks only**: Checkbox checks your pages, emails (BCC
the copies your system sends) and cancellation flow; billing-platform connection, test subscriptions and Notices
currently work with Stripe.

**What a pass means.** A passing check means your site passes the checks Checkbox ran, on the evidence shown with it.
When Checkbox is unsure, the verdict is `needs_review` with the exact reason. Emails count only once Checkbox has seen
them sent for a real event ([evidence levels](https://checkbox.site/docs/concepts/evidence#email-levels)), never on a template alone.

## The fastest path: let your agent do it {#agent-path}

Open your project in Claude Code, Cursor, Copilot or any coding agent and say:

```text title="Tell your agent"
Add Checkbox (https://checkbox.site/docs) to this project and make our subscription checkout compliant.
```

What happens next:

1. **One call.** The agent calls the `setup_checkbox` tool of the [MCP server](https://checkbox.site/docs/mcp) (or the device-login API;
   the `checkbox init` CLI does the same once it is published). In claude.ai or Claude Desktop, add Checkbox as a
   [custom connector](https://checkbox.site/docs/mcp#add-to-claude) with the URL `https://app.checkbox.site/mcp` — no API key.
2. **One click from you.** A link opens in your browser: sign in with your email, GitHub or Google and click
   **Approve**. That is the only thing a human has to do.
3. **Checkbox learns the business.** The agent gets test-mode keys in `.env.local`, the Checkbox snippet goes into your
   root layout, and Checkbox registers your site, fetches your Terms, refund and cancellation policies and runs the
   first checks. With your permission it runs a [synthetic test subscription](https://checkbox.site/docs/guides/test-runs) in Stripe test
   mode: sign-up, emails, trial end and renewal on a test clock, and online cancellation.
4. **A compliance plan.** The agent reads an ordered, machine-readable plan: each task names the legal requirement and
   citation, where to change it (file, selector, Stripe setting) and the exact change.
5. **Fix, verify, repeat.** The agent applies a task and calls verify; Checkbox re-checks right away and returns the
   updated plan, until every check Checkbox can observe passes. You get a short email: *"Claude Code set up Checkbox
   for yoursite.com"*, with a link to review. Checkbox is an automated assessment, not legal advice.

Every API response carries a `next_action`, so the agent never has to guess the next call. Read
[the agent loop](https://checkbox.site/docs/agent-loop) for the details, or copy a ready-made prompt from [Build with AI](https://checkbox.site/docs/build-with-ai).

## Or integrate it yourself {#manual-path}

| You want to… | Start here |
|---|---|
| Check a Stripe Checkout Session before you ship it | [Quickstart](https://checkbox.site/docs/quickstart) (5 minutes, test key only) |
| Drop a compliant disclosure and consent checkbox into your checkout | [Checkbox Elements](https://checkbox.site/docs/elements) |
| Monitor a live site continuously, with evidence | [Register a site](https://checkbox.site/docs/quickstart#register-your-site), then [activation](https://checkbox.site/docs/concepts/activation) |
| Make the renewal reminders and cancellation flow compliant | [Emails and notices](https://checkbox.site/docs/guides/emails-and-notices), [Cancellation](https://checkbox.site/docs/guides/cancellation) |
| Wire Checkbox events into your systems | [Webhooks](https://checkbox.site/docs/webhooks) |
| Look up an endpoint | [API reference](https://checkbox.site/docs/api) |

## How Checkbox decides {#how-it-decides}

Every verdict comes from one rules engine over a versioned [legal catalog](https://checkbox.site/docs/concepts/requirements): each
requirement has a citation, an effective date and the conditions under which it applies (free trial, term length,
online sign-up…). The catalog currently holds **204 requirements in 29 jurisdictions** (catalog version `2026.11.01.1`, last verified against primary sources on 2026-10-29; rules version `1.4.0`). The same engine judges preflight checks, synthetic-shopper scans, test
subscriptions and fixes, so what passes in your editor passes in monitoring.

Checkbox collects evidence from four sources — a synthetic shopper that visits your checkout as a shopper in each state, the
JavaScript snippet on your own pages, your billing platform's settings and webhooks, and the emails your subscribers
receive — and stores it in a hash-chained, signed [evidence vault](https://checkbox.site/docs/concepts/evidence).

> **Not legal advice**
>
> Rules drafted from the statute text and updated as new statutes come into effect. Automated checks, not legal advice. Every rule cites its source, so you or your lawyer
> can check it. See [Legal](https://checkbox.site/docs/legal).

## For AI agents {#for-agents}

- Every page is Markdown at the same URL plus `.md` (this one: [/docs.md](https://checkbox.site/docs.md)); the index is
  [/llms.txt](https://checkbox.site/llms.txt) and everything in one file is [/llms-full.txt](https://checkbox.site/llms-full.txt).
- The API contract is OpenAPI 3.1 at `https://app.checkbox.site/v1/openapi.json`. Operation ids (`createSite`,
  `checkStripeCheckoutSession`…) are also the SDK method names and the agent-facing names in `next_action`.
- Drop-in instructions for your repository: [AGENTS.md template, Claude skill and Cursor rules](https://checkbox.site/docs/build-with-ai#repository-instructions).
