Concepts
The machine checks Checkbox runs at each lifecycle stage, what pass, fail, needs_review and not_applicable mean, and how scores and the insurable flag are computed.
A check verifies one observable thing — "the consent checkbox is not pre-checked", "a trial reminder arrived inside the window". Checks are implemented once and reused by every law that requires the same thing; the catalog maps requirements to checks.
#Verdicts
| Status | Meaning |
|---|
pass | Observed, and what was observed meets the requirement (an automated assessment, not a legal determination). A check never passes for lack of data. |
fail | Observed, and it does not meet the requirement. The result says what was seen and how to fix it. |
needs_review | Checkbox lacks the evidence to decide, or a person must judge (for example "clear and conspicuous" on a page Checkbox cannot restyle). The result says which. |
not_applicable | No applicable requirement uses the check (for example trial checks without a free trial). |
A preflight result's verdict is the worst status among its checks: fail > needs_review > pass (not_applicable when nothing applies).
#Evidence sources
| Source | What it provides |
|---|
| Synthetic shopper | Headless Chromium visits the checkout from each state, on desktop and mobile, optionally completes a sign-up and tries to cancel online |
| Snippet | What real visitors see on your own pages, including A/B variants; content changes trigger a re-scan. Snippet captures corroborate: they never produce a pass on their own |
| Billing platform | Plans, trials, portal and checkout settings; webhooks become lifecycle events |
| Email | Your acknowledgment and reminder emails, BCC'd to the site's inbound address or received during a test subscription |
| Policies | Your Terms, refund and cancellation pages, fetched and checked for consistency |
#Every check
#Sign-up
| Check | What it verifies | Laws that require it |
|---|
signup.disclosure.autorenew_language | Discloses that the subscription renews automatically until canceled | 25 jurisdictions |
signup.disclosure.price | Discloses the recurring charge amount | 22 jurisdictions |
signup.disclosure.frequency | Discloses the billing frequency | 17 jurisdictions |
signup.disclosure.cancellation_policy | Discloses the cancellation policy and how to cancel | 24 jurisdictions |
signup.disclosure.trial_terms | Discloses free-trial length and the charge after the trial | 16 jurisdictions |
signup.disclosure.term_length | Discloses the length of the renewal term (or that service is continuous) and any minimum purchase obligation | 20 jurisdictions |
signup.disclosure.proximity | Terms appear before the purchase button and in visual proximity to it | 16 jurisdictions |
signup.disclosure.conspicuous | Terms are clear and conspicuous (size, contrast, not hidden) | 27 jurisdictions |
signup.consent.affirmative | Obtains affirmative consent to the automatic-renewal terms | 20 jurisdictions |
signup.consent.not_prechecked | Consent checkboxes are not pre-checked | 20 jurisdictions |
#Acknowledgment
| Check | What it verifies | Laws that require it |
|---|
confirmation.email.sent | Sends an acknowledgment after sign-up in a retainable form | 15 jurisdictions |
confirmation.email.terms | Acknowledgment restates the automatic-renewal terms | 15 jurisdictions |
confirmation.email.cancellation_instructions | Acknowledgment explains how to cancel | 15 jurisdictions |
confirmation.email.trial_terms | Acknowledgment explains how to cancel before the trial converts to paid | 12 jurisdictions |
#Reminders
| Check | What it verifies | Laws that require it |
|---|
reminder.trial_ending | Sends a reminder before a free trial converts to a paid subscription | 13 jurisdictions |
reminder.annual_renewal | Sends a renewal reminder before long-term (e.g. annual) subscriptions renew | 22 jurisdictions |
reminder.annual_terms_notice | Sends an annual reminder of the subscription terms and how to cancel (incl. monthly/continuous plans) | 5 jurisdictions |
reminder.charge_notice | Sends a notice before (or promptly after) recurring charges where required | 2 jurisdictions |
reminder.price_change | Gives advance notice of price changes | 16 jurisdictions |
#Cancellation
| Check | What it verifies | Laws that require it |
|---|
cancel.online_available | Consumers who signed up online can cancel online | 19 jurisdictions |
cancel.mechanism_findable | Cancellation option is easy to find (e.g. prominent link in account) | 25 jurisdictions |
cancel.flow_friction | Cancellation is not obstructed (no forced calls/chat, limited save offers, few steps) | 18 jurisdictions |
cancel.confirmation | Confirms the cancellation to the consumer | 12 jurisdictions |
terms.cancellation_policy_consistent | Terms of service do not contradict online cancellation (no "no cancellations" / cancel-by-phone-or-mail clauses) | 2 jurisdictions |
terms.refund_policy_consistent | Refund policy is consistent with refund / money-back claims made in marketing and checkout | 1 jurisdiction |
#Billing settings
| Check | What it verifies | Laws that require it |
|---|
config.portal_cancel_enabled | Billing platform self-serve cancellation is enabled | 19 jurisdictions |
config.trial_reminder_enabled | Billing platform trial-ending reminder emails are enabled | 13 jurisdictions |
terms.renewal_terms_present | Terms of service state the automatic-renewal terms and how to cancel | 1 jurisdiction |
#Severity, score and insurable
Each finding's severity is the strictest among the requirements that use the check: critical, high, medium or low. A site's score (0–100) weighs passing checks by severity (critical 10, high 5, medium 2, low 1; needs_review counts half). A site is insurable when no critical or high check fails, no critical check is left at needs_review, and no high-severity obligation is without any evidence. A future compliance warranty will key on that flag; Checkbox does not provide insurance today.
#Reproducibility
Every result records rules_version, catalog_version and catalog_hash. Preflight checks are deterministic: the same input and the same as_of date give the same verdicts.