Наскрізне шифрування, постквантовий шар і QUIC — уже відомі інструменти. SAPSAN складає їх разом на телефоні. Сервер не читає текст. Він бачить, що пакет ішов і приблизно якого розміру.
Ми не придумуємо новий шифр. Беремо те, що вже працює — і складаємо так, щоб захист був за замовчуванням і його було видно.
Повідомлення шифруються до того, як вийдуть із телефону. Сервер передає лише зашифровані конверти — навіть оператор інфраструктури не може прочитати вміст ваших чатів.
Це не наш винахід — стандарт NIST ML-KEM-768 разом із класичним обміном ключів. Навіть коли з’являться потужні квантові машини, листування лишається зашифрованим.
Нативний QUIC-транспорт замість застарілих WebSocket забезпечує низьку затримку, швидке відновлення після розриву і стабільну роботу у Wi-Fi та LTE.
SAPSAN створений в Україні для людей, яким важлива цифрова суверенність. Без реклами, без продажу даних, без прихованих серверів у юрисдикціях, де приватності не існує.
Що вже можна робити щодня — і що зараз складаємо в наступних оновленнях. Нового шифру «з нуля» немає.
Листи, групи, файли, дзвінки — те, чим користуєтесь сьогодні.
Текст і файли шифруються на телефоні. У групі кожному йде свій примірник. Голос — захищеним каналом. Один телефон на акаунт. Замок — обличчя або відбиток. Відео і другий пристрій ще немає.
Вхід за @іменем. Текст шифрується на телефоні. Сервер не читає зміст — лише що лист пішов.
Вхід за @іменем, без номера. Текст шифрується на телефоні. Сервер передає зашифрований конверт: зміст не читає, факт відправки бачить.
Кожному учаснику лист шифрується окремо — не один спільний пакет на всіх.
Кожному учаснику — свій зашифрований примірник. Не один спільний ключ на всю групу.
Смайл під повідомленням у особистому чаті і в групі. Повторний дотик знімає.
Реакції йдуть тим самим E2EE-шляхом, що й текст. Окремого відкритого каналу немає.
Картинки і файли в особистому чаті та в групі — тим самим захищеним шляхом, що й текст.
Файл іде тим самим захищеним шляхом, що й лист. Великі вкладення ріжуться на однакові шматки, щоб збоку менше було видно розмір.
Дзвінок між двома телефонами. Голос в обидва боки. Відео ще немає.
Голос шифрується на телефоні і йде тим самим захищеним з’єднанням, що й листи. Відео ще немає.
Немає «підключити другий пристрій». Галочки в чаті — це ці два телефони, не хмара екранів.
Один активний телефон на акаунт. Другого екрана «як у месенджері в хмарі» немає. Галочки в чаті — ці два телефони.
Обличчя або відбиток після згортання. Скасували — екран лишається закритим, з акаунта не викидає.
Обличчя або відбиток. Якщо скасували — екран лишається закритим, з акаунта не викидає.
Мова в налаштуваннях. Без реклами і без продажу листування.
Локалізація uk/en у клієнті. Немає рекламного SDK і аналітики вмісту чатів.
Наступні оновлення: мітка «чутливе», швидке блокування, картка збірки, польовий режим, слово в дзвінку. Далі — подвійний захист самого з’єднання з сервером.
Ті самі перевірені шари: шифрування на телефоні, окремий примірник кожному в групі, замок екрана. Жоден шар захисту не вимикається «щоб було зручніше».
Окремий екран пояснює: зміст листів сервер не читає; факт відправки — так.
На екрані написано прямо: зміст листів сервер не читає. Він бачить, що пакет ішов, коли і приблизно якого розміру.
У групі видно, хто вже отримав лист, а хто ще ні — не лише «відправлено».
У групі кожному йде свій зашифрований примірник. Телефони самі показують, хто вже отримав лист.
Якщо ключі контакту змінились, написати не вийде, поки не звірите.
Ключ контакту фіксується з першої розмови. Якщо він змінився — написати не вийде, поки самі не підтвердите. Без тихої позначки в кутку.
У налаштуваннях видно: інших пристроїв немає. У чаті — саме ці два телефони.
У налаштуваннях видно, що інших пристроїв немає. Галочка в чаті — цей телефон, не хмара екранів.
У чаті видно, що ключ уже змінювався. Старий ключ не відкриє ні минуле, ні нове.
Ключ розмови змінюється сам. Старий не відкриє ні минулі листи, ні нові — це видно в чаті, не тихою позначкою в кутку.
Один дотик: без тексту в сповіщенні, без скріншота, швидше зникає.
Одна мітка ховає текст у сповіщенні і скорочує час життя повідомлень. На такому чаті знімки екрана можна заблокувати.
Жест, який одразу замикає застосунок і ховає список чатів. Стирання — лише якщо ви самі так вибрали.
Жест одразу замикає екран і ховає список чатів. Стирання даних — лише якщо ви самі так вибрали, не за замовчуванням.
У налаштуваннях видно номер збірки і відбиток сервера — що на телефоні саме ваш застосунок.
У налаштуваннях видно номер збірки і відбиток сервера. Тут їх лише дивляться, не змінюють.
Обидва читають однакове коротке слово вголос — щоб у трубці була саме та людина.
Коротке слово з того самого відбитка ключів, що вже є в чаті безпеки. Якість голосу від цього не змінюється.
Якщо хтось увійде з іншого телефону, ви побачите запит: це ви?
Коли система побачить інший телефон на вашому акаунті — запитає, чи це ви. Це не «кілька пристроїв одночасно».
Великі кнопки, зручно однією рукою. Якщо захист вимкнений — це видно одразу.
Великі кнопки, сильний контраст. Якщо захист вимкнений — це видно одразу, без тихої помилки.
Глибша комбінація тих самих шарів: саме з’єднання, лист, жива розмова, штора в чаті.
Окремі оновлення. З’єднання лишається сучасним захищеним каналом, відбиток сервера перевіряється. Нового «фірмового алгоритму» немає — класика разом із стандартом NIST і ключ, який змінюється з кожним листом.
Саме з’єднання з сервером — класичний і постквантовий захист разом.
Саме з’єднання з сервером захищене класичним і постквантовим шаром разом. Відбиток сервера як і раніше перевіряється — цей захист не знімають.
Захист оновлюється з кожним повідомленням, не лише надовго.
Постквантовий секрет на повідомлення всередині вже існуючого Double Ratchet, не окремий винахід.
Після розшифрування видно: лист адресовано рівно цим людям. Нікого зайвого сервер не додасть.
Після розшифрування на телефоні видно, кому саме адресовано лист. Сервер не може дописати зайвого отримувача.
Співрозмовник може побачити знак, якого не видно стороннім на вашому екрані.
Знак видно лише після розшифрування в адресата. На вашій бульбашці його немає — людина поруч екран не прочитає.
Режим «зараз»: рядки не пишуться в архів на вашому телефоні. Звичайні листи лишаються як були.
Поки ви обидва в мережі, слова з’являються в розмові і не потрапляють в історію на телефоні. Звичайні листи зберігаються як раніше. Сервер текст не читає, але бачить, що пакет ішов — це той самий шлях, не окрема «невидима» лінія.
Кнопка ховає нові рядки, не стирає їх. Після згортання — «Зашифроване повідомлення». PIN знову відкриває текст.
PIN ховає текст на екрані і нічого не стирає. Це не код входу в застосунок. Після згортання рядки знову закриті, поки не введете PIN.
Другий код відкриває порожній профіль — без ваших чатів.
Окремий PIN відкриває ізольований порожній профіль. Це не захист від примусу.
Можна вирівняти пакети, щоб збоку менше було видно: це короткий лист чи файл.
Опційне вирівнювання кадрів (padding). Ліміт чанка вкладень не змінюється.
Сервер не читає текст листів. Він бачить, що пакет ішов і приблизно якого він розміру. Це не «нульові метадані».
Не новий протокол «з нуля». X3DH, Double Ratchet і постквантовий шар — складені так, що кожен лист має свій ключ.
Не новий алгоритм. Шість перевірених шарів, складених разом — і жоден не вимикається «щоб запрацювало».
Повідомлення шифруються на пристрої відправника і розшифровуються лише на пристрої отримувача. Кожна сесія — окремий ключ.
X3DH + Double RatchetГібридна схема: класична ECC + постквантовий механізм інкапсуляції ключів. Захищений навіть від квантових комп'ютерів майбутнього.
ML-KEM-768 (CRYSTALS-Kyber)Маршрут іде запечатаним конвертом. Сервер не читає текст. Він бачить, що пакет ішов і приблизно якого він розміру — це не «нульові метадані».
M5 envelope protocolСучасний мультиплексований транспорт з вбудованим TLS 1.3. Низька затримка, стійкість до розривів і адаптація до мобільних мереж.
QUIC · TLS 1.3 · WebTransportTrust On First Use із Safety Numbers: під час першого контакту ключ фіксується. Зміна ключа — явне попередження про можливу MITM-атаку.
SPKI pinning · Safety NumbersСервер не читає і не зберігає текст листів. Він бачить, що пакет ішов і приблизно якого він розміру. Оператор не може розшифрувати вміст.
No plaintext · No fallbackБільшість популярних месенджерів будувалися для зручності. SAPSAN будувався для приватності.
| Можливість | SAPSAN | Типовий Cloud-месенджер |
|---|---|---|
| E2EE за замовчуванням (всі чати) | ✓ Так | ✗ Частково або opt-in |
| Постквантова криптографія (PQC) | ✓ ML-KEM-768 | ✗ Відсутня |
| Текст на сервері | ✓ Немає відкритого тексту | ✗ Часто хмара читає або індексує |
| Сервер не бачить вміст | ✓ Архітектурно | ⚠ Залежить від реалізації |
| Верифікація ключів (Safety Numbers) | ✓ QR + fingerprint | ⚠ Рідко, складно |
| QUIC / TLS 1.3 транспорт | ✓ Нативно | ⚠ Часто WebSocket legacy |
| Без реклами та збору даних | ✓ Структурно | ✗ Реклама або збір даних |
| Українська розробка, без Big Tech | ✓ Так | ✗ США / РФ / ЄС юрисдикція |
| Один телефон на акаунт | ✓ Так, без linked devices | ⚠ Другий екран — зручність |
* Це комбінація відомих шарів, не «секретний алгоритм SAPSAN». Сервер не читає текст; факт і розмір пакета він бачить. Ніхто чесно не гарантує «незламно назавжди».
SAPSAN у закритій beta. Android — список Play. iPhone — запит Apple ID на beta@, потім TestFlight.