Zum Inhalt springen

Architektur

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

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.

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.