@startuml fig_21_encrypt_flow !include _gost-theme.inc.puml scale 3 start :Пользователь включает шифрование; :Сформировать EncryptKey; :Encryptor: шифрование файлов **storage** (IStorageAccessor); :storage.setEncInfo → Room (DbStorageMetaInfo); :checkKey(ключ); if (Ключ верный?) then (да) :IUnlockManager.open(storage) виртуальное представление; :Доступ к файлам storage; else (нет) :Ошибка, storage не открыт; endif stop @enduml