Security first, not last.
Sicherheits-Eigenschaften werden vor dem Feature designt, nicht danach drangeklebt. Krypto, TLS-Validierung, Sandbox und Logging-Verbote stehen früher im Pull-Request als die Erstellung der Datei.
FOLD ist ein nativer E-Mail-Client für Menschen, die ihre Postfächer ernst nehmen. Entwickler, Wissenschaftler, Journalisten, Sysadmins. Sicherheit ist kein Polish-Schritt, sondern Architektur-Constraint.
Die meisten Mail-Clients verkaufen dich an Werbenetzwerke, importieren halb das Web als Dependency, blenden ständig Banner ein und nennen das Produktivität. FOLD geht den anderen Weg. Wenig Code, wenig Oberfläche, wenig Annahmen.
Eine Antwort beginnt nur mit dem An-Feld. Cc, Bcc, Anhänge, Verschlüsselung erscheinen erst auf Geste oder Tastenkürzel. Was sichtbar ist, muss sich seine Sichtbarkeit verdienen.
Command Palette per ⌘K. Suche mit Operator-Syntax (from:, has:attachment, before:2024-06, /regex/). Header-Inspektor auf Knopfdruck. Mausarbeit ist optional.
Alle Mails liegen lokal. Eigene IMAP-Engine in Swift. Eigener 4-Tier-Storage. Kein Cloud-Sync-Dienst, der mitliest. Du behältst deine Daten.
Senden lässt sich im Countdown zurücknehmen. Entwürfe schreiben sich selbst — lokal zuerst, dann in den Entwürfe-Ordner. Antworten kommen von der richtigen Adresse, auch bei einem Dutzend Aliasen. Gesendetes landet sauber im Sent-Ordner deines Servers.
Diese vier Sätze stehen wörtlich in unseren Sicherheits-Dokumenten. Sie sind keine Marketing-Lyrik, sondern Entscheidungsregel im Pull-Request.
Sicherheits-Eigenschaften werden vor dem Feature designt, nicht danach drangeklebt. Krypto, TLS-Validierung, Sandbox und Logging-Verbote stehen früher im Pull-Request als die Erstellung der Datei.
Eine Fremdabhängigkeit kommt nur rein, wenn wir die Primitive nicht selbst korrekt bauen können und die Quelle vertrauenswürdig ist. Im MVP: ausschließlich Apple-System-Frameworks. Kein swift-crypto, kein libetpan, kein JSON-Helfer-Paket.
TLS · Keychain · App Sandbox · Hardened Runtime · Code Signing · optional Fortress-Mode mit Argon2id + AES-256-GCM. Wenn eine Schicht fällt, halten die anderen.
Wenig Code. Wenig Dependencies. Wenig Entitlements. Wenige Daten unnötig im Speicher. Sensible Buffer werden nach Gebrauch mit Null-Bytes überschrieben. JavaScript in HTML-Mails ist hart deaktiviert.
Vier Ansichten, die zeigen, was FOLD in der Praxis ausmacht: tastatur-orientiert, transparent gegenüber dem Protokoll, ohne Ablenkung.
Mailbox · Mail-Liste · Mail-Detail. Hardware-Keyboard und Trackpad first. Auf iPadOS dasselbe Drei-Spalten-Layout, keine Mobile-Approximation.
Alles, was sich tun lässt, ist eingetippt erreichbar. Such-Operatoren wie from:, has:attachment, before:2024-06 und /regex/ inline.
Raw IMAP/SMTP-Trace per Tastatur. Lebt im RAM-Ring-Buffer, nie auf Disk. Für die, die wissen wollen, was über die Leitung geht.
Mails zu Threads gefädelt über die JWZ-Engine (References/In-Reply-To, Betreff-Drift normalisiert), gelesen als gestapelter Verlauf. Account-übergreifend sicher über die Message-ID — nie über die UID.
Jede Aktion in FOLD läuft über eine einzige Schicht. Kommandozeile, Shortcuts, Widgets und Filter sprechen damit dieselbe Sprache: Was du im Terminal tust, erledigt auch ein Knopfdruck im Widget. Nichts davon ist nachträglich drangeschraubt.
$ foldmail search 'from:alerts@acme.dev is:unread before:2026-01' --json \
| jq -r '.[].id' \
| xargs foldmail flag --readGit-artige Subcommands: accounts, mailboxes, search, read, flag, delete, compose, send, outbox. Stabiles --json-Schema, --quiet für reine IDs, definierte Exit-Codes: 0 Erfolg, 2 ungültige Query oder ID, 3 kein Treffer. Fügt sich nahtlos in jq, xargs und deine Skripte.
Filter sind deklarative Regeln, deren Bedingung exakt die Such-Grammatik ist, die du ohnehin kennst. Jede destruktive Batch-Aktion erzwingt eine Trockenlauf-Vorschau, die vorher zeigt, was passieren würde. Markieren, als gelesen setzen und Löschen laufen heute; Verschieben und Auto-Antworten (mit RFC-3834-Schleifenschutz) sind in Arbeit.
Geplant: Über App Intents wird jede foldmail-Aktion in Apples Automatisierung verfügbar — Kurzbefehle, Sprache, Spotlight. Ohne Brücken, ohne Plugins. Das gemeinsame Action-Layer dafür steht bereits.
Geplant: interaktive Widgets — Ungelesen-Zähler, Posteingangs-Vorschau, Thread-Wächter, mit Knöpfen, die direkt handeln. Auf dem Sperrbildschirm standardmäßig nur Zahlen, Inhalte nur auf Wunsch.
Eine Grammatik, ein Parser: Die Befehlsleiste (⌘K) und das foldmail-CLI nutzen ihn heute, die Filter-Engine baut auf exakt derselben Schicht auf — eine Filterregel ist nichts anderes als eine gespeicherte Suche plus Aktion. Von Stichwort über /regex/ bis BM25-Relevanz, account-übergreifend (interne Messung auf Apple Silicon im Millisekunden-Budget).
from:ci@acme.dev has:attachment file:pdf after:2026-01 -is:read
subject:"deploy failed" OR body:/timeout|5\d\d/
size:>10M in:work account:allfrom:, to:, subject:, body:, has:attachment, file:pdf, size:>10M, before:/after:, is:unread, label:, list: — dazu account:, from-identity:, in:Archiv und relative Daten wie before:30d. Auf Deutsch genauso: von:, betreff:, ist:ungelesen, vor:30d. Kombinierbar mit UND, ODER, Klammern und - zum Ausschließen.
Reichen Stichwörter nicht, filtert /regex/ direkt im Suchfeld nach. Exakte Phrasen in Anführungszeichen. Dieselbe Grammatik treibt UI, CLI und Filter.
Ergebnisse nach Datum oder BM25-Relevanz. Volltext über FTS5 in ≤ 200 ms, über alle Accounts in einem Rutsch.
IMAP, SMTP und SASL sind selbst in Swift auf Network.framework gebaut — keine C-Bibliothek, keine externe Abhängigkeit.
Nach dem ersten Abgleich merkt sich FOLD den Server-Stand (HIGHESTMODSEQ). Jeder weitere Sync zieht über CONDSTORE (RFC 7162) nur neue Mails, geänderte Flags und serverseitige Löschungen — das Delta statt der ganzen Mailbox. Fehlt dem Server die Extension, fällt FOLD sauber auf Voll-Sync zurück.
FOLD hält den Posteingang über IMAP IDLE (RFC 2177) offen — neue Mail meldet der Server selbst, ohne Polling-Takt. Server ohne IDLE bedient FOLD über einen sauberen Polling-Fallback.
Ein Actor pro Konto und pro Speicher-Tier. Der Listen-Index liegt memory-mapped in festen 128-Byte-Slots — 500.000 Mails passen in rund 64 MB, ohne JSON im Scroll-Pfad. 0 externe Dependencies, nur Apple-System-Frameworks.
Du gibst deine Adresse ein, FOLD findet die Server selbst. Eine sechsstufige Erkennung greift der Reihe nach: bekannte Provider, signierte FOLD-Datenbank, DNS, Mozilla-ISPDB. Bevor verbunden wird, siehst du, mit welchen Servern, ohne stille Verbindung.
Cache, eingebaute Provider, signierte FOLD-DB, DNS-SRV (DNSSEC-fähig), Mozilla-ISPDB, dann manuell. Rund 15 Provider sind eingebaut, von Gmail und Outlook bis Posteo, Mailbox.org und Proton Bridge.
Die offene Provider-Datenbank ist Ed25519-signiert. FOLD verifiziert die Signatur, bevor auch nur ein Byte geparst wird. Die Daten sind öffentlich (CC0), die Server siehst du immer vor dem ersten Connect.
OAuth2 mit Pflicht-PKCE für Google und Microsoft, inklusive Office 365 und persönlicher Konten. Kein Client-Secret in der App. Tokens erneuern sich selbst, parallele Anfragen werden zusammengefasst.
Mehrere Konten, pro Konto mehrere Alias-Identitäten. Antwortest du, wählt FOLD automatisch die Adresse, an die die Mail ging, mit Fallback und Opt-out pro Alias.
S/MIME und OpenPGP — kein Roadmap-Versprechen, sondern ausgeliefert und byte-genau gegen echtes gpg und openssl geprüft.
Über die System-CMS-API. Empfänger-Zertifikate ernten, .p12/.cer importieren, Vertrauen via SecTrust. Eine gültige Signatur, deren Zertifikats-Adresse nicht zum Absender passt, wird auf »nicht vertrauenswürdig« herabgestuft.
RFC 9580 mit Ed25519, X25519, AES-256-OCB. Plus RSA-Legacy, damit der bestehende Schlüssel deines Gegenübers kein Hindernis ist. MDC-Pflicht gegen EFAIL, konstante Laufzeit beim Entschlüsseln. Kaputte Pfade — MD5, SHA-1, CAST5, IDEA, 3DES — bleiben bewusst draußen.
Schlüssel in FOLD erzeugen (Ed25519 + X25519) oder aus GnuPG importieren (pubring.kbx). Private Schlüssel ruhen Argon2id-gewrappt im Keychain-gebundenen Tresor.
Verschlüsselungsoptionen erscheinen erst, wenn ein Empfänger einen Schlüssel hat — die Empfänger-Pills färben sich live nach Verschlüsselbarkeit.
FOLD ist in aktiver Entwicklung. 2026 öffnen wir Early Access für ausgewählte Tester — trag deine Adresse ein, wir melden uns, sobald ein Platz frei wird.
Jede Schicht hat eine eigene Aufgabe und einen eigenen Test. Wenn ein Angreifer eine durchbricht, steht die nächste. Wenn zwei kippen, hält die dritte.
Strikte Zertifikats-Validierung. Min TLS 1.2, bevorzugt 1.3. Kein Auto-Accept. Optional Cert Pinning pro Account mit Fingerprint-Anzeige.
OAuth2-PKCE bevorzugt vor Passwort. SASL: SCRAM-SHA-256 > XOAUTH2 > CRAM-MD5 > PLAIN. PLAIN nur über TLS.
App Sandbox + Hardened Runtime. Minimale Entitlements: network.client, files.user-selected, keychain. Kein disable-library-validation.
Tokens nur im Keychain, gebunden ans entsperrte Gerät. Kein iCloud-Sync, nie in UserDefaults oder Plist.
JavaScript in HTML-Mails ist hart deaktiviert. Externe Inhalte laden nie automatisch, Anhänge bekommen das Quarantäne-Bit, beim Hover steht das echte Linkziel. Gehärteter MIME-Parser mit Tiefenlimit.
Wer mehr will als FileVault: App-Level-Verschlüsselung pro Account. Aus deiner Passphrase leitet Argon2id (64 MiB, 3 Runden) einen 256-bit-Master-Key ab, der nur im RAM lebt. Pro Account ein HKDF-Subkey, AES-256-GCM über den Body-Cache. Bei Inaktivität sperrt sich der Tresor und wischt den Schlüssel aus dem Speicher.
Vollständig dokumentiert und belegt: S/MIME und OpenPGP gegen echtes GnuPG und OpenSSL geprüft, eigenständige DKIM-Verifikation gegen den RFC-8463-Realvektor, Threat-Model nach MITRE ATT&CK + D3FEND, CVE-Test-Suite gegen EFAIL & Co., Fuzzing für die MIME-Parser. Coordinated Disclosure willkommen.
Sicherheits-Dossier lesenFOLD verifiziert DKIM eigenständig — Body-Hash, DNS-Schlüssel, Header-Kanonisierung, Signaturprüfung. Kein blindes Vertrauen in einen fremden Authentication-Results-Header.
Eigenständige DKIM-Verifikation nach RFC 6376/8463, byte-genau gegen den RFC-Realvektor. RSA und Ed25519. Der DNS-Lookup piggybackt auf den ohnehin offenen Body-Abruf — kein Netz beim bloßen Öffnen.
FOLD richtet das selbst geprüfte DKIM-Ergebnis und das aus dem Authentication-Results-Header gelesene SPF gegen das sichtbare Von: aus (RFC 7489). Erst dieses Alignment macht aus einer Signatur einen Echtheits-Beweis.
Ist alles echt, siehst du nichts — das ist der Normalfall. Nur eine Lücke oder ein Spoofing-Verdacht wird dezent markiert; das Detail liegt im Sicherheits-Inspektor, pro Signatur (d=, Selector, Algorithmus). Mailing-Listen werden gedämpft, damit der Hinweis nicht abstumpft.
BIMI bringt das verifizierte Marken-Logo echter Absender. Das Fundament steht; ein Logo erscheint nur, wenn ein gültiges Markenzertifikat es gegen eine anerkannte CA deckt und die DMARC-Policy durchsetzt. Niemals ein nacktes, ungeprüftes SVG. Die Anzeige folgt vor dem Beta.
Geschwindigkeit in der Kurzform gegen den typischen Cloud-Mail-Client. Sicherheits-Architektur in der Kurzform gegen die fünf bekanntesten Konkurrenten. Volle Matrix mit Quellen auf der Sicherheits-Seite.
FOLD-Werte aus internen Performance-Targets. Werte des typischen Cloud-Mail-Clients als qualitative Erfahrungsreferenz, ohne Bezug auf ein konkretes Produkt.
Stand: Juni 2026. Belegquellen pro Spalte in der vollen Matrix.
Keine Cross-Plattform-Wrapper. Keine Web-Views, die als App verkauft werden. Eine echte native App, gebaut auf den Frameworks, die das Betriebssystem schon hat.
Interne Messung auf Apple Silicon gegen einen synthetischen 500.000-Mail-Korpus (Juni 2026). Die 8,5 ms messen das Öffnen des Stores samt erstem Index-Snapshot, nicht den App-Kaltstart; dessen Budget liegt bei ≤ 300 ms und gilt geräteübergreifend, nicht nur im Optimum.
Der Body-Cache adressiert jede Mail über ihren SHA-256-Hash. Zwei Effekte: Identische Inhalte liegen nur einmal auf der Platte, und ein nachträglich veränderter Body fällt beim Laden sofort auf, weil der Hash nicht mehr passt. Dazu drei weitere Tiers: HotIndex (mmap) fürs sofortige Scrollen, HeaderStore (SQLite WAL) und SearchIndex (FTS5).
Die macOS-App (13 Ventura aufwärts) ist heute voll bedienbar. iOS und iPadOS (16 aufwärts) teilen sich denselben Kern und sind in Entwicklung — als First-Class-Ziel mit Drei-Spalten-Layout, Hardware-Keyboard, Trackpad-Hover und Drag-and-Drop, nicht als Mobile-Approximation. Sie kommen nach macOS.
Weil jede Dependency Angriffsfläche ist. CryptoKit, Security, Network und SQLite liefern alles, was wir brauchen, in auditierter Apple-Qualität. Wer Swift lesen kann, kann unseren gesamten Code lesen. Niemand muss sich auf den Build-Output eines fremden Maintainers verlassen.
S/MIME über die System-CMS-API; Identitäten (.p12) und Empfänger-Zertifikate lassen sich importieren. OpenPGP nach RFC 9580 mit modernem Kern — Ed25519, X25519, AES-256-OCB, SHA-256/512, HKDF — plus RSA-Legacy für Bestands-Schlüssel, gegen echtes gpg verifiziert. Bewusst draußen bleiben die kaputten Pfade: MD5, SHA-1, CAST5, IDEA, 3DES. Aus genau denen kamen die meisten OpenPGP-CVEs der letzten 20 Jahre. Eingehende RSA-Mail wird durch MDC-Pflicht und konstante Laufzeit eingehegt.
Der Code ist proprietär, Vertrieb über Datargo GmbH. Aber er ist nicht ungeprüft: Engine und Krypto sind gegen echte Server und Werkzeuge (Dovecot, gpg, openssl) und gegen RFC-Vektoren verifiziert; FoldCore und FoldUI tragen zusammen über 1.700 grüne Tests. Externer Security-Audit vor Beta, Bug-Bounty in Vorbereitung. Pull-Requests gegen die Provider-DB werden öffentlich kuratiert.
Preise stehen noch nicht fest. Geplant ist ein einmaliger Kauf pro Plattform plus ein optionales Abo für Komfort-Features (Provider-DB-Updates, Backup-Sync). Kein Werbe-Geschäftsmodell, niemals.
Sie bleiben auf deinem Gerät. FOLD verbindet sich nur mit den Mail-Servern, die du selbst konfigurierst, und mit unserer signierten Provider-DB für die Auto-Konfiguration. Keine Telemetrie. Keine Crash-Reporter, die Mail-Inhalte mitschicken könnten.
Schreib uns deine E-Mail-Adresse. Du bekommst eine kurze Bestätigung, sobald wir den Test-Slot vergeben können. Keine Newsletter, keine Werbung, kein Tracking-Link.
Öffnet dein Mail-Programm, keine Server-Verarbeitung.