Классифицируйте каждую настройку
Публичная конфигурация может включать отображаемое имя или публичную конечную точку. Конфиденциальные настройки включают учетные данные и материалы для подписи. Обращайтесь с ними по-разному при выборе хранилища и разрешений. Код браузера виден посетителям: переменная, встроенная в сборку фронтенда, является публичной независимо от её имени.
Документируйте имена, а не секреты
Поддерживайте пример конфигурации с объяснениями и безопасными заполнителями. Проверяйте обязательные значения при запуске и сообщайте об отсутствии имени переменной, не выводя её содержимого. Сохраняйте отдельные настройки для разработки, предпросмотра и продакшена. Рассматривайте изменения конфигурации с той же осторожностью, что и код.
Меняйте доступ намеренно
При замене учетных данных обновите зависимые сервисы и проверьте результат перед отменой старого значения там, где поставщик поддерживает такую последовательность. Незамедлительно отзывайте скомпрометированные учетные данные. Не копируйте целые файлы окружения в тикеты или логи; вместо этого делитесь именами и скрытыми ошибками.
APP_ENV=production
PUBLIC_SITE_URL=https://example.com
API_BASE_URL=https://api.example.com