Easy-language drafts of Swiss official texts
Leicht·Facile drafts easy-language versions of Swiss official texts (German Leichte Sprache and Einfache Sprache, French FALC, Italian lingua facile) with a large language model, and proves with code that no deadline, amount or phone number got lost. It is a drafting assistant for the people who write official texts, not a replacement for their review or for the test by readers from the target group.
DeutschLeichte-Sprache-Fassungen von Behördentexten mit einem Sprachmodell nach Wahl; Code prüft jeden Wert, ein Mensch gibt frei.
FrançaisVersions FALC de textes officiels suisses avec un modèle au choix ; le code vérifie chaque valeur, une personne relit.
ItalianoVersioni in lingua facile di testi ufficiali svizzeri con un modello a scelta; il codice verifica ogni valore, una persona rivede.
1.25 million adults in Switzerland aged 16 to 65 (22 percent) have low reading skills (Swiss Federal Statistical Office, PIAAC 2022/2023).
Before and after
A sentence from an official letter, in "Behördensprache" and with three negations. A reader with low reading skills has only one question: do I get my money back? The easy-language version answers it in three short sentences.
Before: the letter
Es ist nicht unwesentlich, dass Kosten, die nicht fristgerecht
geltend gemacht werden, nicht vergütet werden können.
After: easy language
Das ist wichtig:
Melden Sie Ihre Kosten rechtzeitig.
Sonst
bekommen Sie kein Geld zurück.
How it works
The language model does everything that needs language understanding. Plain code does everything that can be counted.
Understand (model)
The document becomes a fact sheet: the reader's core questions, every fact with its exact value, hard words. Code adds every date, amount and contact the model missed.
Write (model)
A draft in easy language, every sentence linked to the source sentences it comes from, every omission explained.
Check (code)
Deterministic rules from the published Swiss guidelines and an exact check of every fact value in both directions: no value lost, no value invented.
Judge (model)
Meaning only: distorted facts, invented statements, metaphors, unclear references.
Repair (model)
Only the flagged sentences, until no blocking finding is left; then one sentence for each must-keep value still missing.
Review (person)
Source and draft side by side, provenance, fact checklist; approve, edit or reject each block, export with an audit trail.
Measured, not promised
The full pipeline against a strong single prompt (a published Leichte Sprache prompt from a Swiss public administration) on the same model: 20 held-out pairs of real German texts published by Swiss cantons and federal offices with their easy-language versions, Apertus on the CSCS endpoint, 12 October 2026.
| A strong single prompt | Leicht·Facile | |
|---|---|---|
| Must-keep facts found | 82 % | 100 % |
| Hard facts lost without a trace | 15 % (33 % in its default mode) | none: it lists every one it misses |
| Invented values, per 100 blocks | 0.0 | 0.0 |
| Rule errors, per 100 blocks | 15.0 | 3.7 |
All numbers and the method: evaluation.md.
Your model, your infrastructure
Leicht·Facile works with any OpenAI-compatible endpoint: a provider's API, a gateway or a model server of your own. Documents and review records stay in a database in a folder the organisation controls. At runtime the app contacts only the model endpoint, and a web page's server when a user enters a URL: no telemetry, no CDN, no login provider.
Why Apertus for confidential texts
A letter that names a person is under official secrecy, a patient letter under medical secrecy, a tax letter under tax secrecy. Such texts need a model that runs where the organisation controls it, with open weights and open training data. Apertus, by EPFL, ETH Zurich and CSCS, meets all of that, and Leicht·Facile was built and evaluated with it (why).
Get started
With uv installed, one command downloads the app from PyPI, starts it and opens the browser:
uvx leichtfacile serve
The app's model page asks for the endpoint and its key: Apertus on the CSCS inference API, the Public AI gateway, a provider such as Anthropic, OpenAI, Google or OpenRouter, or a server of your own (vLLM, llama.cpp, Ollama).
Would your administration like help setting it up? See Support for public administrations.
Read more
- Quick start: installing, servers, offline installs
- A canton's letters and web pages
- Letters that accompany decisions (KESB, courts)
- The rule catalogue
- Architecture
- The package on PyPI
Roadmap
What has shipped since work began in October 2026, and what comes next. Ideas and requests are welcome as GitHub issues. If your administration needs something from the list sooner, or something that is not on it, tell us.
-
0.5 and 0.6 October 2026
German and French
Leichte Sprache, Einfache Sprache and FALC: the fact sheet, the rule checks from the published Swiss guidelines, the judge, the repair loop and the review page; exports as Markdown, HTML and Word with an audit trail. A decision mode for KESB and court decisions keeps the operative part and the appeal instructions. The evaluation on 20 held-out pairs (results above).
-
0.7 October 2026
Any model, one command
On PyPI:
uvx leichtfacile servedownloads and starts the app. It works with any OpenAI-compatible endpoint, with its settings in one file and ready-made presets for Apertus and the large providers. -
0.8 October 2026
Italian
Lingua facile with 28 rules of its own, a tagger built from the Morph-it! lexicon, vocabulary, prompts, interface and an evaluation on Public AI. The app's model page sets up the endpoint and its key.
-
Next
German for Germany and Austria
The rules of the Netzwerk Leichte Sprache and DIN SPEC 33429, each country's spelling with ß, its numbers, dates and phone numbers, and prompts and vocabulary with the words of its authorities. The Swiss variant stays unchanged.
-
Planned
Letters someone else wrote
The person who received a letter, or someone who helps them, uploads it. Code lists every deadline, amount and contact in the letter's own wording, a fixed notice says that only the letter counts, and the explanation gives no advice.
-
Planned
Decisions: detection and long reasoning
The app recognises the type of document instead of asking for the mode, and a further mode condenses long legal reasoning and lists every omission.
-
Planned
More kinds of documents
Discharge letters, lease terminations, penal orders, payment orders, school decisions and information for study participants, each with the periods and values its readers must not miss (use cases).
-
Research
Scanned letters and photos
Apertus 1.5 reads images, but on whole pages it turned IBANs and periods into other plausible numbers. Sent in strips at the scan's resolution, it kept every digit of two test letters. For now, a PDF without a text layer gets a clear error message.
Support for public administrations
Leicht·Facile is free and open source, and you can run it on your own. If you work for a public administration and would like help, we, both authors, support you on a voluntary basis and free of charge:
Putting it into operation
Installation on your servers or in your cloud, connection to your model endpoint (Apertus on your own hardware, the CSCS inference API, Public AI or another provider), hardware sizing, and air-gapped installation, where the app, the model and all data run in a network with no connection to the internet.
Adjustment to your texts
Your terms and vocabulary, the facts your letters must never lose, your house rules for easy language, your types of documents.
Integration
Connection to your document management or case management system.
Evaluation with your own texts
We measure the drafts on your letters and their easy-language versions, with the method behind the results above, so you see what the app does before you start.
Tell us briefly who you are, which texts and languages you have in mind and where the app should run, and we will get back to you.
Or write directly to leichtfacile@gmx.ch.