Почему я не хочу пользоваться Max и как я сделал приватную альтернативу
Когда VK запустил Max, все заговорили про «единую экосистему». Звонки, чаты, каналы — всё в одном. Удобно? Да. Но я задался вопросом: а где мои сообщения?
Ответ простой — на серверах VK. Каждое сообщение, каждый звонок проходит через их инфраструктуру. Они могут читать, могут анализировать, могут отдать по запросу. Не потому что злые — просто так работает любой классический мессенджер. Telegram(кроме секретных чатов), кстати, устроен точно так же — сообщения проходят через серверы. Некоторые переписки(врачи, юристы, партнеры по бизнесу) хочется все таки сохранить в приватном пространстве.
Хочется мессенджер, где сообщения принадлежат только пользователям.
Как работает Max (и все остальные)
Пользователь → Сервер VK → Собеседник
Сервер видит: кто пишет, кому, когда, и что. Ваш граф общения, контакты, время активности — всё это доступно оператору платформы. Даже если контент зашифрован по дороге — на сервере он лежит в открытом виде.
Как работает Связь
Я написал мессенджер Связь. Главное отличие — сообщения идут не через центральный сервер, а между устройствами.
Я поднял свой узел — он помогает устройствам находить друг друга и доставлять сообщения, когда собеседник не в сети.
Узел видит только зашифрованные данные. Он не знает что внутри. Не может прочитать. Не может расшифровать. Даже я, как разработчик, не смогу прочитать ваши сообщения — у меня просто нет ключей. Ключи хранятся только на ваших устройствах.
Звонки
Голосовые звонки тоже зашифрованы. На iPhone входящие выглядят как обычные телефонные звонки (интеграция с системой).
Честно о проблемах: по мобильному интернету (LTE) звонки иногда не подключаются — из-за особенностей протокола, который некоторые операторы режут или ограничивают. Работаю над этим.
Что под капотом (кратко)
Flutter — один код для iOS и Android
Go — сетевой движок, связь между устройствами
libp2p — протокол для P2P-сети (тот же, что используется в IPFS)
Шифрование сообщений — NaCl (тот же подход, что в Signal)
Локальная база — зашифрована, даже если кто-то получит файл — без ключа это мусор
Планы и текущий статус
Сейчас — бесплатная бета. Приложение работает, можно переписываться и звонить. Но это именно бета — могут быть баги, интерфейс дорабатывается. Сейчас доступно для тестирования на iPhone и iPad. Android в разработке.
В будущем — платная подписка. Но базовый функционал хочу оставить доступным.
В планах:
Возможность поднять свой узел — чтобы не зависеть от моего сервера и полностью контролировать инфраструктуру
Улучшить стабильность звонков по мобильному интернету.
Мультиустройство
Конференции
Десктоп-версия
Частично открыть исходный код
Итого
Max — удобный мессенджер и отличная платформа. Но удобство и приватность — разные вещи. Я хотел мессенджер, где сама архитектура гарантирует приватность, а не «политика конфиденциальности» на 40 страниц. Где нечего отдать, потому что нечего хранить.
Более подробно с технической стороной можно познакомиться на Хабре
Кому интересно протестировать — найдёте в App Store по названию «Связь» или напишите в комментариях. В гугл маркет выложу в ближайшее время :)

