Inspiration

Swiss companies want to use the strongest language models on their notes, documents, slides and meetings, which are often held in Swiss German. But those models run on US clouds, and client names, amounts and projects must not go there. I heard this again and again in a Swiss founders' community I am part of.

What it does

Clausus is one layer that every model call passes through. It transcribes Swiss German audio on the company's own side, reads slides and text, finds what is confidential (people, companies, projects, places, amounts, dates, contact data) and replaces it with placeholders. The answering model only sees [PERSON_1] or [AMOUNT_1]. The originals stay in a vault and are put back at the end. Every run leaves a receipt of each call that left Clausus. It runs as its own app (playground, chat, API) or as a guardrail in a LiteLLM proxy in front of any OpenAI-compatible model. If Clausus is down, nothing gets through.

How I built it

Detection runs on Apertus 1.5 in five layers: rules, a broad 70B pass, a narrow 8B person pass, a 70B names pass and a 70B judge. Speech runs locally with a Swiss German Whisper model. On a held-out set of 24 invented business texts the first measurement leaked 2.6 % of confidential spans, Microsoft Presidio leaked 51.8 % on the same set.

Challenges

Long texts leaked more until I split them into sections. Misheard names in Swiss German audio are a privacy problem, not only a quality one.

What's next

Fine-tuning Apertus for this task in general, then packages per sector (SMEs, trust companies, medical practices), with the option to go one step further for a single company.

Full report: https://github.com/jou2512/clausus/blob/main/track_2b/Clausus_Report.pdf

Built With

Share this project:

Updates

Submission history