# ESP32S3 как личное файловое хранилище SHiNE

## Горизонт

Среднесрочный: ближайшие недели или 1-2 месяца.

## Зачем нужна фича

Нужно проработать маленький физический сервер на ESP32S3 как персональное или доверенное файловое хранилище SHiNE.

Идея: при обмене сообщениями пользователи смогут использовать такой сервер для хранения своих файлов, вложений, файлов общих переписок и связанных данных.

## Что нужно сделать

- Описать роль ESP32S3-сервера в общей архитектуре ключей и сессий.
- Определить, какие ключи может хранить такое устройство.
- Решить, хранит ли устройство только файлы или также подписывает пользовательские операции.
- Описать протокол загрузки, скачивания и удаления файлов.
- Определить правила шифрования файлов до отправки на устройство.
- Продумать индексацию файлов для личных и общих переписок.
- Решить, как устройство авторизуется на основном сервере SHiNE.

## Вопросы перед реализацией

- ESP32S3 должен работать как полностью локальное устройство или как публично доступный мини-сервер?
- Нужен ли внешний relay, если устройство находится за NAT?
- Какие ограничения по размеру файла считаем допустимыми?
- Хранит ли устройство метаданные переписок или только зашифрованные blob-файлы?
- Как восстанавливать доступ, если устройство потеряно или заменено?

## Что уже сделано

Код не реализован. Идея зафиксирована как будущая задача после описания модели ключей.

## Документы, которые нужно обновить при возврате

- `Dev_Docs/Keys/README.md`
- `Dev_Docs/Personal_Messages/README.md`
- `Dev_Docs/API/`
- `Dev_Docs/Blockchain/`, если появятся новые блоки или команды для файлов.

## С какого места продолжать

Начать с короткого протокольного документа: роли устройства, авторизация, шифрование файлов, минимальные API-операции и сценарии восстановления.
