Local-first model storage
Your model JSON files live in ./flatland/models/on your disk. We don't persist your model contents on our servers. The compile runs in memory against the IR you send and returns. Nothing of your model lingers in our cloud.
Pulse without payload
The live system heartbeat (the cycling mark, the compile log on flatlandfi.com) broadcasts only anonymized counts: compile id, region, driver count, latency bucket, assertion pass/fail count. Driver names, model contents, formulas, and user identifiers never leave your browser or your agent.
API request logs at high level only
We log timestamps, endpoint called, response status. We do not log the body of your API requests; your driver values, formulas, or computed results are not in our logs.
Tenant isolation by architecture
Per-key authentication boundary. Each API key is a logical tenant. Cross-tenant access is architecturally impossible: there is no shared model store that two keys can both read from. (This is what makes the platform-tier embedding model on /platforms tractable.)
Encrypted in transit
TLS on every API call. HTTPS-only on flatlandfi.com (HSTS). Stripe handles all payment data; we never see or store card numbers.
Bring your own AI
Flatland does not call any LLM. The engine is pure deterministic computation. Your AI agent (Claude, Cursor, etc.) calls Flatland; Flatland computes; the answer returns. We have no relationship with your AI provider and your AI provider has no direct relationship with us.