Дмитрий Анашкин

Приватный репозиторий не закрывает сайт: три уровня закрытости

Опубликовано 4 сент. 2026 г.8 мин чтенияНачальный
Приватный репозиторий не закрывает сайт: три уровня закрытости
Туториал
Приватный репозиторий не закрывает сайт
Дмитрий Анашкин · 8 мин
Чему вы научитесь
  • Что именно закрывает приватное хранилище кода, а что остаётся открытым
  • Таблица трёх уровней закрытости и чего каждый из них не даёт
  • Почему расчёт на незнание адреса не считается защитой
  • Проверка в инкогнито: четыре шага за минуту
  • Когда пора делать форму входа и что класть в проект до неё
Начальный

Коротко

Что закрывает приватный репозиторий, а что нет?

Разберём, где именно возникает путаница. Когда непрограммист выкладывает первый проект, он делает два действия подряд.

Первое: создаёт хранилище кода и ставит ему признак «приватное». Второе: подключает это хранилище к хостингу, и тот собирает из кода работающий сайт.

Из двух слов «приватный» и «выложил» в голове складывается ощущение, что проект закрыт с двух сторон. На деле закрыта одна: код.

Аналогия из офиса. Приватный репозиторий - это сейф с чертежами. Опубликованный сайт - это построенное по чертежам здание с открытой дверью. Чертежи никто не украдёт, а войти внутрь может любой, кто знает адрес.

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

Три уровня закрытости, которые путают между собой

Что закрываемЧем закрываетсяЧто это даётЧего не даёт
Исходный кодприватное хранилище коданикто не прочитает файлы и настройкистраница по-прежнему открыта
Черновые и служебные адресанастройка защиты у хостингапредпросмотры не индексируются и не открываютсяосновной адрес остаётся публичным
Вход в приложениеформа входа внутри проектавидит только тот, у кого есть учётные данныетребует отдельной работы, обычно позже
Адрес, который никто не знаетничемничегоэто не защита вовсе

Последняя строка - главная. Расчёт на то, что ссылку никто не угадает, в безопасности имеет отдельное название и репутацию плохой практики.

Про то, какие ещё слова путаются в этой области, я собрал отдельный словарь вайбкодинга.

Почему «ссылку никто не знает» - это не защита?

Список способов, которыми открытый адрес перестаёт быть тайной, скучный и очень короткий:

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

Ни один из этих сценариев не требует злого умысла. Именно поэтому в закрытом контуре компании расчёт на секретность адреса не считается защитой.

Проверка в инкогнито за минуту

  1. Скопируй основной адрес проекта

    Именно тот, который ты дал бы коллеге. Не служебный предпросмотр и не локальный адрес на своём компьютере.

  2. Открой приватное окно браузера

    В любом браузере это отдельный режим без истории и без входов. Обычная новая вкладка не подходит: она помнит, что ты вошёл.

  3. Вставь адрес и посмотри, что открылось

    Если проект показал содержимое без запроса пароля, значит его видит любой человек с этим адресом.

  4. Проверь с телефона по мобильному интернету

    Дополнительная проверка на случай, если доступ ограничен по сети офиса. Мобильный интернет имитирует постороннего лучше всего.

Мой рабочий приём: делаю эту проверку сразу после первой публикации и повторяю после каждой правки настроек доступа. Тридцать секунд, а отвечает на вопрос, на который иначе отвечаешь предположением.

Что можно класть в проект до появления входа?

Правило простое и жёсткое, потому что нарушают его почти все. Хочется проверить инструмент на настоящем материале, ведь на выдуманном непонятно, работает ли он.

Компромисс, который я даю ученикам: бери реальную структуру, но выдуманное содержимое. Настоящие поля, настоящий формат, настоящий объём - и вымышленные имена, суммы и адреса.

Что это даёт:

  1. Проверка честная. Инструмент видит те же поля и тот же объём, что в бою.
  2. Утечки нет. Даже если ссылка уйдёт, уйдёт вымышленный список.
  3. Не нужно ничего согласовывать. Ни с юристом, ни со службой безопасности.
  4. Переход в бой дешёвый. Когда появится вход, ты просто заменишь содержимое.

Обезличивание тут не формальность, а работа: менять надо не только имена, но и всё, по чему человека или компанию можно узнать - названия проектов, суммы сделок, редкие сочетания дат и городов.

Когда делать форму входа?

Порядок, который работает у непрограммиста:

  • Первая неделя. Инструмент собирается на выдуманных данных. Никакого входа, никаких настроек доступа. Задача - понять, работает ли идея.
  • Момент, когда захотелось показать коллеге. Показывай экраном на созвоне, а не ссылкой. Это ничего не стоит и ничего не открывает.
  • Момент, когда коллеге нужно пользоваться самому. Вот здесь появляется вход. Не раньше.
  • Момент, когда внутрь ложатся настоящие данные. Вход обязателен, а вместе с ним - разговор про то, где хранятся данные и кто за них отвечает.
Как ставить задачу агенту на эту тему

Формулируй так, чтобы он не додумывал: «проверь, есть ли у моего хостинга настройка закрытия основного адреса, и если такой настройки нет или ты не уверен - скажи прямо, не придумывай». Агент охотно описывает функции, которых у площадки нет, и это как раз тот случай, где выдумка стоит дорого.

Что делать дальше, когда рабочая версия готова и пора думать про хостинг, данные и закон, разбирал в материале про то, что делать, когда прототип готов.

Домен - вывеска, а не замок

Отдельная путаница, которую стоит развести. Купленный домен вызывает ощущение солидности и заодно ощущение защищённости. Второе неверно.

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

Отсюда практический вывод про очерёдность. Домен покупают, когда инструмент уже работает и им пользуются. Покупать домен для проекта, который живёт третий день, - тратить деньги на вывеску над стройкой.

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

Частые вопросы

Частые вопросы

Главный вывод

Ошибка тут не техническая, а смысловая: слово «приватный» относится к одной части конструкции, а человек распространяет его на всю.

Практический минимум на первую неделю выглядит так: приватное хранилище кода, выдуманные данные внутри, проверка в инкогнито после каждой публикации, показ коллегам экраном, а не ссылкой.

Про то, как из первого работающего прототипа вырастает то, чем реально пользуются, есть отдельный разбор вайбкодинга в продакшене. А сам подход к сборке без кода - в вайбкодинге как таковом.

Открой свой проект в инкогнито прямо сейчас. Что там увидит человек, которому ты никогда не давал доступа?

Источники

Отправь другу или себе в избранное в Telegram, чтобы не потерять.

Поделиться в Telegram
Было полезно?
Автор
Дмитрий Анашкин
Практик-интегратор ИИ в бизнес

Основатель NeuroDA и SMAIPL. Корпоративные воркшопы по ИИ, внедрение AI в бизнес-процессы.

Похожие гайды

Агент собрал твою рабочую копию, а не тебя: как выправить профиль

Человек потратил восемь часов на интервью с агентом о себе и остановился с ощущением, что получилось не то: агент снял рабочую копию. Разбираю, почему первый заход всегда перекошен, какой одной фразой это лечится и почему профиль растёт из работы, а не из опроса.

8 мин

У площадки нет API: как всё равно забрать данные и не делать это руками

Задача просится в автоматизацию: следить за торгами, собирать акты, отслеживать поставщиков. И упирается в стену: у площадки нет программного доступа. Разбираю порядок из четырёх проверок, почему обычная выгрузка закрывает большинство сценариев и где проходит правовая граница.

8 мин

Два окна агента сразу: где это ускоряет, а где ломает проект

Пока агент думает над одной задачей, хочется занять время второй. С текстом это работает, с кодом заканчивается тихой потерей правок: оба окна отчитаются об успехе, а в проекте останется половина работы. Разбираю границу, три способа разделения и цену внимания.

8 мин

Первая версия продукта собирается насквозь, а не по слоям

Собирать по слоям кажется разумным: сначала интерфейс, потом база, потом логика. А потом выясняется, что вместе это не работает. Разбираю подход «тонкий проход насквозь», метафору торта, разделение на снаряд и надстройки и три ловушки, из-за которых первая версия распухает.

8 мин

Связанные понятия