Security and privacy

How pseudonymisation works

Custodos replaces detected personal data with placeholders before a message reaches a model, and puts the real values back only in the reply.

Pseudonymisation means that detected personal data leaves Custodos only as placeholders. The model provider reads, for example, <NAME_1> instead of "Mr Brunner". The link between placeholder and real value stays encrypted at Custodos, so the reply can be restored for you. This is not anonymisation: through that link, the data can still be tied to a person.

This page describes the protection mode "Pseudonymise", which new workspaces start with. How admins set the mode is covered in Configuring data protection.

How it works

  1. Detect. As you type, the composer shows which values it has detected. The same detection then runs on the server, so Custodos replaces exactly what the hint announced. No text is sent to a third party for detection.
  2. Replace. Each detected value gets a placeholder with its category, such as <NAME_1> or <IBAN_1>. The same value keeps the same placeholder for the whole chat, so the model can follow the references.
  3. Send. The model provider receives the message with the placeholders.
  4. Restore. Before you see the reply, Custodos puts the real values back in place of the placeholders. A line below the reply says how many values were reinserted.

With Show what the model received you see your message as it was sent. With Show what the model wrote you see the reply before the values were put back.

The message as the model received it: the placeholders <NAME_1> and <IBAN_1> stand in for the name and IBAN.

The link is stored encrypted (AES-256-GCM) per chat, in the database in Switzerland, and never leaves Custodos. When the chat is deleted, by hand or by the retention period, the link goes with it.

What is detected

CategoryExampleHow it is detected
Name"Mr Brunner", "Anna Weber"First and last name together, from a list of first names, or a name after a salutation such as Mr, Mrs, Herr, Frau, Madame or Dr. A first name on its own stays.
Address"Bahnhofstrasse 15, 8001 Zürich", "Rue de la Gare 3"Street with house number, optionally with postcode and town
Birth date"born on 12.03.1985"Only with a cue in front, such as "born on" or "date of birth"
AHV number756.1234.5678.97By its format, or after "AHV-Nr." even with a typo
IBANCH93 0076 2011 6238 5295 7By its format, lower case too, or after the word IBAN even with a typo
Card numberThe 16 digits of a credit cardWith a valid check digit, or after a word such as "credit card"
UID numberCHE-123.456.789By its format, or after "UID" or "VAT no."
Email address[email protected]By its format
Phone number+41 79 123 45 67, 079 123 45 67With a country code or a leading zero
Reference number"customer number KD-4711"Only after a cue such as "customer number", "contract number" or "invoice number"

Cues are recognised in German, French, Italian and English. Admins can switch individual categories off for the whole workspace, names for example, if company or product names look like first names. With custom rules they add company-specific values such as customer numbers or project names; these appear as <DATA_1>.

Where pseudonymisation applies

Everything that goes from your company to a model is pseudonymised:

  • Your message and the earlier history of the chat
  • The text and names of attached files
  • The instructions of agents and projects
  • Text the model reads from connected accounts, such as an Outlook email or a document from Google Drive
  • The description an image is generated from

Not pseudonymised:

  • Images. Image content cannot be checked. In "Pseudonymise" mode, attached images go unchanged to a model that can read images. In "Block" mode and in security mode, images cannot be attached.
  • Brain content. A brain has its own data protection level, independent of the workspace's protection mode. See Data protection in a brain.
  • Web search results. They are public text and reach the model unchanged. The search query itself is not pseudonymised, because a placeholder cannot be searched for. If it contains a hard identifier (AHV number, IBAN, card number, UID number), a match for a custom rule or a placeholder, it is not sent.

Pseudonymisation applies to what goes to model providers. Inside Custodos, your messages stay stored as you wrote them, so you, and anyone you share a chat with, can read them.

The three protection modes

ModeWhat happensImages
Pseudonymise (recommended)All active categories and custom rules are replaced with placeholders. Nothing is refused.Allowed, sent to the model unchanged
BlockMessages containing a hard identifier (AHV number, IBAN, card number, UID number) or matching a custom rule are refused. Everything else goes out unchanged, including names, addresses, email addresses and phone numbers.Not allowed
OffNo scanning. Messages go out unchanged.Allowed

In security mode everything is always pseudonymised, even if the workspace is set to "Off", and in every category, including the ones switched off.

Sending a value as typed on purpose

Sometimes the model needs a detected value in plain text, or detection got it wrong, for example with a product name that looks like a first name. In the list of detected values beside the chat, untick the value (Send original). The choice applies to the whole chat until you undo it, and every detector then leaves the value alone. You can also add values by hand that should be pseudonymised.

Two things cannot be waived: matches for one of the workspace's custom rules (Fixed by a workspace rule), and any detection in security mode. How this looks in the chat is shown in Protecting personal data in chat.

Limits

Pseudonymisation lowers the risk considerably, but it does not replace your own judgement about what belongs in a chat.

  • Names: a surname without a salutation, or a first name that is not on the list, can be missed. Conversely, company and product names that look like a first name are replaced too.
  • Patterns, not understanding: detection covers the formats in the table above. Values written in an unusual way can slip through; for formats your company uses again and again, custom rules are the right tool.
  • Context stays context: values are replaced, descriptions are not. "Our managing director in Winterthur" can identify a person without a name ever being written.
  • Images go to the model unchanged in "Pseudonymise" mode.
  • Invented placeholders: if a model writes a placeholder that Custodos never issued, there is no value to put back. It then stays in the reply as a placeholder.
This page is a summary. The privacy policy and the DPA (in German) in their current version are authoritative.

Frequently asked questions

Next steps

On this page