The BYOC data model

Exactly what lives in your database versus the platform’s — honestly.

#In YOUR database (BYOC D1)

When your Cloudflare account is connected, these tables live in the D1 database on your account, and the API reads/writes them there:

  • CRM: contacts, companies, deals, activities, tasks
  • Calendar: events
  • Entity links (the relationship graph between records)

If no account is connected, the platform database serves as fallback so the product still works — connecting later provisions your database and the deterministic naming re-attaches cleanly.

#In the platform database

Projects, billing documents, documents, design systems, components, wireframes, routines, chat history and Build project files live in the platform’s database — org-scoped and reachable by your AI over MCP. Where those records reference a customer, the reference resolves against your BYOC database: the company on a project or invoice is the row in your own D1.

This split is deliberate and we’d rather describe it precisely than round it up: BYOC today means your client data and calendar physically on your account, with the platform layer working against it.

#Data residency

Your BYOC database is created in the region you choose at sign-in. Choosing the EU uses D1’s jurisdiction option — a hard, infrastructure-level guarantee, not a policy promise.