Checkbox Docs

Evidence

How Checkbox stores what it observed in a tamper-evident, hash-chained and signed evidence vault, and how to list, download and verify it.

Every observation behind a finding — a checkout screenshot and its HTML, an email, a billing-platform setting, a consent record, an evaluation — is stored as an evidence record. Findings reference the evidence they rest on, so you can show exactly what a subscriber saw and when.

How it is protected

  • Content-addressed. Each record's content is stored under its SHA-256 hash.
  • Hash-chained per site. Each record includes the hash of the previous one, so removing or changing any record breaks the chain.
  • Signed anchors. Chain heads are signed and anchored periodically; production storage uses S3 Object Lock, so records cannot be altered or deleted during the retention period.
  • Verifiable by anyone. Evidence exports include a standalone verifier.

List, download and verify

curl -G https://app.checkbox.site/v1/evidence \
  -u "$CHECKBOX_SECRET_KEY:" \
  -d site=site_3f9a1c2e7b4d4e0f9a8b7c6d5e4f3a2b \
  -d limit=5

Verify a site's whole chain:

curl https://app.checkbox.site/v1/sites/site_3f9a1c2e7b4d4e0f9a8b7c6d5e4f3a2b/evidence/verify \
  -u "$CHECKBOX_SECRET_KEY:" \
  -H "Content-Type: application/json" \
  -d '{}'

Download a record's content with downloadEvidenceContent (GET /v1/evidence/{evidence}/content). See the Evidence API.

Monitoring certificates

A site with continuous monitoring can be issued a signed monitoring certificate with a public verification page and a badge (createCertificate). A certificate states what was monitored and when; it is not a statement that the business complies with the law. It lapses when monitoring stops being fresh or the site's URL changes.

Email evidence levels

Every required email (acknowledgment, trial reminder, renewal reminder, yearly terms reminder, charge notice, price-change notice, cancellation confirmation) has one of three levels, shown in the dashboard's Emails tab, on each email task of the compliance plan (verification_level) and per kind in the plan's email_verification:

LevelWhat Checkbox sawCounts?
not_seenNo email of that kind yet.No
template_checkedA template or sample passed the email checks: checkEmail, a template, or a BCC copy not tied to a real event (for example one sent by a script).No: the check is needs_review with "Not seen sent yet: Checkbox has only a template or sample of this email, not a copy sent for a real event — run a proof test or BCC real sends".
delivery_seenThe email was captured from a real event: a test-run step, Checkbox's test shopper after a real sign-up, a notice sent for a real subscriber (by Checkbox, or your BCC copy that confirmed a due notice), or a BCC copy that went to a subscriber within the expected window after that subscriber's Stripe event.Yes

Only delivery_seen satisfies a check. Scores, the plan's compliant status and certificates never rest on templates alone. checkEmail always reports verification_level: "template_checked": it checks the wording you send it.

Checkbox is compliance software, not a law firm; nothing in these docs is legal advice (details). You remain solely responsible for your subscription program, and Checkbox takes on no legal liability for it (Terms). Checkbox is a System1 company; Trust center · Status. For AI agents: every page is available as Markdown at the same URL plus .md; the index is /llms.txt.