App icon PrivatPrompt Solution 07 · PrivatPrompt

The model sees the task, never the identity

PrivatPrompt sits between you and every external language model. People, companies, places, account numbers and identifiers are replaced by placeholders on your own machine before the prompt leaves the house. The answer comes back, gets the real values again and is checked for usefulness. The mapping never leaves your network.

Today you work with it at the workplace and in AI assistants. As the next step PrivatPrompt becomes the gateway for every API call in the company: then the applications know only the gateway, and masking is no longer a choice left to the individual but a property of your infrastructure.

In use today

  • App at the workplace: preview, masking, answers, feedback
  • Tool in AI assistants through the open protocol MCP
  • Masking ladder with automatic relaxing and a fit check
  • Models through existing subscriptions, providers or in house
  • Gateway for API calls through the providers' own interfaces: a rule per application, the strictest level, no route past the sanitiser

In preparation

  • Relaxing and fit check for applications as well
  • Streaming, tool calls and images through the gateway
01 · What the solution delivers

Neutrality of data · as a mechanism, not as a rule

Most policies on AI use rest on trust: staff are asked not to enter customer data, developers are asked to keep it in mind. PrivatPrompt replaces the policy with a construction that takes effect before every call. The technical term for it is prompt sanitisation: a prompt is cleaned up before a model sees it, and the answer becomes usable only once it has been translated back.

Sanitisation on your own infrastructure

People, companies, places, addresses, email, phone, IBAN, AHV number, credit card, access credentials. Swiss formats with their own detectors, identifiers with a checksum, plus a detection model that runs locally. Detection, masking and mapping stay inside your network.

Mandatory, not optional

The gateway speaks the usual interfaces of the providers. Applications, agents and automations point at it instead of at the provider, the access keys sit there alone, the direct route out is blocked. There is no call that bypasses sanitisation.

Choose model and provider freely

Per job: an existing subscription, a frontier model through the provider's API, a provider operating in Switzerland or a model in house. Masking stays the same wherever the prompt goes.

Rule set per use case

Customer correspondence, contract review, code, free text: every profile settles how strictly masking applies and what must never go out. The app suggests the fitting profile itself. The answer translated back is checked for fit, and the rule set learns from your feedback.

02 · The interface

See beforehand what goes out

The app shows every step: while you type, it lists below the prompt what would be masked. After sending you see the prompt with its replacements, the masking history and the answer with its rating. Every relaxation is a visible, logged decision.

Figure 1: Before sending, the preview «What would be masked?»
PrivatPrompt before sending: prompt in the input field, below it the detected entities as chips and the suggested profile
At the top you choose model, effort, masking level and profile. Below the prompt sit the detected details: person, company, place with postcode, IBAN and email. The app suggests the profile itself, here «free text» with full confidence. The app runs in German.
Figure 2: After sending, original with replacements, history and answer
PrivatPrompt after sending: every detected detail struck through with its placeholder next to it, below the masking history and the answer rated 96
Every detail is struck through, next to it stands the placeholder the model saw. «Gesendet» shows the masked version alone, one click copies it. The answer comes back with the real names and carries a rating; duration and size sit on the right. Screenshot from the app, names and account number fictitious.

When an answer does not fit

The example above succeeded in the first round. If the model lacks context, PrivatPrompt relaxes one step and asks again. The figure shows such a job schematically.

Figure 3: One job with two rounds, from strict masking to a fitting answer (schematic)
PrivatPrompt · Job 0412
Backend Frontier model · API Effort medium Profile Answer an email · 84 % Sanitiser Passthrough Web
Original promptZone 1
Draft a reply to Martina Keller at Nordwind Solutions AG in Winterthur: we accept the quote. The invoice goes to CH93 0076 2011 6238 5295 7, queries to [email protected]. Sender: Alpsteiner Technik.
Sent as Company A (a customer) · Rule: company → enriched · Origin: round 2 · Level L2
The name stays hidden, the role becomes readable.
Person Company, place Identifier own identity, stays visible
Masking historyZone 2
  1. L3 · StrictAll five entities sent as placeholders.
  2. Query from the model«Who is Person 1?» Fit 0.41. Type at fault: company without context.
  3. L2 · Abstracted, company with role«Company A (a customer)», person and identifiers stay masked.
  4. Answer fitsFit 0.86, references resolved.
Most that was disclosed: L2. 1 company as a category with a role, 1 place sent. Name, email, IBAN: in no round.
AnswersZone 3
Round 1L3Query about a placeholder
Before I can answer: who is Person 1, and how does Company 1 relate to you?
Round 2L2Fit 0.86 · judge: good
Dear Ms Keller
Thank you for your quote. We are glad to accept it and look forward to working with Nordwind Solutions AG. Please send the invoice to CH93 0076 2011 6238 5295 7, queries reach us at …
ApplyFitsDoes not fitRelax one stepAnswer locallyFile in vault
Zone 2 is the bookkeeping of disclosure: whoever wants to know what the external model actually saw reads it there. Highlighted in green in zone 3 are the places where the core put the real values back in. The bar below appears as soon as feedback is needed: apply, fits, does not fit, relax one step, answer locally, again with the original prompt, change prompt, file in vault. Names, companies and account numbers in the example are fictitious.
03 · The process

Six steps · one of them outside the house, and that one masked

Detection, masking and translating back run inside your network, today on your own machine, with the gateway later also on a server in house. Only the masked version reaches the language model, and the check never sees plain text either. What it returns is made readable again before it is delivered.

Figure 4: From the prompt to the checked answer, with processing locations
Six-stage process: detect, mask, ask, translate back, check, relax or hand over; only the third step leaves the house, and it does so masked 010203 040506 Detect Mask Ask Translate back Check Relax / hand over People, companies andidentifiers in theprompt, Swiss detectors Placeholder per entity,mapping table storedlocally only The chosen modelreceives only themasked version Placeholders in theanswer become realvalues again Judge model sees onlythe masked version:does the answer fit? One step lessmasking, or applythe answer Runs on your infrastructure Only step outside the house — the masked version Loop if the fit is missing, at most three times The mapping between placeholder and original value never leaves your network — no provider learns who your customers are.
If step 5 comes out negative, the loop runs again with one step less masking, at most three times. It relaxes only when the step actually shows the model something new. If the judge model fails, a model in house takes over; none rates its own answer. The lowest level always keeps account numbers, identifiers and access credentials masked. The route entirely without masking is never the result of the automatic process, but an explicit decision, preceded by a report of what would be disclosed.
04 · The masking ladder

As much masking as needed, as little as possible

Too much masking takes the context away from the model, too little gives data away. The ladder settles this in levels: it starts strict and relaxes only the type the answer fails on. For applications the rule set fixes the level per use case; at the workplace the person writing the prompt decides, within the same limits.

L3Start

Strict: everything as a placeholder

People, companies, places, addresses, email, phone, account numbers, AHV numbers, credit cards, access credentials. The model sees a category and a number, nothing else. For many tasks that is enough already.

L2Abstracted

People and identifiers stay masked, companies gain context

Companies and places become a category with a letter: «Company A», «Place B». On request enriched with the role from your knowledge base: «Company A (a customer)», «Person A (head of purchasing at Company A)». The name stays hidden, the task becomes solvable for the model.

L1Floor

Identifiers only

Email, phone, IBAN, AHV number, credit card and access credentials stay masked, everything else goes out in plain text. The automatic process never goes below this level. If it reaches no fitting answer, the rule set reports the limit and names the ways out: answer locally, rephrase the prompt, or deliberately without masking.

PassDeliberate

Passthrough: without masking, after confirmation

Not a level of the ladder but a mode of its own. The prompt goes out unchanged, at the workplace only after an explicit confirmation with a short waiting period; the masking choice is then locked. For applications it becomes possible only where the rule set allows it for the use case, never at the request of the caller. Intended for tasks with no personal data: public texts, general questions, research on the web. In masked mode the app warns against web access, because a search query would give the details away.

Version of the same valueWhat the model seesWhat is disclosed
Placeholder‹ORGANIZATION 1›Nothing
Category«Company A»Category and distinguishability
Category with role«Company A (a customer, mechanical engineering)»Role and business relationship, never the name
Plain text«Nordwind Solutions AG»The value itself, only if the rule set allows it for this type
In detail

What PrivatPrompt detects, and what it deliberately leaves

Good masking does not mean replacing as much as possible. It replaces what makes a person or company recognisable, and leaves what the model needs for the task.

Two detectors, one result

Language rules for German and English plus an additional detection model for names, companies and places. Both run on your machine.

Names after a greeting

«Dear Ms Keller», «Regards, Reto»: names after salutation, title and closing are found reliably. «Hello team» stays as it is.

Official localities

A postcode with a place is replaced only if the locality is in the official Swiss register. A number in front of a word is not yet an address.

Your company list

Customers and partners from your knowledge base sit on a list of their own and are always detected, even if a detector misses them.

Technical terms stay

Programming terms and role words such as «creditor» or «purchasing» stay readable. Your own company may stay visible on request.

Robust translating back

If the model writes a placeholder with other brackets or with a line break, PrivatPrompt still puts in the right value. Within one conversation the same placeholder stays with the same person.

When in doubt, nothing

If detection fails, no prompt goes out. There is no silent fallback to plain text.

Cost cap

Calls through a provider's API have a budget. Once it is reached, the next call stops before it costs anything.

Short retention

The mapping of placeholder and value expires after 24 hours, jobs after seven days. The log records what was disclosed, never the value itself.

05 · Why this makes the difference

Neutrality of data: a precondition, not an extra

The strongest models run in data centres that belong to someone else. Whoever used them has paid with customer data so far. Masking separates performance from identity, and for most of a company's data that is no option but the condition.

Frontier models without data leavingThe performance of the best models for contract questions, customer correspondence and analyses, without names and identifiers leaving the house.
The policy becomes a mechanism gateway«Do not enter customer data» is a guideline. An application that can reach the provider only through the gateway is a construction. It holds on a Friday evening too, and in every script someone wrote two years ago.
Provable what was disclosedEvery job logs the lowest level that was sent and the types that were relaxed. Never the values themselves.
One key, one place gatewayThe provider keys sit in the gateway alone. No key in applications, in scripts or with staff, no shadow access that nobody knows about any more. Changing provider is an entry in the gateway, not a change to the application.
Fit instead of flying blindA masked answer is only useful if it fits the task. The check says when that is not the case, and its verdicts are compared continuously with your own. Only when both agree may it release answers on its own.
Honest limitsMasking is pseudonymisation, not anonymisation. Industry, place and size together can make a company recognisable. The detection rate is measured, not promised; account numbers and identifiers are verified by checksum.

Data handling

Detection
On your infrastructure, with no connection to the outside
Mapping table
Inside your network on encrypted storage, expires after 24 hours; never leaves it
Provider keys
With the gateway held there alone, never in applications or with staff
Jobs and answers
A log of the disclosure per call; contents deleted after seven days
Fit check
The judge model sees only the masked version; if it fails, a model in house checks
Language model
Selectable per job: an existing subscription, a frontier model through the provider's API, a provider operating in Switzerland, a model in house

No additional cloud service in between, no copy of your prompts at an intermediary. The contract with the provider stays your contract.

The question is no longer whether your staff use frontier models. They do. The question is what leaves the house, and whether anyone can say what it was.
06 · Access

Three ways in, one core

The core runs as a service on your infrastructure. For the workplace it is an app, for assistants a tool. For applications it is the gateway that no route gets past; this way in has been in operation since October 2026.

Figure 5: The gateway on the company network, no call bypasses the sanitiser
Applications, agents, automation platforms and workplaces call the gateway only; the gateway holds the provider keys and calls a frontier model, a provider operating in Switzerland or your own data centre; the direct route from the applications to the provider is blocked YOUR NETWORK OUTSIDE THE HOUSE Applications, scripts Agents, workflows AI assistants (MCP) Workplace app GATEWAY · PRIVATPROMPT Sanitise, rule set per application Provider keys, here only Translate back, check the fit Log of the disclosure per call Speaks the provider interfaces unchanged masked only Frontier model, provider's API Provider operating in Switzerland Model in your own data centre with a data processing agreement data stays in the country never leaves the house at all direct route blocked
Enforcement is a question of the network and the keys, not a question of trust: the applications receive only the address of the gateway and an access credential for it. The provider keys are known to the gateway alone, and the direct route to the provider addresses is blocked in the network. A call that sets out to bypass sanitisation does not arrive.
Access A

As a gateway on the company network

Applications, agents, automation platforms and chat tools call the gateway the way they would call the provider itself, through the same interface. The gateway sanitises, calls the provider with its own key and delivers the answer translated back.

  • Switching an application: address and key, nothing else
  • Direct connections to the provider blocked
  • Rule set and log per application
Access B

In AI assistants in use

As a tool in assistants that speak the open tool protocol MCP. The assistant calls «ask an external model in masked form», everything else runs in the core.

  • The same tools for every client
  • Checking, masking and translating back also usable on their own
  • Its own access key per client, separate views
Access C

At the workplace in use

Select text in any application, hand it over through the services menu «Mit PrivatPrompt maskiert fragen», apply the answer. The app shows preview, masking, history and answers and needs no system permissions.

  • Its own app on the machine, also through existing subscriptions
  • Preview of what would be masked, before anything goes out
  • No window monitoring, no reading along in the clipboard
  • Hand over as a file, into the knowledge base or to an assistant
  • Text size adjustable, remembered per page
07 · Implementation

As a project in three steps

Clarify use cases and data classes

Which applications and tasks go to external models, which data may go out at which level, and which never? Along with the contractual basis at the provider, because the gateway adds to the data processing agreement, it does not replace it. Result: the rule set per use case.

Set up core and detection

Core on your infrastructure, app at the workplaces, tool in the assistants. As soon as the gateway is ready, provider keys and applications follow, and the direct routes are blocked. Tune detection to your data: companies from your customer base, Swiss identifiers, your own terms that must never go out. Tested on real texts with a measured hit rate instead of an assumption.

Pilot and roll-out

Start with one application or one team. Feedback sharpens the starting level and the limits per profile. Only when the fit check agrees with your own judgements may it release answers on its own. Then the remaining applications follow.

How it fits

The gateway in front of every external model

Wherever an application, an assistant or an agent calls a language model, PrivatPrompt sits in front of it: for reply drafts in the Activity Cockpit, for minutes from PrivatTranscript, for the route to the frontier model in the target picture of the knowledge layer. The model stays exchangeable, the neutrality of the data remains.

Target picture of all solutions →
Document

The summary as a PDF

The gateway for every API call, the masking ladder, the six-stage process with processing locations, the three ways in and the data handling, compact for the decision paper.

PDF · 3 pages

PrivatPrompt

The model sees the task, never the identity: gateway, ladder, process, ways in and data handling on three pages.

Which prompts containing company data leave your house today?

In a first conversation we count the applications that call a provider directly today, and clarify which data may go out at which level. No obligation, at eye level.

Get in touch → All solutions