public administration

The decision reaches the model. The citizen does not.

Decisions, summonses, court and land-register letters, applications from foreigners — an office letter names a person and the documents that identify them, in the language of the country and in the form that country writes them. OBVELO replaces each one with a token before any model reads the letter, and puts the real values back into the answer.

what the model receives

5 office letters in 5 languages, masked by the engine

Each letter is invented, written in its country's own language and the way its offices write, and masked exactly as the gateway masks it for a public body: the Public administration preset on and the catalogue narrowed to the letter's country. The right-hand side is not a mock-up — it is the engine's output, regenerated with every release and checked against the engine by a test, so this page cannot show a mask the product no longer makes.

Administrative decision · Czechia · Czech

The applicant is named in the genitive and his licence inside the sentence; both go, while the decision and the appeal period stay readable.

the document
Magistrát města Příkladov — odbor dopravy
Č.j.: MMP 123456/2024
Sp. zn.: SÚ/1234/2024
Vyřizuje: Petra Svobodová, tel. 224 123 456

ROZHODNUTÍ
Magistrát města Příkladov rozhodl o žádosti pana Jana Nováka, rodné číslo 785312/1232, bytem Příkladová 1234/12, 110 00 Praha 1, o výměnu řidičského průkazu takto: žádosti se vyhovuje. Dosavadní řidičský průkaz č. EF 123456 pozbývá platnosti dnem převzetí nového.
Poučení: Proti tomuto rozhodnutí lze podat odvolání do 15 dnů ode dne jeho oznámení.
V Příkladově dne 20.03.2024
the model receives
Magistrát města Příkladov — odbor dopravy
Č.j.: [Reference 1]
Sp. zn.: [CaseNo 1]
Vyřizuje: [Person 1], tel. [Phone 1]

ROZHODNUTÍ
Magistrát města Příkladov rozhodl o žádosti pana [Person 2], rodné číslo [ID 1], bytem [Address 1], o výměnu řidičského průkazu takto: žádosti se vyhovuje. Dosavadní řidičský průkaz č. [License 1] pozbývá platnosti dnem převzetí nového.
Poučení: Proti tomuto rozhodnutí lze podat odvolání do 15 dnů ode dne jeho oznámení.
V Příkladově dne [Date 1]

9 values replaced · stays readable: žádosti se vyhovuje · lze podat odvolání do 15 dnů ode dne jeho oznámení · odbor dopravy

Summons · United Kingdom · English

The court, the council and the amount owed stay; the person, the address, the National Insurance number and the hearing date go.

the document
Example Magistrates' Court
Summons — application for a Council Tax liability order
Our ref: CT/2024/0815
To: Mr John Smith, 12 Example Road, London SW1A 1AA
National Insurance number: AB123456C

Example Borough Council has applied for a liability order against you for unpaid Council Tax of 1,240.00 GBP. You are summoned to appear at Example Magistrates' Court on 14 April 2026 at 10:00.
If you pay the full amount, including costs of 85.00 GBP, before the hearing, no further action will be taken.
Questions: telephone 020 7946 0018 or council.tax@borough.example.
the model receives
Example Magistrates' Court
Summons — application for a Council Tax liability order
Our ref: [Reference 1]
To: [Person 1], [Address 1]
National Insurance number: [ID 1]

Example Borough Council has applied for a liability order against you for unpaid Council Tax of 1,240.00 GBP. You are summoned to appear at Example Magistrates' Court on [Date 1].
If you pay the full amount, including costs of 85.00 GBP, before the hearing, no further action will be taken.
Questions: telephone [Phone 1] or [Email 1].

7 values replaced · stays readable: Example Magistrates' Court · Example Borough Council · 1,240.00 GBP · 85.00 GBP

Letter to a foreign resident · Germany · German

The register number goes behind its label, and the residence title, the passport and the tax ID where the letter names them inside a sentence.

the document
Landesamt für Einwanderung — Ausländerbehörde
Geschäftszeichen: IV B 3 - 1234/24
Frau Amira Haddad
Musterstraße 12, 10115 Berlin
AZR-Nummer: 158247036915

Verlängerung Ihres Aufenthaltstitels
Sehr geehrte Frau Haddad,
Ihr Antrag auf Verlängerung der Aufenthaltserlaubnis nach § 18b AufenthG ist eingegangen. Ihr bisheriger Aufenthaltstitel Nr. Y3M0P7T58 gilt bis zur Entscheidung fort. Bitte bringen Sie zum Termin am 02.04.2026 Ihren Reisepass mit der Nummer C4H7JRK92 und Ihre Steuer-ID 86095742719 mit.

Ihre Sachbearbeiterin: Erika Musterfrau, Zimmer 2.14
the model receives
Landesamt für Einwanderung — Ausländerbehörde
Geschäftszeichen: [CaseNo 1]
[Person 1]
[Address 1]
AZR-Nummer: [ID 1]

Verlängerung Ihres Aufenthaltstitels
Sehr geehrte [Person 2],
Ihr Antrag auf Verlängerung der Aufenthaltserlaubnis nach § 18b AufenthG ist eingegangen. Ihr bisheriger Aufenthaltstitel Nr. [ID 2] gilt bis zur Entscheidung fort. Bitte bringen Sie zum Termin am [Date 1] Ihren Reisepass mit der Nummer [Passport 1] und Ihre Steuer-ID [TaxID 1] mit.

Ihre Sachbearbeiterin: [Person 3], Zimmer 2.14

10 values replaced · stays readable: § 18b AufenthG · Zimmer 2.14 · Ausländerbehörde

Land-register extract · Spain · Spanish

The registered plot, the cadastral reference and the owner go; the size of the flat and the charge on it stay readable.

the document
REGISTRO DE LA PROPIEDAD DE EJEMPLO N.º 12
NOTA SIMPLE INFORMATIVA
Finca registral n.º 34567
Referencia catastral: 9872023VH5797S0001WX
Finca: vivienda en Calle Ejemplo 12, 28001 Madrid, de 85 metros cuadrados.
Titular: D. Juan Pérez García, con DNI 12345678Z, en pleno dominio por compra.
Cargas: hipoteca a favor de Banco Ejemplo, S.A.
Expedida el 20/03/2026
the model receives
REGISTRO DE LA PROPIEDAD DE EJEMPLO N.º 12
NOTA SIMPLE INFORMATIVA
Finca registral n.º [Data 1]
Referencia catastral: [Data 2]
Finca: vivienda en [Address 1], de 85 metros cuadrados.
Titular: [Person 1], con DNI [ID 1], en pleno dominio por compra.
Cargas: hipoteca a favor de Banco Ejemplo, S.A.
Expedida el [Date 1]

6 values replaced · stays readable: 85 metros cuadrados · hipoteca a favor de Banco Ejemplo, S.A. · NOTA SIMPLE INFORMATIVA

Court letter · France · French

The case number and the contested decision's number go with the preset; the identity card is masked in the middle of a sentence.

the document
TRIBUNAL ADMINISTRATIF DE PARIS
Dossier n° 2401234/3-1
M. Jean Dupont
12 rue de l'Exemple, 75011 Paris

Avis d'audience
Monsieur,
J'ai l'honneur de vous informer que votre requête dirigée contre la décision n° 2024-0815 du préfet de police sera examinée à l'audience publique du 14 avril 2026. M. Dupont peut présenter des observations orales. Merci de vous munir de votre carte nationale d'identité n° F7K2M9P14.

Le greffier,
Claire Martin
the model receives
TRIBUNAL ADMINISTRATIF DE PARIS
Dossier n° [CaseNo 1]
[Person 1]
[Address 1]

Avis d'audience
Monsieur,
J'ai l'honneur de vous informer que votre requête dirigée contre la décision n° [Reference 1] du préfet de police sera examinée à l'audience publique du [Date 1]. M. [Person 1] peut présenter des observations orales. Merci de vous munir de votre carte nationale d'identité n° [ID 1].

Le greffier,
[Person 2]

7 values replaced · stays readable: TRIBUNAL ADMINISTRATIF DE PARIS · peut présenter des observations orales · préfet de police

Tokens are shown as label and number. A real token also carries a namespace that changes with every request, so two requests never share one; the mapping that turns them back into names travels with your request and stays with you. These outputs are the rule layer alone — in production the name model runs beside it and can only add masks, never remove one.

what is masked

On by default, in every plan

identity documents

Every number a citizen carries

National, tax and social-security numbers, identity cards, passports, driving licences, residence permits and the European Health Insurance Card — in every jurisdiction the catalogue covers (52), each under the labels its own forms print.

foreigners

Visas, asylum and work permits

Visa numbers, asylum and tolerated-stay documents, work permits and the registration number a foreigner is given — measured in the sentences an office actually writes, not only in form fields.

as a letter writes it

Not only Label: value

A letter inflects the document's name, joins it to the number with a preposition, or puts the number first and the document after it. Each of those is a written form of an office, and each is masked.

your country's documents

The numbers a citizen carries, jurisdiction by jurisdiction

Each family is measured twice: as the line a form prints, under every label that country's forms use, and inside the sentences an office writes — inflected, joined to the number with a preposition, or with the number first. Always with the catalogue narrowed to that one country, so a number is never protected by accident by another country's rule. A single value left in clear fails the build. Where a country uses one number for two purposes — the personal number that is also the social-security and tax number, the residence card that also carries the right to work — the family is covered by that number and the count says so; a country that issues no such document is left out of the count.

  • National numberown number 41 · same number as another 344 of 44
  • Social securityown number 22 · same number as another 3052 of 52
  • Tax numberown number 26 · same number as another 2551 of 51
  • Identity cardown number 36 · same number as another 1046 of 46
  • Passportown number 5252 of 52
  • Driving licenceown number 45 · same number as another 752 of 52
  • Residence permitown number 48 · same number as another 452 of 52
  • EHICown number 3232 of 32
  • Foreigner's numberown number 12 · same number as another 38 · format unconfirmed 150 of 51
  • Visaown number 50 · same number as another 151 of 51
  • Asylum documentown number 22 · same number as another 17 · format unconfirmed 939 of 48
  • Work permitown number 12 · same number as another 3951 of 51
Every one of the 52 jurisdictions, family by family
jurisdictionNational numberSocial securityTax numberIdentity cardPassportDriving licenceResidence permitEHICForeigner's numberVisaAsylum documentWork permit
Argentinayesyesyes= national numberyes= national number= national numbernot issued= national numberyes= national numbernot issued
Australianot issuedyesyesnot issuedyesyesyesnot issuedyes= residence permityes= residence permit
Austriayesyesyesyesyesyesyesyesyesyesyesyes
Belgiumyesyes= national numberyesyesyesyesyes= social securityyesyes= residence permit
Brazilyesyes= national numberyesyesyesyesnot issued= residence permityes= residence permit= residence permit
Bulgariayes= national number= national numberyesyesyesyesyes= residence permityesyes= residence permit
Canadanot issuedyesyesnot issuedyesyesyesnot issued= residence permityes= residence permityes
Chileyes= national numberyesyesyes= national number= national numbernot issued= national numberyes= national number= national number
Chinayes= national number= national number= national numberyes= national numberyesnot issued= residence permityesformat unconfirmedyes
Croatiayes= national number= national numberyesyesyesyesyes= national numberyesyes= residence permit
Cyprus= identity cardyesyesyesyesyesyesyes= residence permityes= residence permit= residence permit
Czechiayes= national number= national numberyesyesyesyesyes= national numberyesyes= residence permit
Denmarkyes= national number= national numbernot issuedyesyesyesyes= national numberyesyes= residence permit
Estoniayes= national number= national numberyesyesyesyesyes= national numberyes= national number= residence permit
Finlandyes= national numberyesyesyesyesyesyes= national numberyesformat unconfirmed= residence permit
Francenot issuedyesyesyesyesyesyesyes= residence permityes= residence permit= residence permit
Germanynot issuedyesyesyesyesyesyesyesyesyesyes= residence permit
Greeceyesyesyesyesyesyesyesyesyesyesyes= residence permit
Hungaryyesyesyesyesyesyesyesyes= national numberyesyes= residence permit
Icelandyes= national number= national numberyesyesyesyesyes= national numberyes= national number= national number
Indiayesyesyesyesyesyesyesnot issuedformat unconfirmedyesnot issued= visa
Irelandyes= national number= national numbernot issuedyesyesyesyes= national numberyesyesyes
Israelyes= national number= national number= national numberyesyes= national numbernot issuednot issuedyes= passport= visa
Italy= tax number= tax numberyesyesyesyesyesyesyesyesyes= residence permit
Japanyesyes= national number= national numberyesyesyesnot issued= residence permityes= residence permit= residence permit
Latviayes= national number= national numberyesyesyesyesyes= national numberyes= national number= residence permit
Liechtensteinyesyes= national numberyesyesyesyesyes= national numbernot issuedformat unconfirmed= residence permit
Lithuaniayes= national number= national numberyesyesyesyesyes= national numberyesformat unconfirmed= residence permit
Luxembourgyes= national number= national numberyesyesyesyesyes= national numberyesformat unconfirmed= residence permit
Malta= identity cardyes= identity cardyesyes= identity cardyesyes= residence permityesformat unconfirmed= residence permit
Mexicoyesyesyesyesyesyesyesnot issued= national numberyes= national number= residence permit
Netherlandsyes= national numberyesyesyesyesyesyesyesyesyesyes
Norwayyes= national number= national numberyesyesyesyesyesyesyes= foreigner's number= residence permit
Polandyes= national numberyesyesyesyesyesyes= national numberyesyesyes
Portugalyesyesyesyesyesyesyesyes= national numberyesformat unconfirmed= residence permit
Romaniayes= national number= national numberyesyesyesyesyes= national numberyes= national number= national number
Russianot issuedyesyesyesyesyesyesnot issued= tax numberyesyesyes
Singaporeyes= national number= national number= national numberyes= national numberyesnot issued= residence permityesnot issuedyes
Slovakiayes= national numberyesyesyesyesyesyes= national numberyesformat unconfirmed= residence permit
Sloveniayes= national numberyesyesyesyesyesyes= national numberyesyes= residence permit
South Africayes= national numberyes= national numberyesyes= national numbernot issued= national numberyesyes= visa
South Koreayes= national numberyes= national numberyesyesyesnot issued= residence permityes= residence permit= residence permit
Spainyesyes= national numberyesyes= national numberyesyes= residence permityes= residence permit= residence permit
Swedenyes= national number= national numberyesyesyesyesyes= national numberyesyes= residence permit
Switzerlandnot issuedyes= social securityyesyesyesyesyesyesyesyes= residence permit
Taiwanyes= national number= national number= national numberyes= national numberyesnot issued= residence permityesnot issuedyes
Thailandyes= national number= national number= national numberyesyesyesnot issuedyesyesformat unconfirmedyes
Türkiyeyes= national numberyesyesyesyesyesnot issued= residence permityes= residence permit= residence permit
Ukraineyes= national numberyesyesyesyesyesnot issued= national numberyesyes= residence permit
United Arab Emiratesyes= national numbernot issued= national numberyesyesyesnot issuedyesyesnot issuedyes
United Kingdomnot issuedyesyesnot issuedyesyesyesyesyesyesyes= residence permit
United Statesnot issuedyesyesnot issuedyesyesyesnot issuedyesyesyesyes

yes: measured as a form line and in office sentences, held at no value in clear. = another family: the country uses that number for this purpose too, and it is measured there. not issued: the country has no such document. format unconfirmed: the document exists and we could not confirm how its number is written, so it is not claimed. Clinical numbers are on the healthcare page.

one click in your account panel

The Public administration preset

The identifiers above are masked without it. Choose Public administration in the account panel and it ticks these groups: case and file references, decision numbers and dates and times — what an office letter carries beyond the identifiers: case references, decision numbers, file signatures, and the dates in the letter. Every group it ticks can be seen and changed.

with the preset

Case references and decision numbers

Behind the labels offices print — Geschäftszeichen, Č.j., Our ref, Dossier n° — and where a sentence names the decision right before its number. Court case and land-register numbers are masked even without the preset. All of them are measured in office letters from Austria, Czechia, Germany, Spain, France, United Kingdom, Italy, Netherlands and Poland.

without the preset

Why references are not on by default

A file number identifies a file, not a person, and a model often needs it to answer — which decision, which appeal. An office that sends letters about people switches it on; a team that sends only its own procedures may not want to.

stays readable

The decision itself

What was decided, on which legal basis, the appeal period, the fee, the court and the authority — the content the model is asked about stays as written. The letters above show it line by line.

measured on documents we did not write

848 judgments and legal texts, annotated by others.

848

documents from MAPA, Nemotron-PII and TAB

11 265

values the product owes those documents under this preset

21

languages

1 725

sentences an office writes about a person, none left in clear

held-out test split, never used for tuning · each value judged by position: protected only when every letter and digit of it is masked · layer: rule layer · the office sentences are checked on every engine change: a single value left in clear fails the build

how an office connects it

Where your letters already go to a model

base URL

A system that lets you set the model's address

A case-management system, a drafting assistant, a citizen chatbot: point it at the gateway and add one header. Requests are masked on the way out and restored on the way back.

SDK

Your own code

TypeScript, Python or .NET, including .NET Framework add-ins. The SDK only restores — masking stays on the gateway, where one release reaches every caller. Read the docs.

people at a desk

Clerks who paste into a chat window

The browser add-on masks the prompt before it leaves the page and the attachment before the site sees it — included in every paid plan — enterprise, starter, standard, pro — at no extra price and with no seat count; it uses the plan's characters like any other caller. See the add-on.

inside your perimeter

Running it on your own servers

From the Pro plan the whole gateway can run in your own infrastructure, set up with you on request. Hosted by us, it runs in the EU with EU and EEA sub-processors only, and stores nothing from request content.

Scanned letters and photographed forms are read on plans with the OCR add-on (Pro and Enterprise); a docx, xlsx, pptx, csv or txt comes back masked and still opens. See it on real files.

honest limits

What it does not do, said before you find out

  • The name model matters for names in prose. The examples and the measured counts on this page are the rule layer. The name of a party cited in case law, with no first name and no title, is the name model's job; it runs in production, and its own figures are not part of these counts.
  • A phone number with nothing announcing it stays readable. Written after a word such as telephone, or with its international prefix, it is masked; a bare domestic number in the middle of a sentence is not — on purpose, because without the word a rule cannot tell it from a reference or an amount.
  • A surname after a courtesy title can get a token of its own. It is masked, but today a salutation such as Frau Haddad may not share the full name's token — the letter to a foreign resident above shows it — so the model can read two people where the letter means one.
  • Scans are only as good as the reading. A value the OCR reads exactly is masked; a value read with damage — a digit lost, two letters swapped — may no longer match any rule and can go out in clear. It happens on low-resolution scans and phone photographs, so scan at a good resolution.
  • The coverage table is a statement about the labels and sentences we measured. They are ours, written country by country; a form label or a turn of phrase we did not list may not be recognised. Tell us yours and it is measured before it is promised.

Keep the case. Keep the citizen out.

A pilot on your own letters, or running it inside your perimeter: office@obvelo.com