Data Practices

A transparent look at how your data flows through OpenClay.

How data flows

1. You upload a file

Your CSV or Excel file is parsed entirely in your browser using JavaScript libraries (PapaParse and SheetJS). The file is never uploaded to any server. It stays in browser memory.

2. You enter your API key

Your key is held in React useState() — browser memory only. It is never saved to localStorage, cookies, IndexedDB, or any persistent storage. Close the tab and it's gone.

3. Enrichment runs

For each row, your browser sends a request through our API route (a thin CORS proxy) to either Anthropic or Google. Our server forwards the request without reading or logging the body. The AI provider processes the request and returns results directly.

4. You download results

Results are assembled in your browser and exported as a CSV or Excel file. The enriched data is generated client-side and never stored on our servers.

What we store

Data TypeStored?Where it lives
Your filesNot storedBrowser memory only
API keyNot storedReact useState() only
Enrichment resultsNot storedBrowser memory only
Personal infoNot storedNever collected
Usage analyticsVercel AnalyticsAnonymous page views only — no personal data
CookiesNot storedVercel Analytics is cookie-free
IP addressVercel logsStandard hosting logs only

Third-party data sharing

The only third party that receives your data is the AI provider you choose to connect:

  • Anthropic — receives row data as part of Claude API prompts
  • Google — receives row data as part of Gemini API prompts

Both providers have their own data retention and usage policies. By default, data sent via API is typically not used for model training. Consult your provider's terms for details.

Verify it yourself

OpenClay is fully open source. Every claim on this page can be verified by reading the source code. We believe transparency is the strongest form of trust.