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
- apertus
- docker
- fastapi
- hugging-face
- javascript
- litellm
- python
- whisper
Log in or sign up for Devpost to join the conversation.