Why We Switched Our European AI Infrastructure to Cortecs: A Case Study by Dentro
Guest post by Paul Plessing of DentroInnovation OÜ
Guest-post disclosure: Paul Plessing wrote this article based on DentroInnovation OÜ's experience as a Cortecs customer. Neither Paul Plessing nor DentroInnovation OÜ received payment, discounts, free services, or any other financial or non-financial incentive from Cortecs in connection with this article. The views, claims, and conclusions are the author's own and do not necessarily reflect those of Cortecs.
TL;DR: European AI infrastructure is not only about GDPR compliance. The US Cloud Act allows US-American authorities to access data on servers of US companies even when these servers are physically located in Europe, creating real sovereignty gaps. Dentro consolidated their fragmented multi-provider setup (Azure, AWS Bedrock, Google Cloud, Mistral) into Cortecs, a European gateway offering one API for models hosted in the EU, sovereignty and zero data retention controls, automatic provider fallback, and per-call cost tracking. The switch eliminated account management overhead and research time when new models launch.
Dentro helps European businesses implement AI. We build automation pipelines and internal agents, and process documents at scale for client teams across Europe. We've actually built what the average Linkedin "AI Expert" posts about :-)
As an AI services company, we run Large Language Model (LLM) workloads across a wide range of client environments, as well as our own products. This case study explains how we ended up routing the majority of our LLM traffic through Cortecs, and what the shift has meant in practice for our clients and our own products.
Obviously, the findings here are specific to our context: a services company where data residency is a client-facing requirement and operational overhead has a very direct cost.
Read on if you are an IT decision-maker in Europe.
Disclaimer: this article was co-authored by Skribt, our AI blog post co-writer.
Why European AI Infrastructure Became Important
Initially at Dentro, choosing European server locations was mostly a General Data Protection Regulation (GDPR) and latency decision. As long as data stayed on servers physically located in Europe, most clients were satisfied. However, this started to change a year or two ago...
Europe is deeply dependent on US and Chinese technology across its entire tech stack, and that dependency is sharpest in AI. If a foreign government or company decided to restrict access (as it just happened, Fable hello), European businesses and governments would have very few fallback options. AI is no longer a productivity experiment cause it's becoming critical infrastructure for businesses and even national security. Relying entirely on providers outside your jurisdiction for that kind of infrastructure brings risk, as someone could "pull the plug" at any moment.
There is also a legal dimension that GDPR does not cover. The US Cloud Act means that US authorities can compel a US company to hand over data stored on its servers, even if those servers are physically located in Frankfurt or Stockholm! On the other hand, a European company hosting a model in Europe operates under a completely different legal framework. In that case, foreign agencies cannot demand that data without going through European legal channels.
Truly sovereign AI would mean European-made models, hosted by European companies, on European AI infrastructure. We are not there yet across the board. But choosing European-hosted models from European providers is a meaningful step forward from using US hyperscalers, and we try to do this wherever the model quality supports it.
The Multi-Provider Problem
Before Cortecs, accessing the right model in the right jurisdiction meant opening accounts on a lot of separate platforms. For closed-source models hosted in Europe, the options were roughly:
OpenAI models: Microsoft Azure, with data region set to a European location
Anthropic models: Amazon Web Services (AWS) Bedrock, configured for a European region
Google Gemini models: Google Cloud, with region set to e.g. Frankfurt, Stockholm, or Dublin
Mistral closed-source models: Mistral's own platform or a European cloud partner
Each of those accounts came with its own complexities (hyperscaler maze anyone?) and quota limits. Getting quota approved on Microsoft Azure was particularly slow...
Submit a request, wait, sometimes follow up, and still not be sure whether the capacity would hold once a client project scaled up. Across four or five platforms, that's overhead for a team that's focused on services (Dentro) and not an infrastructure team (Cortecs).
Open-source models added a different kind of complexity. We cannot self-host a 70B+ parameter model, so we relied on European AI infrastructure hosting providers like Inceptron, Tensorix, Scaleway, etc. The problem that each provider hosts the models a bit different:
One provider might offer a model family but not the latest version.
Another might offer it with a smaller context window than possible.
A third might have it available but with visible latency spikes because too many customers hit it at the same time.
When a new open-source model dropped and clients wanted to evaluate it, we would research each provider to find out who had it and what 'bit precision' it was running at. That is time that does not go toward the actual problem, which is of course getting the best AI available.
We didn't have a single place to see the latest fully EU hosted LLMs, we had a rather fragmented setup. Multiple API keys across multiple platforms with cost data spread across multiple dashboards.
What Cortecs Changed
Cortecs functions as a unified gateway to European-hosted models, both closed-source and open-source. The comparison point that came to mind immediately was OpenRouter, which many developers already know. OpenRouter does something similar but is a US company. Cortecs is the European equivalent for European AI infrastructure. We were skeptical at first about whether the model coverage and API quality would hold up. But... It does :)
A few things stood out quickly:
Single API, all providers: One account, one API key. Whether we need a Gemini model hosted in Frankfurt or an open-source model hosted by a European provider, the call goes through the same endpoint. No more separate accounts on Azure, AWS Bedrock etc.
Sovereign-only filtering: We can filter the model list to show only models hosted by European companies. That means no US or Chinese providers in the selection, and we can pass that guarantee on to customers with confidence.
Provider fallback: If a provider hosting a given model is slow or unavailable, Cortecs can automatically switch to another provider serving the same model without changing our code. In practice, we have never experienced downtime from Cortecs overall since switching.
Both OpenAI and Anthropic API styles: Cortecs supports both the OpenAI API format and the Anthropic API format. As different agent frameworks and coding harnesses expect different API shapes, this is useful. Our agentic coding setup uses the Pi harness, which expects one format, while other pipelines expect the other. Having both available from a single provider removes compatibility headache.
Per-call cost tracking with cached costs: Every API response includes the cost of that call, including cached token costs. Much easier to track spend per project and per client instead of checking three different cloud consoles.
5% markup pricing: Cortecs charges a flat markup on top of provider pricing. Very good price.
Responsive team: We have raised issues over email and on their Discord. The team always responded quickly and listened to our suggestions.
When Google releases a new model, we no longer have to check whether it is available in a European region on Google Cloud or review another data processing agreement (DPA), or verify its retention policy separately. We check the Cortecs model list. If it is there, it is already compliant. With Cortecs as our primary data processor, one DPA gives us access to more than a dozen providers. This has removed a large chunk of research and compliance work from our workflow.
How We Are Using Cortecs at Dentro
We run LLM traffic through Cortecs across four distinct areas of the business.
DentroChat
DentroChat is our sovereign AI chat product for European users. No user data leaves Europe, not even payment data when users choose the SEPA payment option. We do not use US sub-processors anywhere in the stack. That level of sovereignty requires an LLM layer that matches: a European gateway to European-hosted models, with no indirect data exposure through a US intermediary. Cortecs fits that requirement precisely. New models get added to DentroChat as soon as they appear in the Cortecs catalogue, which keeps the product current without additional infrastructure work on our side.
Client Automation Projects
A large part of what Dentro does for clients involves document-centric automation: extracting structured data from unstructured documents, classifying incoming files, generating file names and summaries, depending on what the use case is. These workflows run LLM calls at volume. Before Cortecs, client projects often had their own provider accounts, which meant we were helping clients manage API keys and billing relationships with whichever hyperscaler the project needed, alongside the actual automation work. Now, clients who want a fully managed setup just have a single Cortecs account! The handoff is so much cleaner and the ongoing maintenance is lighter.
Internal Company Agent
We built an internal agent that knows Dentro's processes, answers team questions about ongoing projects, and automates certain administrative tasks. It runs on Cortecs, which means it inherits the same compliance posture and cost tracking as everything else. Nothing about that agent's data leaves the European jurisdiction, and we can switch the underlying LLM at any moment.
Agentic Coding with Pi
For internal engineering work, we use Pi (amongst others) as our agentic coding harness. We pick the model that performs best for the task, switch it if a newer option appears in the Cortecs catalogue.
Vidanis
We envision a personal health advisor, Vidanis, that can organize our health records and draw insights that doctors don't have the time for. Currently waitlist only. (Yes this is the fifth area although we wrote 4, but it's not in prod yet)
The Numbers
We run thousands of LLM calls through Cortecs every week across all four of the above areas.
Zero downtime since switching.
When a provider has been slow, we have moved to an alternative provider for the same model and continued without interruption.
The cost visibility is much better than anything we had across our previous multi-platform setup, and the compliance posture is simpler.
One Finding Worth Flagging for European Teams
When evaluating models for European-language workloads, tokenization costs are not uniform across languages.
We benchmarked this internally and found that Anthropic's recent models count German text as significantly more tokens than equivalent English text. For some models the difference approaches a factor of two on input tokens. The same pattern applies across other European languages to varying degrees.
If you are building a product or automation that operates primarily in a non-English European language, that cost difference should be part of your model selection decision.
This is one reason we would find a Cortecs-native evaluation suite very useful: a benchmarking layer that shows model performance and per-language tokenization costs together, updated when new models are added. It would make model selection faster and better grounded for teams working in languages other than English.
What We Would Like to See Next
Cortecs has improved noticeably over the months we have been using it. The dashboard is more informative than when we started, and the provider catalogue has grown. A few areas where we think there is room to develop:
A Cortecs Evals suite: As mentioned above, standardized benchmarks across languages, updated when new models are added, with per-language tokenization cost data included. This would be a very strong offering for European teams.
Longer-term: European-built models and AI tools: AI is becoming important enough across the economy that Europe needs more deep-tech capability. If Cortecs eventually develops its own models or novel AI tools, that would be a meaningful step toward EU AI sovereignty. For example, a text-to-speech model with Viennese accent that is always grumpy and pushing back would be a good start, as most models nowadays suffer from too much sycophancy.
And maybe, maybe... one day we can get dark mode in the dashboard. That way our poor developer eyes have an easier time working in the basement.
The Bottom Line for European AI infrastructure
If you are running AI workloads in Europe and you care about data sovereignty, operational simplicity, or both, Cortecs is your go to!
For Dentro, it replaced a fragmented mess of provider accounts with a single, compliant, well-priced gateway. It works across the full spread of what we do. The team is reachable and responsive, and the infrastructure has not let us down.
European AI infrastructure does not have to mean choosing between compliance and capability. With Cortecs, we have not had to make that trade-off.
Top comments (0)