Privacy and compliance · 2026-09-25

How to redact sensitive data before sending it to EVREN

Ways to remove personal and confidential information from text, documents and images sent to EVREN: which fields cause trouble, the difference between masking and pseudonymisation, and reducing data while keeping context.

Flow in which names, phone numbers and ID numbers in a document are replaced with placeholders, sent to EVREN, and restored on the server after the answer returns.

Short answer

Content you send to EVREN is processed as it is, and there is no public text on how long EVREN keeps content or for what purpose. Requests are also tied to an account verified through e-Devlet. Taken together, the most reliable safeguard is to remove data the task does not need before it is sent. Hosting in Turkey tells you where data is processed; it does not tell you how long it is kept or who can access it.

We recommend using EVREN through LLMTR: you register your own EVREN key once in Settings, and the same code then reaches both EVREN models and the rest of the catalog. The key stays yours, and EVREN's own logging and retention policy still applies unchanged.

Where sensitive data sits in a request

The sentence a user types is only one part of a request. The same request carries the system instruction, earlier messages, the result a tool returned, the text of an attached file and any writing inside an image. Redaction that looks only at the last message lets the rest through untouched.

The fields that come up most often are these:

  • Identity data: Turkish national ID number, passport number, date of birth.
  • Contact data: phone number, email address, street address.
  • Financial data: IBAN, card number, customer and contract numbers.
  • Special categories of personal data: health, religion, union membership and the other information Turkish data protection law protects separately.
  • Technical secrets: API keys, session cookies, internal system addresses, database connection strings.

Masking versus pseudonymisation

Masking deletes a value outright: a phone number turns into asterisks and never comes back. Pseudonymisation replaces each value with a consistent placeholder, so the same person appears under the same label throughout the text. The model can follow relationships, summarise and classify without knowing who anyone is.

The mapping table stays on your server and is never part of a request. When the answer arrives, the placeholders are turned back into real values. The example below is the simplest form of this arrangement; three patterns are not enough for a real application, but they show the flow.

Sending with consistent placeholders and restoring them

import re

# For a task that does not need identity: the same value always gets the
# same placeholder, and the mapping table stays on your server.
PATTERNS = {
    "NATIONAL_ID": r"\b[1-9]\d{10}\b",
    "EMAIL": r"\b[\w.+-]+@[\w-]+\.[\w.-]+\b",
    "PHONE": r"(?:\+90|0)?\s?5\d{2}\s?\d{3}\s?\d{2}\s?\d{2}",
}

def pseudonymise(text: str) -> tuple[str, dict[str, str]]:
    mapping: dict[str, str] = {}
    for label, pattern in PATTERNS.items():
        for value in dict.fromkeys(re.findall(pattern, text)):
            token = f"[{label}_{len(mapping) + 1}]"
            mapping[token] = value
            text = text.replace(value, token)
    return text, mapping

def restore(text: str, mapping: dict[str, str]) -> str:
    for token, value in mapping.items():
        text = text.replace(token, value)
    return text

masked, mapping = pseudonymise(user_text)
# masked goes to EVREN; mapping is never part of a request.
answer = restore(call_model(masked), mapping)

Reducing data while keeping context

The cost of redaction done badly is answer quality. Deleting the age from a health application outright can remove information the model needs to weigh. In most cases the better path is to give the same information in a less identifying form: an age band instead of a date of birth, a district instead of a street address, the relevant clause instead of the whole contract.

Some tasks genuinely need identity, such as a letter addressed to a specific person or correcting a list of names. In that case the decision is not how to shrink the data but whether that task should be sent to EVREN at all.

Images and documents

Five of the seven EVREN rows in the catalog accept images: Gemma 4 31B, Qwen3.8 Flash Next, Qwen3 VL 30B, MiMo V2.6 Pro and DeepSeek V4.1 Flash TR. A screenshot can carry things the sender did not notice: a customer name in a browser tab, a session cookie in a corner, a table in the background. Because the model can read the writing in an image, everything visible is as exposed as text.

A blur layer added in an interface does not remove the pixels underneath; the image has to be cropped or the area covered permanently. File metadata that carries location and device information in photos should also be stripped before sending.

Seeing that redaction works

Regular expressions catch the best-known formats, but not everything: a number written with spaces, a name embedded in running text, a different date format can slip through. The way to see whether redaction works is to prepare synthetic examples that deliberately contain sensitive data and look at what is left in the output. Testing with real customer data defeats the purpose of the test.

The answer side needs the same care. Models sometimes alter or merge placeholders, and the restore step should not silently skip a label it cannot match. Copying the restored answer into error tracking or analytics tools means the data you just removed leaves through another door.

Frequently asked questions

Should I use EVREN directly or through LLMTR?

We recommend using EVREN through LLMTR. Your requests still go to EVREN on your own EVREN key and LLMTR charges nothing for them; the difference is that the same code also reaches the other models in the catalog. EVREN's logging and retention policy is not affected by the choice.

Is redaction needed when sending to a Turkey-hosted model?

Yes. Hosting location tells you which country data is processed in; it does not say how long it is kept, who can access it or what it is used for. Data minimisation is independent of those questions.

Does one regular expression catch all personal data?

No. Patterns catch known formats; names, addresses inside free text and unusual spellings also need dictionaries, field-level checks and sampling.

Does answer quality drop when text is sent with placeholders?

For tasks that do not need identity, such as summarising, classifying and extracting clauses, consistent placeholders preserve the structure of the text. Comparing masked and unmasked results on your own examples still gives the most accurate answer.

Related posts