Otevřeš aplikaci na telefonu a záznam, co jsi před chvílí přidal na počítači, tam prostě je. Vypadá to jednoduše, ale zero-knowledge architektura dělá synchronizaci technicky složitější, než u běžné aplikace bez šifrování na klientovi.
Proč to není triviální
Běžná aplikace bez zero-knowledge šifrování prostě uloží data na server a stáhne je na druhé zařízení — server datům rozumí, takže synchronizace je jednoduchá. Aplikace s zero-knowledge architekturou vidí na serveru jen zašifrovaný blok dat, co nedává smysl, dokud ho zařízení s hlavním heslem samo nerozšifruje.
Jak aplikace synchronizaci řeší
Zašifrovaná data se ukládají na server tak, jak jsou — aplikace jen zajistí, že se stejná zašifrovaná verze dostane na všechna tvá zařízení. Rozšifrování probíhá samostatně na každém zařízení zvlášť, pokaždé, když na něm zadáš hlavní heslo — server je jen prostředník pro přenos nesmyslných dat, ne pro jejich zpracování.
Co se stane při konfliktu
Pokud upravíš stejný záznam na dvou zařízeních současně bez připojení k internetu, aplikace při další synchronizaci porovná časová razítka a použije novější verzi — podobně jako to řeší většina moderních cloudových nástrojů, jen s tou navíc vrstvou šifrování na obou koncích.