AI Transparency and Data Protection

How our AI system handles your data

When you use our AI services, you want to know what happens to your data. Here we explain the entire data flow, name every service involved, and link to the official sources. No marketing promises, just verifiable facts.

Data flow step by step

1. Your input

You ask a question or enter text via the web interface, the Teams bot, or the API.

2. Detection of personal data

Before the text leaves our system, it passes through several parallel detection methods: pattern matching for email, phone, IBAN, credit cards and ID numbers from DE/CH/NL/FR/BE/ES/AT. PII-specialised name and organisation recognition (GLiNER, multilingual). Address and street-name detection for 29 countries. In addition we match against a project-specific blacklist (maintained by you) and an auto-blacklist (learned from your own data).

All detection methods run in parallel.

3. Pseudonymization

Detected personal data is replaced before it is handed to the AI. How depends on the path. In the chat, the Teams bot and the voice assistant the AI gets made-up stand-in names, so the text stays readable. The knowledge search, MCP tools for other programs and the public API replace with placeholders like [PERSON:a1b2c3d4], so anyone can see what was replaced. Phone numbers and IP addresses are replaced with values from ranges reserved for examples (BNetzA reserved mobile blocks, FCC 555-0100, Ofcom 07700 900, RFC 5737/3849). They reach no real subscriber or host. IBAN, credit card, tax and social security numbers are replaced with values that fail their own check, for example an IBAN with the country code XX.

Erika Mustermann called today
With placeholders
[PERSON:ec5b2542] called today
With stand-in names
Ylvie Gotthardt called today

The mapping sits in Redis in the memory of our server in Frankfurt and is deleted 30 minutes after its last use, at the latest 8 hours after its first use. Every use restarts the period. No permanent storage. Atomically deletable on an Article 17 GDPR request. Detected values leave our server only in replaced form.

4. AI processing

Only the pseudonymized text is sent to the AI service. The service sees detected names, addresses and contact details only in replaced form, as stand-in names or as placeholders depending on the path. What detection misses goes along unchanged.

5. Response

The AI response comes back with the same stand-in names or placeholders. Our system puts the real values back before you see the answer. If the mapping expires while the AI is still answering, a stand-in name can stay in rare cases.

6. Logging with audit trail

Every AI call produces an entry with time, person, provider, model and token count. Every replacement is recorded in an audit log nobody can change afterwards. The plaintext never lands in the log, only the number of detected values and checksums of them made with a secret key (HMAC-SHA256). A Postgres trigger blocks UPDATE, only a cleanup role may delete after the retention periods. The hash chain across all entries is checked daily, the result is in the daily mail at 8 am.

Which AI services we use

For each service we say what the contract states, where the evidence is, and what it means in practice.

C

Cortecs

Routing to AI models (Vienna)

Every request to an AI model goes through Cortecs, with two exceptions at Google: web search in the chat and the image description (alt text) for blog images. Cortecs GmbH in Vienna does not run the models itself; it forwards each request to a provider we have enabled. According to Cortecs, the router itself runs at OVH in France.

According to the Cortecs DPA, Cortecs processes the content only in memory and deletes it once the request is complete. Cortecs keeps operational metadata for up to 12 months. The provider that answers the request applies its own retention rules.

The providers on the Cortecs list process in the EEA. Depending on the routing, they can include Microsoft Ireland Operations Limited, Google Cloud EMEA Limited or Amazon Web Services EMEA SARL. For a transfer to their group companies in the US, Cortecs names the EU-US Data Privacy Framework.

Cortecs provides a data processing agreement under Art. 28 GDPR, with the full list of sub-processors.

G

Google Gemini API

Web search in the chat, alt texts and read-aloud only

Google does not use inputs and outputs from the paid API to improve its products or to train models.

For users in the EEA, Switzerland, and the UK, these protections apply even on the free tier.

Google keeps prompts, the context sent with them and responses for 55 days to detect violations of its usage policy. According to Google, it uses this data only for that purpose and trains no models with it other than those for abuse detection.

For a billing address in Germany, the contracting party for the paid API is Google Cloud EMEA Limited in Dublin. Processing follows Google's data processing terms. An EU region cannot be chosen for this API: according to Google, the data may be cached in any country where Google maintains facilities. For transfers to Google in the US, Google names the EU-US Data Privacy Framework.

What we do not do

We do not store conversation content in the AI audit log. It holds only checksums made with a secret key (HMAC-SHA256).

We do not share customer data with third parties, except with the AI services listed above. Data goes there pseudonymized, as long as your organization has not switched pseudonymization off. For the nightly check for missed names, pseudonymized text goes to rented servers in the EU or EEA (IONOS, RunPod). The web search in the chat sends the query to Google without pseudonymization, because a search for stand-in names finds nothing. When the chat fetches a web page (page fetch), its address goes to that website in plain text. Every answer for which web search or page fetch sent data out carries a notice saying so. Your organization can switch web search and page fetch off in its settings under Privacy, and the chat then offers neither. For alt texts, the header image of a blog post goes to Google Gemini without pseudonymization, and for the read-aloud function the text of the post goes to Google.

We use a paid API account with every provider, where the contract excludes training on our data. We do not use free tiers where providers may use submissions for model improvement.

We do not promise 100% pseudonymization. No detection system is perfect. That is why we run multiple layers of protection in parallel: PII detection, blacklists, contractual guarantees with the AI providers, and processing via pseudonymized content. We can reduce residual risk in the detection path; we cannot eliminate it.

Our infrastructure

Servers at dataforest GmbH in Frankfurt am Main
Encrypted transmission (TLS 1.2 or 1.3)
Every replacement is recorded in an audit table nobody can change afterwards: a Postgres trigger blocks UPDATE, only a cleanup role may delete after the retention periods. A per-source hash chain is checked daily, the daily mail reports any break to the administrators.
PII mappings: only temporary in Redis (deleted 30 minutes after their last use, at the latest 8 hours after their first use), no permanent storage
Right to be forgotten (Article 17 GDPR): on request we atomically delete your PII mappings and document the operation with a multi-step evidence audit (start, one step per source, completion). We retain these deletion records for three years so we can still prove, years later, that your data is gone.

Last updated: October 2, 2026

Questions?

If you have questions about data protection in our AI services, write to us. Michael SCHILLER - Organisation. Digital., Data Protection Officer:

datenschutz@schiller-partners.de