This article describes the situation in Germany (German law and practice). It is a translation of the German original and is not legal or tax advice.
Martin Felux, civil engineer and industrial engineer
A knowledge assistant answers questions from a company’s own documents and names the place where the answer is found. Whether the language model behind it runs on your own computer or with a provider in the EU decides where your texts are processed, who carries the operation and what the contract says. The building blocks are the same in both cases, and so are the limits: they lie in the quality of your documents and in the checking done by the person who asks.
What the office administrator asks and what comes back
An example with invented data: at “Musterbau Haustechnik GmbH”, which does not exist, the office administrator asks: “What payment term applies with the wholesaler Beispiel?” The assistant answers: “30 days net. Source: framework agreement wholesale, section 4.2, page 3.” She opens the page, reads the line and only then enters the term in an email. If she asks about something that is in no document, the answer should be: “I find nothing about this in the documents.” That can be requested from the model, but it cannot be guaranteed.
So the assistant delivers a suggestion with evidence, and a person decides. The article AI in a workflow: one AI step, fixed rules, human approval describes the same pattern.
- Question The administrator types it in plain language
- Find passages Search by meaning, for example 3 hits AI prepares
- Answer The model answers only from the hits AI prepares
- Source reference The program attaches file and page
- Check The administrator reads the passage
Text version of the graphic
- 1. Question: The administrator types it in plain language
- 2. Find passages: Search by meaning, for example 3 hits (the AI prepares)
- 3. Answer: The model answers only from the hits (the AI prepares)
- 4. Source reference: The program attaches file and page
- 5. Check: The administrator reads the passage
The building blocks
- Your documentsContracts, standards, minutes; scans first made readable by text recognition
- Passages and number stringsAn embedding model turns each passage into a string of numbers
- Vector storeFinds the passages most similar to a question, for example pgvector
- Language modelAnswers only from the hits, locally (Ollama) or in the EU cloud
- Answer with source referenceThe program attaches file and page, the administrator checks
Text version of the graphic
- Layer 1 from the bottom: Your documents, Contracts, standards, minutes; scans first made readable by text recognition
- Layer 2 from the bottom: Passages and number strings, An embedding model turns each passage into a string of numbers
- Layer 3 from the bottom: Vector store, Finds the passages most similar to a question, for example pgvector
- Layer 4 from the bottom: Language model, Answers only from the hits, locally (Ollama) or in the EU cloud
- Layer 5 from the bottom: Answer with source reference, The program attaches file and page, the administrator checks
The method is called RAG (retrieval-augmented generation, roughly “answers after a prior search”). According to the n8n documentation, a system first retrieves matching documents so that the answer rests on your own knowledge and not only on the model’s training. This needs a model, a vector store and a retrieval step. The model can be local or in the cloud.
A local model is often run with Ollama, a program that runs language models on your own computer. The Ollama FAQ says: “Ollama runs locally. We don’t see your prompts or data when you run locally.” By default it listens only on the computer itself (“binds 127.0.0.1 port 11434”). In n8n, a credential of type Ollama with the address http://localhost:11434 is enough, after which “Connection tested successfully” should appear. The same page also describes the route to ollama.com, and that is the manufacturer’s cloud. Anyone who wants to work only locally switches it off with OLLAMA_NO_CLOUD=1, according to the FAQ.
For a model in the EU cloud, IONOS calls its interface “fully OpenAI-compatible”, so programs built for OpenAI services can be connected. With Microsoft, you deploy the model in Foundry and choose where it may compute (next section).
The vector store makes your documents searchable. They are split into passages, and an embedding model turns each passage into a string of numbers that represents its meaning. For a question, the store finds the most similar passages, by meaning and not by keyword. pgvector, an extension for the PostgreSQL database, advertises itself with “Store your vectors with the rest of your data”. IONOS builds its guide on it. n8n, by contrast, warns about its Simple Vector Store: for development only, “All data is lost when n8n restarts”, and all users of the instance can read the data.
For retrieval, the IONOS guide shows the sequence: turn the question into a string of numbers, fetch the most similar passages (example value: 3) and give them to the model, with the instruction to answer only from this context and otherwise say that it does not know. The guide’s example table has only the columns text and vector, so no source. n8n advises giving each passage metadata. Entering file and page there is part of your set-up. This is my recommendation and not a vendor statement: the program attaches the source reference from that data, and the model does not write it itself. With Foundry IQ, Microsoft offers a ready-made variant that, according to the page, returns answers “with citations”; some of its functions are still in preview.
Where the data is processed, as at November 2026
Everything below is vendor information, retrieved on 13.11.2026.
| Route | Question, passages, answer | What stays open |
|---|---|---|
| Local with Ollama | On your computer; by its own statement Ollama does not see your data | Operation, updates and access protection are your job |
| IONOS AI Model Hub | In IONOS data centres in Germany; content not logged, not used for training | Metadata is stored, no pseudonymisation by IONOS |
| Microsoft, Data Zone EU | Within the EU data zone; data at rest in the chosen region | Scope of the zone, exceptions, preview functions |
In its data handling page, IONOS states that all processing takes place in data centres in Germany and that the content of inputs and outputs is not logged, not used for training and not passed on to third parties. Timestamp, model and token count are logged. No sub-processors are used. The data processing agreement is part of the contract and needs no separate signature. The page also says that IONOS does not pseudonymise the content; anyone who needs that must do it themselves before sending. The terms for AI services prohibit any use for training, but allow use for improvement for “SaaS” services. Which form applies to which service is set out in the service description, and you should have this confirmed. The vector database is a separate service (Managed PostgreSQL), which the guide also places in Germany.
With Microsoft, the place depends on the deployment type. With the type “Data Zone” in the EU, inputs and answers are, according to the documentation, processed only within the EU data zone. Two Microsoft pages describe its extent differently. The privacy page (page dated 5 June 2026) says that for a resource in an EU member state, processing may take place in that or any other EU member state (“that or any other European Union Member Nation”). The page on deployment types (page dated 12 August 2026) says the EU data zone follows the EU Data Boundary, which can include EFTA countries such as Norway and Switzerland as well as EU states. It also says that Microsoft can add regions without prior notice. Have it confirmed in writing which version applies to your deployment. With the type “Global”, processing can happen wherever the model runs. The page recommends Global Standard as a starting point and itself names data residency as a reason to change the type. For the EU Data Boundary, Microsoft also admits limited exceptions, which I have not evaluated in full. For abuse checks, Microsoft stores inputs and answers in a store in the chosen region. According to the page, human reviewers read them only if the system has flagged them. For models in the European Economic Area, they are located there. Your data is not used for training.
Where the assistant reaches its limits
- The documents set the first limit. According to IONOS the embedding accepts only plain text, so scans need text recognition first (my inference). Whether a contract is out of date or two versions contradict each other, the assistant does not know.
- The search does not find every passage. Without an index, pgvector searches exactly, by its own account. With an index (“approximate”) it trades “some recall for speed”, so it does not find every matching passage. The IONOS guide creates such an index.
- The model can be wrong. Even with the instruction, it can produce something invented. IONOS states in its terms that the output may be “fehlerhaft, irreführend, unvollständig oder unangemessen” (incorrect, misleading, incomplete or inappropriate).
- Memory limits a local model. With less than 24 GiB of graphics memory, Ollama defaults to only 4k context; with many or long hits little room is left. More context costs memory.
- The access rights have to be right. The assistant may show only what the person asking may see. According to its page, Foundry IQ enforces permissions at query time; a self-built store does so only if you set it up.
A source reference only says where the answer is supposed to come from. For deadlines, prices and commitments, the office administrator therefore reads the passage herself.
Local or EU cloud?
I have not measured costs or answer quality and give no figures. An assumption from the author’s practice: local suits you if documents should not leave the house and someone takes on the operation. The EU cloud suits you if that knowledge is missing in-house and the contract meets your requirements. The cost types are described in the article Cloud or self-hosted: what automation really costs. Legal questions are for the data protection officer.
What you can do now
- Write down 20 questions that your office has really asked recently, with the place where the answer is found. This will later be your test bench.
- Sort the documents: current version, scans without text and documents containing personal data kept apart.
- Have the data protection officer decide which folders may go into which tool.
- Ask vendors in writing about place of processing, training, data processing agreement and the discontinuation of services.
General information, not legal or tax advice. Your tax adviser, data protection officer or lawyer will clarify the individual case.
Frequently asked questions
Is the vendor's contract enough for me to upload my documents?
This article cannot answer that. It shows what vendors document: place of processing, no use for training, data processing agreements. Whether that is enough for your documents is for your data protection officer to clarify. Also ask the vendor whether automatic ingestion of your documents is covered by the service description, because the IONOS terms name automated queries as possible misuse but exempt what the service description provides for.
Will the assistant never invent anything if I forbid it?
It can still happen. The instruction “answer only from the context” is a request to the model, not a technical block. IONOS states in its own terms that the output can be incorrect, misleading or incomplete and that the customer must check it.
What happens to my documents if the vendor discontinues a product?
That happened twice in 2026: IONOS announced the decommissioning of Document Collections for 31.08.2026, and Microsoft reports “Azure OpenAI On Your Data” as retired since 14.10.2026. IONOS does not offer the numeric vectors from the search for export; they have to be recalculated. If you store documents and passages yourself, changing vendor is easier.
Sources
- IONOS Cloud: AI Model Hub, Data Handling (data handling, page in English) (retrieved on 13 November 2026)
- IONOS Cloud: Nutzungsbedingungen für KI-Dienste (terms of use for AI services) (retrieved on 13 November 2026)
- IONOS Cloud: AI Model Hub, Retrieval Augmented Generation (how-to guide, page in English) (retrieved on 13 November 2026)
- IONOS Cloud: AI Model Hub, Overview (overview, page in English) (retrieved on 13 November 2026)
- IONOS Cloud: Document Collections, Abschaltung zum 31.08.2026 (decommissioning on 31.08.2026, page in English) (retrieved on 13 November 2026)
- Microsoft Learn: Data, privacy, and security for Foundry Models sold by Azure (Seitenstand 05.06.2026) (page dated 5 June 2026, page in English) (retrieved on 13 November 2026)
- Microsoft Learn: Deployment types for Foundry Models (Seitenstand 12.08.2026) (page dated 12 August 2026, page in English) (retrieved on 13 November 2026)
- Microsoft Privacy: What is the EU Data Boundary? (page in English) (retrieved on 13 November 2026)
- Microsoft Learn: What is Foundry IQ? (Seitenstand 06.11.2026) (page dated 6 November 2026, page in English) (retrieved on 13 November 2026)
- Microsoft Learn: Network and access configuration for Azure OpenAI On Your Data (classic), Hinweis zur Einstellung (notice on the retirement, page in English) (retrieved on 13 November 2026)
- Ollama-Dokumentation: Local FAQ (Ollama documentation, page in English) (retrieved on 13 November 2026)
- Ollama-Dokumentation: Context length (Ollama documentation, page in English) (retrieved on 13 November 2026)
- Ollama-Dokumentation: Embeddings (Ollama documentation, page in English) (retrieved on 13 November 2026)
- Ollama-Dokumentation: n8n (Anbindung) (Ollama documentation, connecting to n8n, page in English) (retrieved on 13 November 2026)
- n8n-Dokumentation: Retrieve relevant context (RAG in n8n, page in English) (retrieved on 13 November 2026)
- n8n-Dokumentation: Simple Vector Store (n8n documentation, page in English) (retrieved on 13 November 2026)
- pgvector: Open-source vector similarity search for Postgres (README, page in English) (retrieved on 13 November 2026)