Прозрачность
Прозрачность
Страницы о продукте пишут, чтобы впечатлить. Эта написана, чтобы её можно было проверить. Всё, что ниже, — настоящие слабые места NeyLivo, перечисленные самим проектом.
Обновлено: 12 августа 2026 · NeyLivo 1.563.0
Зачем эта страница
Продукт о приватности, который прячет свои пределы, просит доверия больше, чем заслуживает. Люди принимают решения по тому, что написано на такой странице: отправлять ли документ, вести ли разговор. Если мы ошибёмся в свою пользу, платить за это будет кто-то другой.
Поэтому здесь — всё то, чего мы предпочли бы не писать.
Незакрытые слабые места
| Слабое место | Что это значит | Состояние |
|---|---|---|
| Вложения лежат в публичном хранилище | Файлы, отправленные без шифрования вложений, скачает любой, у кого есть ссылка, — без входа. Базу защищают правила доступа, это хранилище — нет. Включённое в настройках шифрование вложений закрывает это для вашей личной переписки уже сегодня. Правильное исправление — закрыть хранилище и перейти на подписанные ссылки, не сломав те, что уже лежат внутри старых сообщений, — идёт по шагам, и первый, безобидный шаг это запретить перечисление содержимого вовсе. | Исправляется |
| Шифрование выключено по умолчанию | Сквозное шифрование сообщений, вложений и звонков есть, работает и описано — и все три переключателя начинают выключенными. Приватность, которая достаётся только тем, кто пошёл искать её в настройках, — это приватность, которой большинство не получает. | Открыто |
| Групповые беседы и каналы не защищены сквозным шифрованием | Защищена только переписка один на один. Групповое шифрование — совсем другая и куда большая задача: раздача ключей, приход и уход участников, несколько устройств. Её сначала спроектируют как следует и только потом напишут, а не придумают на ходу. | Проектируется |
| Шифрование звонков ни разу не проверено настоящим звонком | Путь в коде покрыт проверками, а вызовы библиотеки сверены с её собственными исходниками. Но никто ещё не позвонил с шифрованием между двумя настоящими устройствами и не убедился. Пока этого не произошло, оно помечено экспериментальным везде, где упоминается. | Не проверено |
| Нет Content-Security-Policy | Известного способа внедрить код в приложение сегодня нет: сообщения рисуются узлами React, вставки сырого HTML нет нигде. CSP — второй рубеж, который ловит ошибку, которую ещё никто не сделал. Включать его надо осторожно: страницы плагинов, встроенные проигрыватели и эмодзи грузятся из разных мест. | Открыто |
| Картинки эмодзи приходят с чужого CDN | В интерфейсе есть эмодзи, поэтому посторонний получает ваш IP при каждом запуске без единого вашего действия. Со шрифтами приложение этого избежало намеренно — они лежат в сборке; эмодзи должны лежать там же. | Открыто |
| Минимальная длина пароля — шесть символов | Это значение платформы по умолчанию, и оно мало. | Открыто |
| Нет двухфакторной проверки | Доверенные устройства и код восстановления есть и помогают, но это не то же самое, что приложение-аутентификатор. | Открыто |
| Внешнего аудита не было | Никто со стороны всё это не проверял. Всё на странице безопасности — наше собственное прочтение собственного кода. Именно поэтому код открыт. | Открыто |
| Нет лицензии открытого кода | Исходник открыт и читается, но лицензии на нём нет — то есть формально это «исходник доступен», а не «открытый код». Это незавершённое решение, а не позиция. | Открыто |
Выпущено, но не проверено в живой работе
Кое-что выпущено, выглядит работающим и ни разу не подтверждено двумя людьми, которые пользуются этим одновременно. Как готовое оно не подаётся:
- Звонки со сквозным шифрованием — для проверки нужны два человека и живой медиасервер.
- Установщик обновлений на Android — нативный код сверен построчно с исходниками платформы, но ни разу не проходил настоящее обновление на настоящем телефоне.
- Часть путей уведомлений, для проверки которых нужен второй человек и закрытое окно.
Там, где приложение само знает, что что-то не проверено, оно говорит это в настройке, а не в сноске.
Что уже закрыто
Часть прежних проблем закрыта, и об этом честно сказать тоже стоит: правила доступа к базе не раз ужесточались и теперь проверяются на настоящем Postgres при каждом изменении; пуш-уведомления когда-то позволяли любому вошедшему прислать кому угодно поддельное системное уведомление — больше нет; личная коллекция гифок была видна всем, теперь она личная; длина сообщения больше не видна по размеру шифротекста.
Как всё это проверить
Всё перечисленное указывает на код, который можно прочитать. Репозиторий открыт, технический аудит со ссылками на файлы опубликован в нём, а у правил доступа к базе есть набор проверок, который играет за нескольких пользователей против настоящей базы.