← На главную

Как проверить, что фото зашифрованы

Не верьте нам на слово — проверьте сами. · English · Қазақша

Мы утверждаем три вещи: фото и видео шифруются на вашем устройстве до отправки; ключ никогда не попадает на наш сервер; без ключа файлы не может открыть никто, включая нас. Ниже — четыре способа убедиться в этом, от простого к дотошному.

1. Посмотрите прямо в приложении

Откройте любое своё фото и внизу карточки нажмите «🔍 Как этот файл выглядит на сервере». Приложение скачает этот файл из хранилища без расшифровки и покажет его настоящие байты. Телефон попробует открыть их как картинку — и не сможет: это шифр. Рядом будет то же фото, открытое вашим ключом. Там же видно, во что превращаются подпись, дата, имена людей и место: для сервера это одна бессмысленная строка.

2. Посмотрите, что уходит в сеть

Для этого нужен компьютер. Откройте web.telegram.org в Chrome или Edge, зайдите в @MyAlbumsBot и нажмите «Открыть фото». Клавиша F12 открывает панель разработчика, вкладка «Сеть» (Network). Загрузите фото и посмотрите запросы. В upload/start уходят только размеры файлов, метка дубликата и зашифрованная строка meta_enc. Сами файлы — оригинал, превью и миниатюра — идут следующими запросами PUT прямо в хранилище (адрес заканчивается на r2.cloudflarestorage.com), большие — частями; внутри — двоичный шифр. Попробуйте найти там своё фото, подпись или имя человека — их нет. Переберите все запросы: ключ и код восстановления не отправляются ни в одном.

3. Прочитайте код

Приложение — обычный JavaScript. Шифрование (crypto.js) отдаётся ровно таким, как написано; app.js для скорости сжат — убраны пробелы и комментарии, имена функций и переменных не меняются, а в панели разработчика (F12 → Sources) его можно развернуть кнопкой {}. Запутаны только два небольших файла с нашими собственными находками — видео на iPhone по частям (msevideo.js) и подбор лучших кадров (pick.js): в них нет ни шифрования, ни ключей, ни обращений к серверу, поэтому всё, что важно для проверки, читается в crypto.js и app.js. Открыть и прочитать можно прямо сейчас:

Если среди ваших знакомых есть программист — получаса ему хватит.

4. Попросите нас открыть ваше фото

Самая наглядная проверка. Заведите тестовый аккаунт Telegram, загрузите пару ненужных фото и попросите поддержку прислать любое из них или рассказать, что на нём. Мы не сможем: у нас есть только шифр, а копии ключа нет. Код восстановления при этом не присылайте — он и есть ключ. «Потерять» ключ ради проверки не выйдет: он хранится в облачном хранилище вашего Telegram и сам находится на любом устройстве с тем же аккаунтом.

Что сервер всё-таки видит

Честный список: ваш номер (ID), имя и язык в Telegram; в какие дни вы открывали приложение и по какой ссылке пришли впервые; сколько у вас файлов и какого они размера; когда каждый загружен; фото это или видео; что вы загрузили один и тот же файл повторно (защита от дубликатов); ваш тариф и платежи звёздами; в общих альбомах — кто участник и с какой ролью, кто что загрузил и кто поставил реакцию. IP-адрес видит Cloudflare, через который идёт соединение; наш сервер использует его только для ограничения частоты запросов и не хранит в базе. Всё остальное — содержимое, подписи, люди, даты и место съёмки, названия альбомов, сами реакции — зашифровано.

Чего мы доказать не можем

Это веб-приложение: его код каждый раз приходит с нашего сервера, и теоретически мы могли бы однажды подменить его. Эту проблему не решил полностью ни один веб-сервис со сквозным шифрованием. Мы закрываем её тем, что код открыт и читаем (способ 3), и готовим независимый аудит кода — его отчёт опубликуем на странице «Безопасность»; а когда проект вырастет — выложим историю кода на GitHub. И ещё одно: шифрование не защитит, если чужой человек держит в руках ваш разблокированный телефон — для этого есть секретные альбомы под отдельным паролем.

Вопросы — @MyAlbums_support или [email protected].

Открыть в Telegram