VIBEOPS CLUB
RU

VibeOps Club / Гайды

Чек-лист продакшн-деплоя для вайбкодеров: 30 проверок перед запуском

Приложение работает на localhost, агент говорит, что всё готово. Этот чек-лист описывает то, что агент обычно не делает: секреты, доступ к данным, его собственные права, бэкапы, расходы и видимость. В большинстве разделов есть ссылка на реальный инцидент, где этот шаг пропустили.

Чтобы пройти его, не нужно быть DevOps-инженером. Большинство пунктов — это настройка, вопрос агенту или пятиминутный тест. Любой раздел можно отдать агенту как задачу, а результат проверить самому.

1. Секреты и API-ключи

  • Никаких секретных ключей во фронтенде. В браузер попадают только публичные ключи (anon key Supabase, publishable key Stripe). Service role, ключи OpenAI и secret key Stripe хранятся только на сервере. Moltbook
  • Секреты хранятся в переменных окружения или в хранилище секретов платформы, никогда в репозитории. .env добавлен в .gitignore.
  • Включено сканирование секретов. GitHub push protection или pre-commit хук вроде gitleaks или trufflehog.
  • Утёкшие ключи перевыпущены. Если ключ хоть раз попал в коммит, скриншот или чат, выпустите новый. Удалить коммит недостаточно.
  • У каждого ключа одна задача и минимум прав. Отдельные ключи для каждого окружения и сервиса, только с нужными правами. PocketOS

Подробнее: где хранить API-ключи и как проверить приложение на утечки.

2. База и доступ к данным

  • RLS включён на каждой таблице (Supabase), с явными политиками на select, insert, update и delete. Lovable
  • Проверка от имени анонима. Вызовите API только с публичным ключом и попробуйте прочитать данные. Ответ должен быть пустым.
  • Проверка от имени «чужого» пользователя. Войдите как пользователь A и запросите записи пользователя B, подменив ID в запросе.
  • Оплата, квоты и роли проверяются на сервере, а не только скрываются в интерфейсе. EnrichLead
  • Бакеты хранилища приватные по умолчанию. В публичные попадают только действительно публичные файлы. Tea

3. Права агента

  • У агента нет production-доступов. Изменения в прод идут через CI или через вас.
  • Токены, которые видит агент, узкие: по возможности только на чтение, короткоживущие, на один проект.
  • Разрушительные действия подтверждает человек. Удаление таблиц и томов, force push и миграции в проде требуют явного подтверждения. Replit
  • Вы смотрите диффы, которые затрагивают авторизацию, конфиги инфраструктуры и миграции, до мержа.

Подробнее: как дать AI-агенту доступ к инфраструктуре и не потерять продакшен.

4. Окружения и бэкапы

  • Dev и prod разделены: разные базы, разные ключи, разные адреса. Replit
  • Автоматические бэкапы включены и хранятся там, где их нельзя удалить ключами самого приложения. PocketOS
  • Восстановление проверено хотя бы раз. Пока вы ни разу не восстановились из бэкапа, неизвестно, рабочий ли он.
  • Миграции базы проверяются, и вы знаете, как их откатить.

5. Лимиты расходов

  • На хостинге настроены лимиты или бюджетные алерты (например, Spend Management в Vercel, spend cap в Supabase). Cara
  • На AI API настроены лимиты использования и уведомления о бюджете (OpenAI, Anthropic и другие). EnrichLead
  • На публичных эндпоинтах есть rate limit, особенно на тех, что вызывают платные API.
  • Регистрация и формы защищены от ботов, например Cloudflare Turnstile или CAPTCHA.
  • Настроен срок хранения логов. Храните то, что нужно для отладки, а остальное удаляйте по истечении срока.

6. Видимость и мониторинг

  • Есть список всего, что опубликовано: домены, превью-деплои, внутренние инструменты. Внутренние инструменты закрыты логином. RedAccess
  • Превью-деплои защищены или хотя бы не индексируются поисковиками.
  • Ошибки и доступность мониторятся, алерты приходят в канал, который вы реально читаете.
  • Есть алерты на необычные расходы и всплески неудачных входов.
  • Есть одностраничный runbook: как откатиться, как перевыпустить ключи, куда писать хостингу.

7. Базовые вещи, о которых легко забыть

  • HTTPS везде, HTTP редиректит на HTTPS.
  • Зависимости сканируются (Dependabot, npm audit или аналог).

Как пройти этот список вместе с агентом

Не спрашивайте агента «моё приложение безопасно?». Давайте ему по одному разделу как задачу с критериями приёмки, например: «Найди все места, где секретный ключ используется в клиентском коде. Перечисли файлы и строки. Перенеси вызовы на серверный эндпоинт. Покажи дифф». А результат проверьте сами тестами выше: доступ анонима, доступ «чужого» пользователя, восстановление из бэкапа.

Реальные случаи, когда эти проверки пропустили, разобраны в статье 8 реальных инцидентов вайбкодинга.

VibeOps Club

Пройдите этот чек-лист на своём проекте с поддержкой

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

Вступить в клуб