Перейти к содержанию

Секреты и доступы SKUARO

Статус: ХРАНИЛИЩЕ 700; ИСПОЛЬЗУЕМЫЕ DEV/STAGE ФАЙЛЫ 600

Обновлено: 2026-08-22.

Этот файл никогда не содержит значения токенов, паролей, seed phrases, приватных ключей, recovery codes или мастер-паролей.

Каноническое место хранения

[LOCAL_SECRET_STORE]

Это внешняя папка для фактических секретов, ключей, логинов и паролей. Она находится вне корня Git-проекта SKUARO.

Владелец выбрал этот путь после предупреждения, что расположение внутри дерева MEGA может приводить к синхронизации секретов. Ограничение «только дополнительно зашифрованные данные» пользователем отклонено.

Текущий режим

  • Реальных секретов, .env, закрытых ключей и credentials внутри проекта SKUARO сейчас нет.
  • Существование внешней папки подтверждено 2026-08-18 без просмотра её содержимого.
  • Права папки изменены с 755 на 700 (drwx------) 2026-08-18; владелец — alexzandr.
  • Значения могут храниться во внешней папке, но не копируются в Git-проект.
  • .env.example содержит только имена переменных и безопасные пояснения.
  • Файл доступа к тестовому серверу использован 2026-08-21 по отдельному разрешению; значения не выводились, режим исправлен на 600.
  • Создан отдельный config_deploy-skuaro_top.env с database credentials и историческими DEV/STAGE Basic Auth credentials; режим 600, значения не копировались в проект. Basic Auth variables не подключаются к runtime по решению 0030.
  • Gmail-файл config_skuaro_Email.env прочитан по разрешению для настройки Auth PoC; права 600, адрес и формат Google App Password проверены без вывода значений. DEV runtime secrets записаны только в server .env с режимом 600, временный source-файл удалён.
  • Файл config_skuaro_SuperAdmin.env прочитан по разрешению только для bootstrap первой DEV-учётной записи; формат и права 600 проверены без вывода значений. Временные server-файлы удалены, тестовая сессия отозвана.
  • Внутренняя структура папки не перечисляется и не проверяется без отдельной явной задачи.
  • Для корневой папки применены права 700; для будущих secret-файлов требуются права 600.

Карта восстановления

Назначение Имя переменной или файла Где восстановить Ответственный Статус
Доступ к тестовому серверу skuaro.top config_server-skuaro_top.env [LOCAL_SECRET_STORE]/config_server-skuaro_top.env Владелец проекта Проверен и использован по разрешению; 600
DEV/STAGE database credentials и неактивные исторические Basic Auth credentials config_deploy-skuaro_top.env [LOCAL_SECRET_STORE]/config_deploy-skuaro_top.env Владелец проекта Создан; Basic Auth не подключён к runtime; 600
Gmail DEV sender config_skuaro_Email.env [LOCAL_SECRET_STORE]/config_skuaro_Email.env Владелец проекта App Password создан; DEV настроен; SMTP AUTH ожидает открытия исходящего 587; 600
Resend DEV sender config_skuaro_Resend.env [LOCAL_SECRET_STORE]/config_skuaro_Resend.env Владелец проекта Domain mail.skuaro.top verified; key имеет Sending access только для домена; controlled send получил Delivered и подтверждён получателем, DEV Auth flow не выполнен; 600
Первый DEV SuperAdmin config_skuaro_SuperAdmin.env [LOCAL_SECRET_STORE]/config_skuaro_SuperAdmin.env Владелец проекта Bootstrap выполнен в DEV; login/access/revoke проверены; временные файлы удалены; 600
Remote runtime secrets .env каждого контура /opt/skuaro/{dev,stage,edge}/.env на тестовом сервере Владелец проекта Созданы; root-only 600
Production credentials Пока не определены Отдельное production-хранилище Владелец проекта Production-сервер не готовится в текущей фазе

Граница доступа AI

  • Путь можно хранить в документации; значения и содержимое файлов — нельзя.
  • AI не меняет права и не просматривает, не перечисляет, не копирует и не изменяет содержимое без отдельной явной задачи.
  • Разрешение на server audit должно отдельно назвать файл; чтение ограничивается необходимыми именами параметров, а значения не выводятся.
  • Даже при разрешённой работе AI не выводит значения секретов в чат, документы, логи или отчёты.
  • В отчёте допустимы только безопасное имя, назначение, путь, владелец, дата и статус.

Защищённые пути внутри проекта

.gitignore исключает:

  • .env, .env.local и другие .env.*, кроме .env.example;
  • приватные ключи и контейнеры сертификатов: *.pem, *.key, *.p12, *.pfx;
  • каталоги credentials/;
  • файлы service account и recovery codes.

Внешняя папка находится за пределами репозитория, поэтому правило .gitignore на неё не распространяется.

Проверка перед commit

  • проверить staged-пути с учётом .gitignore;
  • проверить содержимое обычных файлов на очевидные credentials без вывода найденного значения;
  • убедиться, что .env.example содержит только безопасные данные;
  • не добавлять ссылки или копии файлов из внешней папки в Git;
  • при обнаружении секрета остановить commit и сообщить только путь и тип риска.

Если секрет попал в историю, сначала отозвать или заменить credential, затем отдельно согласовать очистку истории. Force push автоматически запрещён.

Recovery codes и 2FA

Хранятся во внешней папке по решению владельца. Они не копируются в Git-проект, документацию или чат и не передаются AI.