Безопасность

Приватность по замыслу.

Codna работает на вашей машине с вашим ключом. До провайдера модели доходит только пакет доказательств.

Безопасность

01

Работает локально

Понимание, карта репозитория и recall работают на вашей машине, офлайн, за ноль токенов. Без сервера.

02

BYOK

Ключ провайдера хранится в связке ключей ОС. Он никогда не передаётся в командной строке и никогда не печатается.

03

Fail-closed egress

Установите privacy.egress в fail-closed в codna.yaml. Тогда Codna запускает ваши тесты только когда может запретить им доступ к сети на уровне ядра, и не делает запросов к реестрам во время ревью.

04

Скрытие всегда включено

Секреты скрываются в каждом выводе. Эту настройку нельзя отключить.

Поток данных

Что покидает вашу машину.

Большинство инструментов для кода стримят ваш репозиторий в контекстное окно. Codna делает наоборот. Работа происходит локально, и до модели доходит только маленький пакет, который можно проверить. Вот путь, который проходит ваш код.

01

Карта строится локально, за ноль токенов

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

02

Собирается пакет доказательств

Для каждого исправления Codna собирает подозрительные файлы, пути вызовов и падающий тест вместо того, чтобы отправлять всё дерево. Соотношение «сырой объём → пакет» печатается при каждом запуске.

03

Агент вызывает вашу модель, с вашим ключом

Codna отправляет этот пакет вашему провайдеру, используя ваш ключ из связки ключей. Соглашение о данных — между вами и провайдером. Или используйте управляемый лимит, и счёт понесёт Codna.

04

Fail-closed egress отказывает во всём остальном

Установите privacy.egress в fail-closed, и Codna запускает ваши тесты только под запретом сети на уровне ядра. Секреты скрываются в каждом выводе, и это нельзя отключить.

Границы

Чего Codna никогда не делает.

Хорошая безопасность — это в равной мере то, что инструмент отказывается делать, и то, что он предлагает. Это поведение поставляемого продукта.

  • Отправлять ваш репозиторий модели. Уходит только пакет доказательств или diff.
  • Печатать или логировать ключ провайдера.
  • Отключать скрытие секретов.
  • Давать агенту ревью токен записи или shell.
  • Сливать pull request.

Развёртывание

Приватность через развёртывание.

Где работает ПО, там и живут ваши данные. Codna выполняет одни и те же команды на каждом способе запуска. Выберите тот, что соответствует вашим требованиям.

На вашей машине

CLI и MCP-сервер работают локально. Ваш код картируется и исправляется на том же оборудовании, где он живёт. До провайдера доходит только пакет доказательств.

В вашем CI

thyn-ai/codna-action@v1 работает на ваших раннерах с вашим ключом. Режим fix открывает pull request и никогда не сливает; режим review публикует находки и вердикт.

GitHub App

Размещено Codna, с короткоживущими токенами на репозиторий для каждой задачи. Агент ревью не держит токен записи. Администраторы могут отключить автоматические исправления для организации.

01Контроль во время выполнения

Обеспечено, а не обещано.

Ревью только на чтение без токена записи. Токены записи удалены из прогонов тестов. Токены App на репозиторий для каждой задачи, короткоживущие. Скрытие, которое нельзя отключить.

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

Ваш код не используется для обучения моделей без вашего согласия. См. политику конфиденциальности. Понимание работает на вашей машине, и до провайдера модели доходит только пакет доказательств или diff.

Да. CLI и GitHub Action работают там, где вы их запускаете, с вашим ключом. Сервера нет. Размещённое GitHub App опционально.

Опциональная настройка в codna.yaml. С privacy.egress в fail-closed Codna запускает ваши тесты только когда может запретить им доступ к сети на уровне ядра, и не делает запросов к реестрам во время ревью. И без неё прогоны тестов в песочнице на Linux получают запрет сети на уровне ядра; в других системах запуск записывает сетевую активность.

codna key set сохраняет ключ провайдера в связке ключей ОС. Codna читает его из окружения или связки и вызывает провайдера напрямую. Оплата и условия обработки данных — между вами и вашим провайдером.

Короткоживущие токены на репозиторий, выпускаемые для каждой задачи. Ревью: contents чтение, pull requests запись, checks запись, statuses чтение. Сам агент ревью не держит токен записи и не имеет shell. Задачи исправления получают права записи только на тот репозиторий, с которым работают.

Только пакет доказательств для исправления или diff для ревью. Codna печатает размер в токенах «сырой объём → пакет» при каждом запуске, чтобы вы видели его для своего репозитория. Во время ревью Codna также сверяет утверждения о зависимостях с npm и PyPI, если egress не в режиме fail-closed.

Ваш код. Ваши ключи. Ваша машина.