Ende-zu-Ende-verschlüsselt - auch wenn der Empfänger das Geheimnis anfordert.
Im Anfrage-Flow erzeugt der Empfänger das X25519-Schlüsselpaar lokal. Der Server erhält nur Chiffretext und öffentliche Schlüssel, niemals Klartext oder private Schlüssel. Die bekannten Grenzen browserbasierter Kryptografie dokumentieren wir unten offen.
Der Klartext bleibt im Browser, aber der Server beobachtet schon allein durch den Betrieb des Services einige Dinge.
Wenn du Journalist, Aktivist oder anderweitig einem gut ausgestatteten Gegner ausgesetzt bist: Browser-ausgelieferte Krypto ist nicht das stärkste Werkzeug. Behandle Vault als Komfort-Layer mit dokumentiertem Threat-Model, nicht als Ersatz für die folgenden Praktiken.
Quell-Mirror: gitlab.erseni.net/open-source/secrets-component
Deployter Build: Status-Seite
security.txt: /.well-known/security.txt
Du musst uns nicht glauben welches JavaScript du gerade ausführst. Hier ist die konkrete Kette, die du selbst nachgehen kannst.
curl -s '<script src from DevTools>' | sha256sum Warum von Hand vergleichen, wenn das Script-Tag bereits ein Subresource-Integrity-Attribut (SRI) trägt? SRI lässt den Browser ein Bundle ablehnen, das nicht zum Hash im HTML passt, aber beide stammen aus demselben Deploy: ein kompromittierter Server liefert einfach ein neues Paar. Der Manifest-Hash kommt vom selben Server und teilt diese Grenze. Unabhängig wird die Prüfung erst durch den öffentlichen Mirror: ein getrenntes System mit öffentlich einsehbarer Historie, gleiche die Werte des Manifests also gegen den Mirror-Commit ab und lies den Quellcode dort. Die Skripte der Web Components, die Fremdbibliotheken und die Stylesheets tragen heute keinen SRI-Hash.