# Этап 1d. Ключи и подключения Статус: не начат. ## 1. Цель Администратор создаёт ключи и подключения вручную; пользователь видит ключи в кабинете и получает конфиги и ссылки. ## 2. Входит 1. Коллекции `keys` (поля и статусы) и `connections` с шифрованием содержимого ([03-data-model.md](../03-data-model.md), раздел 5); журнал действий `audit-log`. 2. Админка: a. ключ вручную: пользователь, тариф, локация (dedicated); b. подключения: WG/AWG — файлом или текстом, ссылка Happ, ссылка Xray, RU-адрес, номер устройства, страна; c. «Выдать ключ», «Очередь выдачи», «К отключению», блокировка ключа. 3. Кабинет по макетам `App` и `MassApp`: a. главная: ключи, «Купить ключ», FAQ кабинета; b. список ключей, бейдж «Истекает» ([04-billing.md](../04-billing.md), раздел 15); c. страница ключа: срок, WG-конфиги (скачать, QR), Happ и Xray (копировать, QR), RU-адрес; у mass — WG по странам. 4. Состояния: готовится, активен, льготный период, истёк, заблокирован; нет ключей; нет подключений. 5. Содержимое конфигов отдаётся отдельным запросом только владельцу и в HTML страницы не попадает. QR строится в браузере. 6. Шаблон `key_ready` на 5 языках. ## 3. Не входит Покупка и оплата (1e), автоматическая выдача (1f), автопродление и «Продлить сейчас» (1g). ## 4. Перед стартом Этап 1c готов. ## 5. Готово, когда 1. Ключ, созданный и выданный в админке, виден в кабинете владельца активным; срок идёт с момента выдачи. 2. Скачанный `.conf` импортируется в WireGuard; QR сканируется в WireGuard и Happ. 3. Чужой пользователь получает 404 на конфиг (тест).