Data Sovereignty: Where Sensitive Data Lives and Who Touches It
AI workloads are entering processes that handle sensitive data, and that makes an architectural question urgent, not a technology trend: where the data actually lives and who can touch it. This page describes a reference architecture built to answer that question.
Data sovereignty is the ability to know, at any moment, where an organization's sensitive data resides and who — people, processes, third-party services — can access it. In this architecture the data stays inside the client's infrastructure: the inference model runs on-prem on the same machine that hosts the data, no third-party cloud service receives the content in transit, and every step — indexing, vector search, generation — happens inside the client's perimeter.
Why Data Sovereignty Is an Architectural Problem
When a company introduces an AI workload — a RAG assistant, a support chatbot, a recommendation engine — data that used to stay inside an application database starts crossing new boundaries: a computed embedding, a retrieved context, a prompt sent to a model. Knowing where each of these steps lives, and who can observe them, is a question that belongs to architecture before it belongs to compliance: the answer isn't "we have a certificate", it's "the data never leaves this perimeter".
How It Works: On-Prem RAG on RediSearch HNSW
When a request arrives, the ML service computes the text embedding locally (no external call), matches it against the HNSW vector index on RediSearch, and passes the retrieved context to the generation model, served on-prem with Ollama (llama3.1:8b family, configuration read from the ML service's own code). No outbound call to third-party cloud services such as OpenAI, Anthropic, or Cloudflare Workers AI: the entire path, from indexing to generation, stays inside the infrastructure that also hosts the data.
The Vector Index
The RediSearch vector index serving semantic search takes up 5.73 MB for 2,580 documents (1,290 articles in Italian and English) — measured on 2026-08-03 on the production machine: it's the order of magnitude that makes on-prem RAG practical without dedicated infrastructure.
Numbers Measured on the Production Machine
The generation model responds in 5.7-7.2 seconds for a short answer (40-60 tokens), about 8-10 tokens/second — measured on 2026-08-03 on the production machine, CPU-only inference. These are three single measurements (n=1 per condition), not a benchmark: they should not be read as typical latency or as guaranteed performance. When the model isn't already loaded in memory, the first load adds about 13 seconds, one-time — a cost paid only after a period of inactivity, not on every request.
At rest the Ollama process uses about 19 MB of RAM; with the model loaded in memory it rises to 5.29 GB — measured on 2026-08-03. The footprint isn't permanent: the model is unloaded after a period of inactivity, and even with the model loaded there are still 19 GiB of RAM available out of the machine's 30 GiB total.
The machine hosting this stack is a VPS with 16 Intel Xeon (Skylake) vCPUs and 30 GiB of RAM, with an average load of 1-3% after 65 days of continuous uptime — measured on 2026-08-03.
Controlled Degradation, Not an Automatic Cloud Fallback
If the Ollama service doesn't respond, the ML service degrades in a controlled way: it returns a deterministic result accompanied by an explicit warning that AI is unavailable, without automatically triggering a fallback to a cloud service. This is behavior already present in the code, not a roadmap hypothesis.
This page describes what the architecture does — no sensitive data leaves the client's infrastructure, no third-party processor is involved. It does not claim regulatory compliance: whether a BAA or a specific attestation is required is a determination for the client's compliance counsel.
Ways we can work together
Project-based
Defined scope, milestone delivery. Indicative range: 8,000–40,000 USD, depends on scope and complexity — confirmed on the scoping call.
Hourly
For focused engagements or technical pairing. Indicative range: 85–150 USD/hour.
Monthly retainer
Ongoing architecture and technical-review presence. Indicative range: 3,000–8,000 USD/month.
Indicative ranges, not a quote: final rates are confirmed on the scoping call.
Frequently asked questions
Does the data really stay inside the client's infrastructure?
Yes: inference runs on-prem on the same machine that hosts the data, and no third-party cloud service receives content in transit. That's a verifiable architectural property, not a marketing promise — and it doesn't replace the client's own compliance counsel's determination for specific regulatory obligations.
Do we need a BAA (Business Associate Agreement) to get started?
That's a determination for the client's compliance counsel: this page describes the architecture, it does not claim regulatory compliance. If the project handles regulated health data, whether a BAA or a specific attestation is required remains the client's own legal decision.
How much does it cost to get started?
It depends on the engagement model (project, hourly, or retainer) and scope: the indicative ranges above are confirmed on a free, no-obligation scoping call.