Что на самом деле происходит с вашим репозиторием
Эта страница прямо описывает, что делает продукт, а не отдельно написанную политику. За каждым утверждением ниже стоит конкретный переключатель или функция в коде — переключатель AI на странице профиля, маскирование секретов в движке аудита, шифрование хранимых токенов.
Что читает аудит
Аудит один раз скачивает дерево файлов вашего репозитория на наш сервер, чтобы выполнить проверки и посчитать балл. Он читает пути файлов и, для небольшого набора конкретных файлов, о которых идёт речь в непройденной проверке (Dockerfile, CI-workflow, .gitignore), — их содержимое. Ничего в репозитории не выполняется.
Что уходит AI-провайдеру — и только если вы это не отключили
AI-этап не обязателен и отвечает за абзац-резюме и рекомендации по каждой проблеме на естественном языке. Отключите его на странице профиля — и отчёты сохранят резюме и советы, но написанные нашими собственными правилами, а не моделью. Функция никуда не исчезает, исчезает только третья сторона.
- Название проваленной проверки и наша рекомендация по ней.
- Факты, прочитанные из репозитория: языки, фреймворки, базовые образы Docker и порты, имена CI-воркфлоу, провайдеры Terraform, список файлов верхнего уровня, первые строки README.
- Для части проверок — один конфигурационный файл, о котором эта проверка: Dockerfile, CI-воркфлоу, .gitignore — обрезанный до 4000 символов.
- Для AI-ревью аудита: до 12 конфигурационных файлов — Dockerfile, compose, CI workflow, манифесты Kubernetes, Terraform — не больше 6 000 символов каждый и 28 000 всего. Файлы в tests, examples, docs и vendored-зависимостях пропускаются.
Никогда не отправляется:
- Ваш исходный код. Ни одна проверка не читает код приложения, и ничего из него не пересылается.
- Всё, что распознаёт сканер секретов. Каждый паттерн, о котором он сообщает, маскируется перед отправкой — в том числе в файлах, которые он не сканирует. Сама проверка на секреты не отправляет файл вообще.
- Ваши токены доступа: они зашифрованы в хранилище и никогда не попадают в промпт.
Какой именно это провайдер, зависит от настройки: ваш собственный ключ на странице профиля, если вы его указали, иначе — тот из Anthropic, OpenAI или Google Gemini, для которого настроен ключ на сервере. Если ключ нигде не настроен или переключатель выключен, наружу не уходит вообще ничего, и отчёт пишут встроенные правила.
Публичные и приватные репозитории обрабатываются по-разному. Для публичного репозитория мы можем использовать бесплатный тариф Google Gemini, условия которого позволяют Google использовать запросы для улучшения своих продуктов, — код и так открыт. Приватный репозиторий никогда не уходит в бесплатный тариф: он отправляется только платному провайдеру, условия которого исключают обучение на ваших данных, либо отчёт пишут встроенные правила.
Открыть настройку AI →Как хранятся токены доступа
Токен доступа к GitHub или GitLab — самое чувствительное, что хранит этот продукт: с его помощью можно прочитать ваш приватный код. Токены шифруются в хранилище (Fernet: AES-128-CBC с HMAC) до того, как попадают в базу данных, отдельным ключом шифрования — не тем, которым подписываются сессии и CSRF-токены. Ни один токен нигде не логируется, а в админ-панели каждое поле токена показывается как «задано» или «не задано» — никогда не его значение, даже нам самим.
Подключение через GitHub App выпускает короткоживущий токен заново на каждое использование, вместо того чтобы полагаться на долгоживущий — тот, что сохраняется в момент подключения, больше никогда не читается.
Как долго хранятся данные
История аудитов хранится, чтобы график динамики балла на дашборде было чем строить, и сегодня не удаляется автоматически. Удаление репозитория с дашборда останавливает новые аудиты и скрывает его историю из списков; сами записи, а также отчёт, открытый по прямой ссылке, хранятся до удаления аккаунта.
Мы формулируем это так, как есть, а не так, как хотелось бы: автоматического ограничения на срок хранения пока нет. Если это важно для вашего комплаенса, свяжитесь с нами прежде чем подключать репозиторий, для которого нужна жёсткая гарантия срока хранения.
Удаление аккаунта
На странице профиля есть кнопка удаления аккаунта, которая одним действием удаляет аккаунт и всё, что с ним связано: подключённые аккаунты провайдеров и их токены, все аудиты и их находки, записи о подписке и использовании, настройки AI. Ждать отдельного запроса на экспорт или удаление не нужно — это происходит сразу, со страницы, к которой у вас уже есть доступ.
Перейти в профиль →Кто ещё видит данные репозитория
- GitHub или GitLab — чтение подключённого вами репозитория требует вызова их API, как и у любого авторизованного вами инструмента.
- AI-провайдер (Anthropic, OpenAI или Google Gemini) — только факты, перечисленные выше, и только если включена настройка AI.
- Lemon Squeezy или Cryptomus — только на странице оплаты, и только ваши платёжные данные, никогда не содержимое репозитория.
- Больше никто. Ни один аналитический сервис и ни одна рекламная сеть не работают ни на одной странице за логином.
Что мы измеряем о визитах
Никаких сторонних сервисов аналитики, рекламных пикселей и фингерпринтинга. Чтобы понимать, какие страницы и ссылки приводят людей, продукт сам записывает события на нашем сервере: визит на главную, начатый или завершённый скан, отправку отчёта на email, регистрацию, открытый pull request с исправлением, начало оплаты. У каждого события есть только источник первого визита — метка utm или ref либо домен ссылающегося сайта; он хранится в одной cookie нашего сайта 90 дней.
Вместе с событием не хранятся ни IP-адрес, ни данные браузера, ни значение cookie. Для вошедшего пользователя событие связано с его аккаунтом, который у продукта и так есть. Автоматический трафик не учитывается.
Сообщить о проблеме безопасности
Напишите на support@devopscheck.com — также см. /.well-known/security.txt для машиночитаемой версии. Мы предпочли бы узнать о проблеме от вас лично, чем прочитать о ней где-то ещё.