Architektur
Komponenten
Abschnitt betitelt „Komponenten“| Schicht | Technologie | Aufgabe |
|---|---|---|
| App | Swift, SwiftUI, TextKit 2 | macOS-Oberfläche, Editor, Ansichten und Systemintegrationen |
| Kern | Rust, UniFFI | Kryptografie, CRDT-/Sync-Logik, Storage-Verträge und plattformübergreifende Funktionen |
| Lokal | libSQL | Verschlüsselte Seiten, Metadaten, Tabellenzeilen, Anhänge und Versionen |
| Relay | Cloudflare Workers, Durable Objects, D1, R2 | Räume, signierte Mitgliedschaften, verschlüsselte Updates und Blobs |
| Admin | TanStack Start, React | Betriebsmetriken, Public-Key-Verzeichnis und Entitlements ohne Zugriff auf Notizinhalte |
Datenfluss
Abschnitt betitelt „Datenfluss“Die Vault-Struktur und Seitenkörper sind getrennte kollaborative Dokumente. Metadatenkatalog und native Tabellenzeilen werden so projiziert, dass Seitenleisten, Suche und große Tabellen begrenzt laden können. Der lokale Store ist arbeitsfähig, bevor eine Netzwerkverbindung besteht.
Kryptografie
Abschnitt betitelt „Kryptografie“Eine Passphrase leitet mit Argon2id einen Schlüssel ab, der den eigentlichen Vault-Datenschlüssel umhüllt. Inhaltsdaten werden mit XChaCha20-Poly1305 verschlüsselt. Auf einem vertrauenswürdigen Mac kann der Datenschlüssel für stilles Entsperren im Schlüsselbund liegen. IDs, Sortierschlüssel und Zeitstempel dürfen zur lokalen Ordnung und Synchronisation unverschlüsselt bleiben; Inhalte, Schemas, Werte und Ansichtsregeln nicht.