How they differ
| Criterion | Sanity | Estøkad |
|---|
| Headquarters | San Francisco (Oslo origin) | Brussels, Belgium |
| Data residency | US, EU regions | Per country: BE, FR, DE, NL, LU, CH |
| Cloud Act exposure | Yes — US-domiciled | No — EU jurisdiction end-to-end |
| DORA evidence pack | Not a product feature | Auto-generated, downloadable |
| Audit log | API access logs | Hash-chained, customer-verifiable |
| Schema as code | TypeScript, customisable Studio | TypeScript-first defineType() |
| Visual editing | Presentation tool (newer) | Storyblok-grade overlay |
| Studio extensibility | Custom inputs, plugins | Custom inputs, plus visual-edit-first |
| Query language | GROQ + GraphQL | GraphQL primary, REST secondary |
| Pricing | Free tier plus usage tiers | Platform fee plus à la carte modules |
Where Sanity is still better
Studio extensibility through custom input components and a plugin ecosystem. A more mature schema-builder community. GROQ as a query language for teams who already know it. Sanity is the right answer when jurisdiction does not enter the procurement conversation.
Where Estøkad wins
EU jurisdiction end-to-end. Data never leaves the country the customer chose. DORA evidence pack as a product feature, not a Confluence page assembled by hand. A visual editing overlay matching Storyblok's quality, not Sanity's newer Presentation tool.