Skip to content

Customer story / Enterprise software

How a DAX 40-scale software provider moved its AI copilot onto EU-only inference and closed stalled enterprise deals

A German enterprise software provider with customers across the EU had an AI copilot that called US endpoints by default. Procurement teams at large European customers stopped signing until the company could prove where prompts were processed. Moving the copilot behind YTT Secunet's EU zone turned the question from a negotiation into an attachment.

Deployment record
Customer
DAX 40-scale Enterprise Software Provider
Industry
Enterprise software
Headquarters
Germany
Gateway
Managed gateway
Policy
eu-gdpr-strict

Results

6
stalled enterprise opportunities with the AI module back in scope within two quarters
11 to 3
business days to answer the AI section of an enterprise security questionnaire
-71 ms
median end-to-end latency for German users after moving inference from US East to Frankfurt
0
requests from EU tenants served outside the EEA since go-live, per receipts

The challenge

The company shipped a generative AI copilot inside its core product in 2025. The first version called a model provider's default API, which processed requests in the United States. For mid-market customers this passed review. For large European enterprises it did not: works councils, DPOs and CISOs asked the same question in every security questionnaire, and the honest answer was that prompts containing employee and customer names were processed in Virginia.

The legal team had SCCs and a transfer impact assessment in place, and the provider was certified under the EU-US Data Privacy Framework. That satisfied Chapter V on paper, but several buyers had internal rules that required EEA processing for AI features, and two public sector customers had it in their framework contracts. Sales tracked six enterprise opportunities in which the AI module was either removed from scope or the whole deal was paused.

Engineering had looked at building EU routing in-house. The estimate covered regional deployments on two clouds, a policy layer per customer, failover logic that never left the EEA and an evidence trail for audits. It came to two quarters of work for a team that also owned the copilot's roadmap, with no clear way to prove residency to a third party afterwards.

The approach

  1. 01Integrate

    The platform team changed one setting in the copilot service: the base URL moved to the YTT Secunet EU endpoint, and each request carried the customer's tenant id and the eu-gdpr-strict policy header. Tenant domicile came from the company's existing customer master data, so EU customers were routed to Frankfurt and Sweden Central without a code change in the product.

  2. 02Enforce

    The policy engine pinned regional deployment types only, which surfaced one configuration problem in the first week: a test environment was still pointing at a global deployment. The call was refused with a policy reason, the deployment was fixed, and the change was recorded in the ledger.

  3. 03Evidence

    Legal attached a short evidence pack to each security questionnaire: the endpoint inventory for the EU zone, a description of the receipt format, and one week of Merkle roots for the customer's tenant, each verifiable with the open-source ytt-verify tool. For customers who asked, the account team ran the verifier live in the security review call.

In their words

“The question used to be a two-week thread between our DPO and theirs. Now we send the endpoint list and a week of receipts, and their team checks the proofs themselves. The AI module stopped being the reason a deal slipped.”
Head of Product SecurityDAX 40-scale Enterprise Software Provider

Stack

  • Azure OpenAI (Germany West Central)
  • Azure OpenAI (Sweden Central)
  • eu-gdpr-strict policy pack
  • PII guardrails
  • Splunk receipt export

Jurisdictions in this deployment

More deployment stories

Sovereign route ready

Stop risking 4% global turnover GDPR fines on AI inference.

Deploy sovereign, cryptographically proven AI routing in 15 minutes.