Начнём с факта, который дальше не смягчается. Репозиторий Persona закрыт. Файла лицензии в нём нет — в метаданных пакета строка лицензии указана, но текста самой лицензии в репозитории не существует, а значит юридически он не выпущен ни под какими условиями. Прочитать наш код и проверить, что мы говорим правду, вы не можете. Аргументом «вот исходники, убедитесь сами» мы не пользуемся, и любой текст, где мы бы им воспользовались, был бы ложью о продукте.
Из этого не следует, что проверить нас нечем. Но следует, что проверять придётся снаружи, а не изнутри, — и что по критерию аудируемости мы проигрываем любому проекту со свободной лицензией, включая заброшенный.
#Короткий ответ
Открытый код даёт две вещи: возможность прочитать, что программа делает, и право продолжить проект без её автора. Обе ценные, и вторая невосполнима ничем.
Открытый код не даёт трёх вещей, которые ему регулярно приписывают: гарантии, что запущена именно опубликованная версия; гарантии, что кто-то этот код действительно прочитал; и гарантии, что данные останутся у вас — за последнее отвечает архитектура, а не лицензия.
Закрытый продукт, работающий только на вашей машине, отправит наружу меньше, чем открытый клиент чужого облака. Это не оправдание закрытости, а разделение двух разных вопросов, которые в спорах постоянно сливают в один.
#Таблица: что даёт открытый код и чем это заменить
Смотреть надо на правую колонку. Там, где в ней стоит «нечем», лежит настоящая цена закрытости.
| Что вы хотите узнать | Даёт ли открытый код | Чем заменить при закрытом |
|---|---|---|
| Что программа делает с данными | Да, чтением кода | Сетевой монитор и просмотр файла базы |
| Что делает ваша сборка | Нет: нужна воспроизводимая сборка | Тот же сетевой монитор — он проверяет факт, а не намерение |
| Куда уходят соединения | Косвенно | Прямо: список исходящих соединений |
| Есть ли скрытая отправка | Не гарантирует: код никто целиком не читает | Наблюдение за трафиком в течение времени |
| Останутся ли данные у вас | Нет: это свойство архитектуры | Локальное развёртывание и проверка отключением сети |
| Можно ли продолжить проект без автора | Да, право форка | Нечем. Это невосполнимо |
| Не изменятся ли условия завтра | Нет: лицензию меняет владелец | Нечем; смотреть на архитектуру, а не на обещания |
Из таблицы видно две вещи сразу. Первая: большинство практических вопросов про приватность проверяются снаружи не хуже, чем чтением кода, — потому что код показывает намерение, а монитор показывает факт. Вторая: строка про форк действительно закрывается только открытой лицензией, и здесь мы проигрываем без оговорок. Если проект остановится, у вас останутся ваши данные и работающая копия, но не возможность его продолжить.
#Чего открытый код не даёт, вопреки ожиданиям
Никто не читает весь код. Аудируемость — это возможность, а не событие. У популярных открытых проектов бывали годами не замеченные уязвимости именно потому, что «много глаз» — свойство статистическое, а не гарантированное.
Опубликованный код и запущенный бинарник — не одно и то же. Без воспроизводимой сборки вы не докажете, что скачанный установщик собран из того, что лежит в репозитории. Для веб-сервиса это ещё жёстче: код на сервере вы не видите вообще, чей бы он ни был.
Лицензия не константа. Владелец меняет условия для новых версий, и в 2026 году это произошло с одним из заметных проектов захвата экрана: код остался читаемым, а право строить на нём коммерческое — исчезло. Разбор этого случая — в сравнении с открытыми аналогами захвата экрана.
Открытость не равна приватности. Открытый клиент, отправляющий всё в чужое облако, приватным вас не делает. Почему гарантией может быть только архитектура — в статье про приватность против поглощения.
«Открытая модель» — вообще отдельный разговор. Скачать веса и иметь право на результат — разные вещи; часть популярных линеек ограничивает коммерческое использование и дообучение. Разбор — в статье про разницу между открытыми весами и свободной лицензией.
#Четыре проверки, доступные вам при закрытом продукте
Это то, что мы можем предложить вместо чтения кода. Все четыре проводятся без нашего участия и не требуют верить нам на слово.
#Проверка первая: куда уходят соединения
Снимите список исходящих соединений на холостом ходу, после одного запроса и за час работы. Разница между замерами показывает получателей, а час наблюдения ловит периодические отправки. Отдельно — тест отключением сети: если при выключенном интернете ассистент с локальной моделью отвечает, обрабатывать запрос было негде, кроме вашей машины. Команды для всех трёх систем и порядок работы с перехватывающим прокси — в гайде про самостоятельную проверку исходящих соединений.
#Проверка вторая: что лежит в файле базы
Самая недооценённая. База ассистента — это обычный файл SQLite, и открыть его может любой просмотрщик. Вы увидите своими глазами, что там хранится: тексты чатов, извлечённые факты, распознанный с экрана текст. И заодно проверите неприятное — например, что ключи API лежат там в открытом виде, как мы и пишем.
Эта проверка сильна тем, что не требует доверия вообще: утверждения о хранении либо подтверждаются содержимым файла, либо нет.
#Проверка третья: что происходит до согласия
Откройте публичные страницы в чистом профиле браузера, ничего не нажимая в баннере, и посмотрите список запросов. Домены аналитики появиться не должны. Сторонние домены, которые всё же появятся, — тоже результат: у нас, например, так обнаружились шрифты, загружаемые до и независимо от согласия.
#Проверка четвёртая: исполнимость ваших прав
Выгрузите свои данные, посмотрите, что в файле, удалите аккаунт и проверьте результат поиском. Обещание «мы всё удалим» проверяется тем, находится ли содержимое после удаления, а не формулировкой в политике.
#Что здесь честно про нас
Сведём в одном месте, без смягчения.
Репозиторий закрыт, файла лицензии нет. По аудируемости и по праву форка мы проигрываем любому проекту со свободной лицензией. Дату открытия обещать не буду: обещание в блоге ничего не стоит, пока в репозитории нет файла лицензии.
На размещённой версии стоит счётчик с записью поведения. Загружается после согласия, в кабинете участника не отдаётся, на публичных страницах после «Принять» пишет клики и навигацию. При развёртывании у себя счётчика нет.
Публичные страницы подключают внешние шрифты до согласия. Найдено нашей же методикой проверки; сторонний сервер видит IP-адрес посетителя. В самостоятельной сборке эти ссылки остаются.
Ключи API и токены участников хранятся в базе в открытом виде. Проверяется проверкой номер два.
Администратор экземпляра имеет полный доступ к базе, включая переписку участников.
Разграничение между участниками — это список разрешённых путей плюс пользовательские настройки на кодовой базе, начинавшейся однопользовательской, а не усиленная мульти-тенантная граница.
Захват экрана и звука доступен только владельцу экземпляра. Мульти-тенантного захвата нет.
Полный список пунктов, где мы объективно уступаем конкурентам, собран отдельно — в разборе где Persona проигрывает.
#Где интуиция подводит
«Закрытый код — значит есть что скрывать». Иногда да, но чаще это решение о бизнес-модели. Судить надо по проверяемому поведению, а не по статусу репозитория: продукт, чьи утверждения подтверждаются вашим сетевым монитором, честнее продукта с открытым кодом и расхождением между кодом и работающим сервисом.
«Открытый код — значит проверено». Проверено ровно настолько, насколько кто-то потрудился проверить. Возможность и факт — разные вещи.
«Раз нельзя прочитать код, проверить нечем». Четыре проверки выше не требуют ни строки исходников. Они показывают факт, а не намерение, — и в вопросе приватности факт важнее.
«Форк — теоретическая возможность, она не важна». Важна: это единственное свойство из таблицы, которое ничем не заменяется. Если для вас критично, чтобы проект пережил своего автора, берите открытый и проверьте текст его лицензии сегодня, а не в год выпуска.
#Частые вопросы
#Почему вы не откроете код, если это такой сильный аргумент?
Сегодня репозиторий закрыт, и это решение не про приватность, а про продукт. Обещать дату открытия я не буду: пока в репозитории нет файла лицензии, любое такое обещание — просто текст в блоге. Пока это так, мы не используем аргумент про открытость и не претендуем на связанное с ним доверие.
#Значит ли строка лицензии в конфигурации, что код открыт?
Нет. Строка в метаданных пакета — это заявление о намерении, а не публикация условий: без текста лицензии в репозитории у вас нет ни права читать, ни права форкать, ни права распространять. Судить надо по наличию файла, а не по бейджу или строке в настройках сборки.
#Что надёжнее — закрытый локальный продукт или открытый облачный?
По части «данные не уедут» — закрытый локальный: получателя у него нет, и это проверяется отключением сети. По части «я смогу продолжить пользоваться, если автор исчезнет» — открытый, независимо от того, где он работает. Это разные вопросы, и ответ зависит от того, какой из них ваш.
#Можно ли доверять продукту, который сам публикует свои недостатки?
Публикация недостатков — не доказательство добросовестности, а способ сделать утверждения проверяемыми: названный факт можно опровергнуть, умолчание — нет. Проверяйте не то, что мы пишем о себе, а то, совпадает ли это с результатом ваших замеров.
#Какая проверка даёт больше всего за наименьшее время?
Открыть файл базы просмотрщиком SQLite. Пять минут, никаких инструментов сверх бесплатного просмотрщика, и вы своими глазами видите, что и в каком виде хранится. Вторая по эффективности — тест отключением сети.
#Что делать, если проект закроется, а код так и не откроют?
Ваша копия и ваши данные останутся при вас: развёрнутый экземпляр не выключается со стороны. Обновлений не будет, форкнуть проект вы не сможете — это прямая обратная сторона закрытого репозитория, и мы её не смягчаем. Общая рамка того, как выбирать по архитектуре, — в статье про приватный ИИ и локальное хранение.
#Вывод
Если для вас критична возможность прочитать код и продолжить проект без его автора — берите продукт со свободной лицензией и проверьте текст этой лицензии на сегодняшнюю дату. Мы этому критерию не соответствуем и не делаем вид, что соответствуем. Если же вам нужно знать, что программа делает с вашими данными, — четыре внешние проверки дают ответ надёжнее, чем чтение кода, которого никто не читает: монитор показывает, что произошло, а исходники показывают, что задумывалось.