Warum nicht die ganze App?
Die gesamte Anwendung als Open Source zu veröffentlichen würde es trivial machen, die kompilierte App zu nehmen, die Teile herauszulösen, die den Sync-Betrieb wirtschaftlich tragfähig machen (siehe Abonnement & Preise), und Kopien weiterzuverbreiten, die niemals etwas dazu beitragen, das Relay online zu halten. Der Rest der App — die Benutzeroberfläche, die Browser-Erweiterungen, die AutoFill-Integration — bleibt aus diesem Grund proprietär.
Warum gerade den Sync- und Verschlüsselungscode öffnen?
Weil das genau der Teil ist, dem Sie vertrauen müssen, ohne ihn sonst einsehen zu können. Der ganze Sinn des Designs von MyPwdTool besteht darin, dass der Relay-Server und MyPwdTool als Unternehmen Ihre Daten niemals lesen können — siehe Sicherheit & Verschlüsselung und Synchronisierung für die vollständige Erklärung. Das ist eine starke Behauptung, und starken Behauptungen über Verschlüsselung sollte man nicht einfach Glauben schenken müssen. Die tatsächliche Veröffentlichung von Schlüsselableitung, felderweiser Verschlüsselung, Sync-Envelope-Verschlüsselung und Relay-Protokoll-Client-Code — sowohl für die Swift- (macOS/iOS) als auch die Kotlin-Implementierung (Windows/Linux/Android) — unter der MIT-Lizenz bedeutet, dass jeder genau nachlesen kann, was diese Apps Zeile für Zeile mit Ihrem Master-Passwort und Ihren Daten tun, ohne einer Marketing-Seite vertrauen zu müssen.
Auch das Relay selbst ist quelloffen
Die unten aufgeführten clientseitigen Dateien sind nicht die ganze Geschichte — der Relay-Server, mit dem sie kommunizieren, e2eerelay, war von Anfang an vollständig quelloffen, nicht nur teilweise. Es ist der kleine Go-Server, der die verschlüsselten Sync-Nachrichten zwischen Ihren Geräten speichert und weiterleitet, und seine gesamte Codebasis — keine kuratierte Teilmenge — ist öffentlich unter github.com/ThibaultDucray/e2eerelay. Zwischen dem vollständigen Quellcode des Relays und dem hier veröffentlichten clientseitigen Krypto-/ Sync-Code ist der komplette Weg, den Ihre Daten nehmen — verschlüsselt auf Ihrem Gerät, vom Relay bewegt, auf Ihrem anderen Gerät entschlüsselt — durchgängig für eine Prüfung offen, auch wenn die umgebenden Apps selbst es nicht sind.
Was abgedeckt ist
Jede der folgenden Dateien ist unter MIT lizenziert — siehe die beiliegende
LICENSE-SYNC-CRYPTO.md für die genauen Bedingungen. Alles andere in beiden Apps bleibt
proprietär und wird nicht veröffentlicht. Die untenstehenden Links liefern die echten,
aktuellen Quelldateien direkt aus dem Build dieser Seite — es sind keine Kopien, die
stillschweigend veralten können.
Swift (macOS / iOS)
- LICENSE-SYNC-CRYPTO.md
- CryptoManager.swift — Schlüsselableitung (PBKDF2), DEK-Umhüllung, felderweise AES-256-GCM-Verschlüsselung
- SyncManager.swift — die Sync-Engine: Kopplung, Abfragen, Anwenden eingehender Änderungen, Geräte-Widerruf, Schlüsselrotation
- SyncModels.swift — das Übertragungsformat
- SyncCrypto.swift — die Verschlüsselung der Sync-Nachrichtenhülle (Sync Group Key / AES-256-GCM)
- SyncStore.swift — lokale Sync-Konfigurationsspeicherung
- SyncOutbox.swift — die dauerhafte ausgehende Nachrichtenwarteschlange
- RelayAPIClient.swift — der HTTP-Client für die API des Relays
Kotlin (Windows / Android / älterer Intel-Mac / Linux)
- LICENSE-SYNC-CRYPTO.md
- CryptoManager.kt
- SyncManager.kt
- SyncModels.kt
- SyncCrypto.kt
- SyncStore.kt
- SyncOutbox.kt
- RelayAPIClient.kt
- RelayError.kt
- RelayModels.kt
- Base64Url.kt
- ChallengeResponse.kt
Beide Implementierungen sind gegenseitig Byte für Byte auf ihr Übertragungsformat und ihre kryptografische Ausgabe hin verifiziert, sodass ein macOS-Gerät und ein Windows-Gerät, die dieselbe Sync-Gruppe teilen, nachweislich genau dasselbe Protokoll sprechen — nicht nur „in der Praxis kompatibel".
MyPwdTool