Konstruct

Криптостійкий месенджер, який знає про вас рівно стільки, скільки потрібно для доставки повідомлень.

Ваша ідентичність у мережі Konstruct — це пара криптографічних ключів, що генеруються під час створення облікового запису. Ні номера телефону, ні пошти, ні чогось іншого, що пов’язало б обліковий запис з вашою особою в реальному світі. Усі переписки захищені наскрізним шифруванням — комбінацією класичних і постквантових алгоритмів. Повідомлення несе мінімум незашифрованих даних: непрозорий ідентифікатор** отримувача, час і розмір. Усе інше, включно з відправником*, зашифровано й доступне лише отримувачу і нікому більше.

Signal Protocol · постквантове узгодження ключів (ML-KEM-1024) · gRPC-потік (QUIC на iOS, HTTP/2 на Android) · захист відправника завжди ввімкнений

Навіщо це потрібно

Konstruct створено як противагу загальній тенденції великих цифрових корпорацій — стежити за поведінкою, накопичувати й перепродавати дані користувачів, навчати моделі на користувацькому контенті. Водночас держави дедалі більше прагнуть контролювати інтернет, прикриваючись благими намірами. Звичайні сумлінні користувачі опиняються заручниками умов цих платформ без жодної альтернативи.

Але будьмо реалістами: Konstruct працює на тій самій комерційній інфраструктурі, що й гіганти ринку, а отже абсолютної свободи й незалежності тут теж не може бути. Натомість щодо своїх користувачів ми робимо все можливе: не збираємо й не аналізуємо жодної телеметрії, навіть знеособленої. Сервер зберігає невеликий фіксований набір даних, потрібних для маршрутизації, а самі повідомлення лежать у поштовій скриньці отримувача лише в зашифрованому вигляді й видаляються за строком зберігання, а не за фактом доставки: обсяг скриньки обмежений, і нічого старшого за приблизно 7 днів у ній не залишається. Єдине, що лишається видимим у мережі, — кореляція за часом та IP-адреса; розв’язання цього питання перебуває в розробці.

З тієї самої передумови виріс і транспорт: Konstruct від самого початку проєктувався з розрахунку на мережу, яка може бути ворожою до з’єднання. Стійкість до блокувань тут не надбудова, додана після першої заборони, а вихідна умова: поки прямий шлях працює, використовується він, а за доведеної відмови клієнт сам змінює спосіб виходу в мережу — без налаштувань і без участі користувача, якщо в нього вже є точка входу; у мережі, заблокованій із самого початку, її потрібно отримати підписаним посиланням або QR від іншої людини. Гарантії це не дає: техніка блокувань розвивається, і це протистояння не закінчується. Але воно закладене в архітектуру, а не приліплене до неї зверху.

NB: зовнішнього аудиту не було. Усе, що вище, — це наше власне прочитання нашого ж коду. Ніхто поза проєктом його не перевіряв, і поки це так, вважайте ці властивості заявами, які ми готові відстоювати, а не результатами перевірки.

Встановити бету на iOS Завантажити APK для Android

Відкритий вихідний код і участь

Кожна частина Konstruct має власну відкриту ліцензію: MPL-2.0 (обмежений копілефт — вбудовувати можна, зміни самих файлів потрібно публікувати) для клієнтських застосунків і шару захисту від блокувань, AGPL-3.0 (сильний копілефт, зокрема для роботи по мережі) для сервера, Apache-2.0 для спільних бібліотек, CC-BY-4.0 для текстів і специфікацій. Технологія приватності має бути прозорою й такою, яку може перевірити будь-хто, — включно з ще не виправленими проблемами.

Контриб’юторів вітаємо — від покращень у коді до рев’ю безпеки та документації.

Підтримати проєкт

Без реклами, перепродажу даних і телеметрії — Konstruct живе на добровільні донати. Якщо хочете, щоб ядро месенджера лишалося безкоштовним і незалежним, донат напряму йде на розробку та сервер. Якщо цінуєте приватність — надавайте перевагу Monero: на відміну від біткоїна, в його публічному ланцюжку приховано відправника, отримувача й суму, тож донат не можна зв’язати з вами, а баланс не видно.

Monero (XMR) donation address QR code
Monero (XMR) — рекомендовано, приватно
496i5qvPzRtJPQjiPXnLvEGutjHFth4pWDQaJwbbMreyaTYg4qfbo48MXrTnYH32MHiAn5GcSEN1c48EYBvVkrx9Pi5BWvn
Bitcoin (BTC) donation address QR code
Bitcoin (BTC)
bc1q5cthgu6k9utg9hk2mx2xshdtsrhvu54ysmqhmm
Ko-fi — зручно, але не приватно
ko-fi.com/construct_msg

Зважайте: фіатні платежі не анонімні — платіжний сервіс знає, хто ви. Для приватного донату використовуйте Monero.

Порада з безпеки: ці адреси також опубліковано й підписано PGP у репозиторії проєкту — звірте їх там перед надсиланням на випадок, якщо цю сторінку підмінять. Відбиток ключа підпису: 13AC BE18 0D7B 20A2 4D2D D6B0 99DD 3ECE 736F 0672