Cosa viene cifrato, con cosa, e con quali parametri veri — non "cifratura di livello militare", i numeri esatti. E cosa questo non difende, perché saperlo prima vale più di scoprirlo dopo.
L'esportazione cifrata dei profili (Impostazioni → Backup): un file solo, che porta anche le credenziali salvate, apribile solo con la password scelta al momento.
Da 1.6.4: una cartella di profili può essere protetta con una password propria. Non è un blocco nell'interfaccia — il contenuto è cifrato sul disco allo stesso modo del backup, con le stesse funzioni.
Argon2id trasforma la password in una chiave. È la funzione pensata apposta per questo — a differenza di un digest come SHA-256, costa deliberatamente tempo e memoria a chiunque provi a indovinare la password, noi compresi. I parametri:
La chiave che ne esce cifra il file con XChaCha20Poly1305: cifratura autenticata, quindi un file alterato — anche di un solo bit — non si apre affatto invece di aprirsi in modo corrotto senza dirlo. Il nonce esteso (192 bit, non i 96 di ChaCha20Poly1305 normale) toglie il problema di doverne tenere il conto: se ne genera uno a caso ogni volta e la probabilità di ripeterne uno è trascurabile anche su moltissimi file.
Sblocare una cartella deriva la chiave dalla password — il passaggio lento, apposta — e la tiene solo in memoria del servizio, solo per la sessione corrente: mai scritta su disco, in nessun file temporaneo, in nessuna cache. Ogni volta che lo stato dei profili viene salvato — anche mentre la cartella è "sbloccata" a schermo — il contenuto viene ricifrato e il file in chiaro non ne contiene traccia. Chiudere l'app, riavviare il servizio, spegnere il computer: la cartella torna cifrata, e la password va ridata da capo.
Questa parte conta quanto l'altra, e la scrivo prima che qualcuno la scopra da solo.