Более правильная структура Vault,Storage

This commit is contained in:
2026-05-26 21:12:05 +03:00
parent 04f7e998ff
commit ce70c13f86
12 changed files with 46 additions and 36 deletions

View File

@@ -18,9 +18,9 @@
=== Назначение и цели создания системы
*Назначение* системы Wallenc предоставление пользователю мобильного клиента для управления локальными и удалёнными vault с обязательным клиентским шифрованием содержимого до выгрузки во внешнее хранилище.
*Назначение* системы Wallenc предоставление пользователю мобильного клиента для работы с иерархией *vault → storage → файлы*: один локальный vault на устройстве, удалённые vault по учётным записям провайдера; внутри каждого vault пользователь управляет отдельными storage с обязательным клиентским шифрованием до выгрузки во внешнее хранилище.
*Цели создания*: обеспечить единую модель хранилищ; минимизировать доверие к провайдеру; поддержать расширение списка провайдеров через адаптеры; сохранить метаданные и состояние приложения в локальной БД без хранения пользовательского контента в открытом виде.
*Цели создания*: обеспечить единую модель vault и storage; минимизировать доверие к провайдеру; поддержать расширение списка провайдеров через адаптеры; сохранить служебные метаданные в локальной БД без хранения пользовательского контента в открытом виде.
=== Функциональные требования
@@ -30,23 +30,23 @@
[Свод функциональных требований],
2,
table.header([Код], [Требование]),
[ФР-1], [Создание, просмотр, переименование и удаление локальных vault],
[ФР-2], [Включение шифрования vault, проверка ключа, открытие и закрытие зашифрованного представления],
[ФР-3], [Просмотр и операции с файлами через абстракцию хранилищ; текстовые секреты и 2FA в vault],
[ФР-4], [OAuth-авторизация во внешнем провайдере (Яндекс), учёт удалённых vault],
[ФР-1], [Создание, просмотр, переименование и удаление storage в локальном vault (LocalVault один на устройстве)],
[ФР-2], [Включение шифрования storage, проверка ключа, открытие и закрытие зашифрованного представления],
[ФР-3], [Просмотр и операции с файлами внутри storage; текстовые секреты и 2FA],
[ФР-4], [OAuth-авторизация (Яндекс), регистрация удалённых vault и листинг их storage],
[ФР-5], [Синхронизация: группы хранилищ, журнал коммитов, фоновый Worker без передачи ключей],
[ФР-6], [Очередь фоновых задач: шифрование, синхронизация, отображение прогресса],
) <tbl-req>
==== Управление локальными vault
==== Управление storage в локальном vault
Пользователь создаёт vault, просматривает список, переименовывает и удаляет хранилища. Служебные каталоги и системные пути не отображаются в пользовательском представлении.
Пользователь создаёт storage, просматривает список, переименовывает и удаляет их в единственном `LocalVault`. Служебные каталоги и системные пути не отображаются в пользовательском представлении.
==== Шифрование и открытие зашифрованного vault
==== Шифрование и открытие storage
При включении шифрования формируются параметры `StorageEncryptionInfo`; открытие выполняется только после успешной проверки ключа. Повторное шифрование одного vault до завершения предыдущей операции блокируется.
При включении шифрования формируются параметры `StorageEncryptionInfo`; открытие выполняется только после успешной проверки ключа. Повторное шифрование одного storage до завершения предыдущей операции блокируется.
==== Работа с содержимым vault
==== Работа с содержимым storage
Операции чтения и записи выполняются через единый интерфейс файлового доступа независимо от типа хранилища.