Privacy Policy

Last updated: June 2025

CodeChecks is a tool for developers, and we know developers care deeply about what happens to their code. This policy explains exactly what data we collect, how it is processed, how long it is kept, and how you can delete it. We do not use ambiguous language about data use — if something changes, we will update this page and notify active users.

1. What you submit to CodeChecks

When you use CodeChecks, you submit:

  • Requirements — natural language descriptions of what you want to build.
  • File contents — source files you paste into the Implement step so the AI can generate a contextually accurate diff.
  • Verification logs — compiler output, build logs, and test output you paste into the Verify step.
Proprietary code: If you submit code that contains trade secrets or is subject to confidentiality obligations, please review sections 2 and 3 below before proceeding. We do not require you to submit entire codebases — only the files relevant to the task you are implementing.

2. AI model processing

Your requirements and file contents are sent to Anthropic's Claude API to generate plans, diffs, and verification analysis. Anthropic processes this data on servers operated by Anthropic, Inc.

Your code is not used to train AI models. CodeChecks accesses Claude via Anthropic's API. Under Anthropic's API usage policy, data submitted through the API is not used to train or improve Anthropic's models. This applies to all content you send — requirements, file contents, and logs.

Anthropic's data processing practices are governed by the Anthropic Privacy Policy and their API usage terms. We recommend reviewing these if you are evaluating compliance requirements.

Model providers used: Claude Opus (primary) and Claude Sonnet (fallback). Both are operated by Anthropic. We do not route requests to any other AI provider.

3. What CodeChecks stores

All data is stored in Google Cloud Firestore (Firebase) in the United States. Access is server-side only — client browsers never read directly from Firestore.

Account data

Email address, display name, and authentication identifiers (from Firebase Authentication). Subscription status and usage counters (monthly run count, plan tier). Retained for the lifetime of your account.

Job records

A lightweight record for each CodeCheck run: action type (plan / implement / verify), status, timestamps, and the API response (plan structure, diff, or verification summary). File contents you submitted are not stored in the job record. Job records are automatically deleted after 7 days.

Verification reports

A summary of each verification result: pass/fail status, error count, and brief notes from the AI. File contents and raw logs are not stored. Reports are automatically deleted after 90 days.

Evidence records

A structured audit bundle per run: repo SHA (if provided), patch hash (SHA-256 of the generated diff), verification commands, environment metadata (Node version, OS, lockfile hash), provider metadata (model used, latency), and reproduce instructions. Logs are capped at 10,000 characters per command. Evidence records do not contain full file contents — only hashes and metadata. No automatic expiry is currently set on evidence records; see section 5 for deletion requests.

Stripe payment data

Payment card details are handled entirely by Stripe and are never seen or stored by CodeChecks. We store only your Stripe customer ID and subscription status, which are required to enforce plan limits.

4. What CodeChecks does not store

  • File contents you paste into the Implement step (processed in-request and discarded)
  • Raw compiler output or test logs (only the first 10,000 characters per command are included in evidence records)
  • Full generated diffs (only a SHA-256 hash is stored in the evidence record)
  • Any data from your local filesystem beyond what you explicitly paste into the UI
  • Payment card numbers, CVV codes, or bank account details (handled by Stripe)

5. Deleting your data

Automatic deletion: Job records expire after 7 days. Verification reports expire after 90 days. These are enforced by Firestore TTL policies.

Account deletion: You can delete your account from the Account settings page. This removes your Firebase Authentication record, Firestore user document, usage counters, and team membership. Stripe subscriptions are cancelled automatically.

Manual deletion requests: To request deletion of specific records (e.g., evidence records, which do not currently auto-expire) or to confirm deletion is complete, contact us at the contact page or email privacy@codechecks.dev. We will respond within 10 business days.

6. Data sharing

We share data with:

  • Anthropic — to process your requests through the Claude API (see section 2).
  • Google Firebase — to store account data and run records (Firestore, Firebase Authentication).
  • Stripe — to process payments and manage subscriptions.
  • Resend — to send transactional emails (e.g., team invitations, subscription confirmations).

We do not sell your data. We do not share your requirements, file contents, or verification logs with any third party other than Anthropic for the purpose of generating a response.

7. Security

All API routes require authentication. Firestore rules deny all direct client access — data is only read or written through authenticated server-side API routes using the Firebase Admin SDK. HTTPS is enforced for all connections.

If you discover a security vulnerability, please report it via the contact page rather than disclosing it publicly.

8. Changes to this policy

If we make material changes to how we handle your data — particularly around AI processing or retention — we will update the “Last updated” date at the top of this page and notify active users by email at least 14 days before the change takes effect.

Questions about this policy? Contact us or email privacy@codechecks.dev.