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 Type | Stored? | Where it lives |
|---|---|---|
| Your files | Not stored | Browser memory only |
| API key | Not stored | React useState() only |
| Enrichment results | Not stored | Browser memory only |
| Personal info | Not stored | Never collected |
| Usage analytics | Vercel Analytics | Anonymous page views only — no personal data |
| Cookies | Not stored | Vercel Analytics is cookie-free |
| IP address | Vercel logs | Standard 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.