Technik offen erklärt

Absolute Transparenz: Hier steht jede Komponente, die sxMail ausmacht, und was sie mit deinen Daten tut. Alles läuft auf eigener Hardware in deutschen Rechenzentren, ohne Cloud-Anbieter, ohne Drittanbieter-Skripte, ohne externe KI-Dienste.

So hängt alles zusammenAnderes E-Mail-ProgrammThunderbird, Outlook, HandyBrowser, Desktop-App, AndroidEigene Hardware in Deutschlandnginx und CaddyBackend (Node.js)mailcowIMAP, SMTP, Kalender, KontakteDateienWebDAV hinter GatewayKIvLLM, Parakeet, Omnivoice
So hängt alles zusammen
01 / 08

Mailserver

Das Postfach selbst ist mailcow: Postfix nimmt Mails an und stellt sie zu (SMTP), Dovecot hält sie und liefert sie aus (IMAP und POP3), rspamd filtert Spam und lernt aus deinen eigenen Markierungen. Jede Verbindung ist verschlüsselt. Du kannst dieses Postfach mit jedem E-Mail-Programm nutzen, unsere Oberfläche ist nur eine Möglichkeit. mailcow war übrigens nicht von Anfang an dabei: Die ersten Jahre lief sxMail auf einem von Hand zusammengesetzten Mailserver. Inzwischen ist mailcow der Unterbau, weil das Paket gepflegt wird, Updates sauber laufen und ich meine Zeit lieber in die Oberfläche stecke.

  • mailcow
  • Postfix
  • Dovecot
  • rspamd
02 / 08

Web-App

Die Oberfläche ist eine React-Anwendung in TypeScript, gebaut mit Vite und Tailwind CSS. Die öffentlichen Seiten werden beim Bauen als fertiges HTML vorgerendert, damit sie ohne JavaScript lesbar sind. Schriften liegen auf unserem Server, es gibt keine CDNs, keine Analytics und keine eingebetteten Fremdinhalte. Die App lässt sich wie eine native App installieren und liefert Push-Benachrichtigungen. PGP-Verschlüsselung läuft mit OpenPGP.js direkt in deinem Browser, HTML-Mails werden vor der Anzeige mit DOMPurify bereinigt.

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • OpenPGP.js
  • DOMPurify
03 / 08

Backend

Zwischen Browser und Mailserver sitzt unser eigener Dienst in Node.js und TypeScript. Er spricht IMAP (ImapFlow), SMTP (Nodemailer), CalDAV und CardDAV (tsdav) und hält pro Browser eine WebSocket-Verbindung für sofortige Updates. Deine Zugangsdaten bleiben auf dem Server, der Browser bekommt nur ein zufälliges Sitzungs-Token. Fremde Konten bindest du per IMAP und SMTP an, Exchange per EWS, Google und Microsoft per OAuth, jeweils ohne dass wir dein Passwort erfahren.

  • Node.js
  • TypeScript
  • ImapFlow
  • Nodemailer
  • tsdav
04 / 08

Dateien

Dateien liegen auf einem WebDAV-Server. Davor steht ein isoliertes Gateway, das als einzige Komponente die Zugangsdaten zum Speicher kennt und dir pro Sitzung einen kurzlebigen Zugang ausstellt. Freigabelinks werden von demselben Gateway geprüft.

  • WebDAV
05 / 08

KI-Funktionen

Zusammenfassen, Antwortvorschläge, Diktat und Vorlesen laufen auf unserer eigenen Hardware: ein offenes Sprachmodell, das mit vLLM auf eigener Hardware läuft (welches Modell genau, wechselt mit dem Stand der Technik), Parakeet für Spracherkennung, Omnivoice für Sprachausgabe, LanguageTool für die Rechtschreibprüfung. Nichts davon verlässt unser Netz, es gibt keine Verbindung zu OpenAI, Google oder anderen Anbietern. Jede KI-Funktion läuft nur, wenn du sie ausdrücklich auslöst.

  • vLLM
  • Parakeet
  • Omnivoice
  • LanguageTool
06 / 08

Desktop und Mobil

Die Desktop-App für Windows und Linux ist eine Tauri-2-Hülle in Rust um dieselbe Web-App, mit dem WebView des Systems statt eines eingebauten Browsers. Updates holt sie sich selbst, jedes Paket ist mit unserem Schlüssel signiert und wird vor der Installation geprüft. Die Android-App entsteht mit Expo und React Native und ist derzeit eine Alpha-Version.

  • Tauri 2
  • Rust
  • WebView2
  • WebKitGTK
  • Expo
  • React Native
07 / 08

Betrieb

Alles läuft in Docker-Containern hinter nginx und einem Caddy-Proxy am Netzrand. Code wird in unserem eigenen GitLab gebaut und getestet, SonarQube prüft ihn statisch, unser DNS läuft auf eigenem PowerDNS. Fehlerberichte aus App und Server gehen an unsere eigene Bugsink-Instanz, nicht an einen Drittanbieter. Bilder aus fremden Mails lädt ein eigener Proxy, damit der Absender deine IP-Adresse nicht sieht. Das Kontaktformular schützt ein selbst gebautes Proof-of-Work-Captcha ohne externe Dienste.

  • Docker
  • nginx
  • Caddy
  • GitLab CI
  • SonarQube
  • PowerDNS
  • Bugsink
08 / 08

Was noch nicht ist

Der Quellcode ist derzeit nicht öffentlich. Der Windows-Installer trägt keine Code-Signatur, SmartScreen warnt deshalb beim Start. Die Android-App ist eine Alpha-Version. Die offene Registrierung ist wegen Missbrauchs geschlossen, Konten gibt es auf Anfrage und per Empfehlung. Wir schreiben das hier auf, weil Transparenz auch heißt, die Lücken zu nennen.