Перейти к содержимому

Медиа и исчезающие сообщения

Начиная с rChat 2.0.0 (протокол v3) приложение для iOS по умолчанию отправляет фото без метаданных, умеет отправлять любые файлы, сохраняет копии на телефон, когда вы этого хотите, и может делать сообщения в чате исчезающими. Надписи интерфейса приводятся по-английски, как в приложении.

Меню вложений предлагает три варианта: Photo (по умолчанию), Send as file и File.

  • Photo отправляет уменьшенную копию: не больше 1600 пикселей по длинной стороне, около 150 КБ, в формате HEIC (или JPEG, если HEIC недоступен). Все метаданные удаляются: местоположение (GPS), сведения о камере, данные EXIF, TIFF, IPTC и XMP, заметки производителя и даты. Изображение поворачивается правильно, а цвета переводятся в sRGB, так что ничто не зависит от удалённых данных.
  • Send as file отправляет исходные байты и исходное имя файла. Перед этим rChat предупреждает: «This sends the original, including any location and camera details in the file.»
  • File открывает системный выбор документов и отправляет любой файл размером чуть меньше 4 МиБ (4 МиБ − 128 КиБ). Файл большего размера отклоняется до отправки.

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

Голосовые сообщения записываются в AAC в аудиофайле MPEG-4 (.m4a), 44,1 кГц, моно, с постоянным битрейтом 64 кбит/с, до 60 секунд. Старые голосовые сообщения по-прежнему воспроизводятся.

  • Полученный файл хранится на телефоне в зашифрованном виде, как другие медиа, и не попадает в резервные копии.
  • rChat никогда не открывает файл сам и не показывает его предпросмотр автоматически; исключение — изображения, которые показываются через проверенный декодер приложения. Чтобы открыть файл, нажмите на него: он откроется через системное меню «Поделиться».
  • Имена файлов очищаются на обоих телефонах: разделители путей и похожие на них символы, управляющие и невидимые символы форматирования (включая переключение направления текста) заменяются на _, точки в начале удаляются, а к именам устройств Windows, например CON, добавляется _ в начале. Тип файла, заявленный отправителем, — только подсказка и никогда не определяет, чем файл откроется.
  • Save to Photos есть в меню любого фото, отправленного или полученного (нажмите и удерживайте его). rChat запрашивает только разрешение добавлять фото, поэтому никогда не может читать вашу медиатеку.
  • Save to Files и Share… есть в меню файлов и голосовых сообщений. rChat записывает временную копию под очищенным именем для меню «Поделиться» и удаляет её, когда меню закрывается.
  • При первом сохранении за сеанс rChat сообщает: «Saved copies leave rChat’s encrypted storage. They follow your Photos and iCloud settings, and a disappearing-message timer won’t delete them.» Это можно отключить в настройках переключателем Warn before saving copies. В чате с таймером исчезающих сообщений уведомление показывается каждый раз.

Любой из двух собеседников может задать таймер чата: Off, 5 minutes, 1 hour, 1 day, 1 week или 4 weeks.

  • Изменение общее. Оно передаётся внутри разговора со сквозным шифрованием, и в обоих чатах появляется строка, например «You set messages to disappear after 1 day» или «Maya turned off disappearing messages». Если вы оба меняете таймер почти одновременно, на обоих телефонах побеждает более позднее изменение.
  • У каждого сообщения свой таймер. Сообщение несёт таймер, который был установлен при отправке, и другой телефон соблюдает его, какой бы ни была его текущая настройка.
  • Когда начинается отсчёт. Для ваших сообщений — когда ретранслятор их принял. Для полученных — когда вы впервые увидели их в открытом чате; если вы так и не открыли чат, через 7 дней после получения.
  • Что удаляется. Когда время истекает, с телефона удаляются сообщение, его фото или файл и его уведомление, а список чатов обновляется. rChat удаляет строки базы данных с безопасным удалением SQLite (secure delete), а затем усекает журнал предзаписи.
  • Когда. Каждый телефон удаляет сообщения, пока rChat открыт, при запуске и во время фоновых проверок.
  • Первые сообщения в запросах не несут таймера, поэтому rChat не даёт прикрепить такое сообщение, пока таймер включён.
  • Собеседник всё равно может сделать снимок экрана, сфотографировать экран или сохранить фото либо файл.
  • Копии, сохранённые в «Фото» или «Файлы», не удаляются.
  • Сообщение удаляется с телефона только тогда, когда этот телефон в следующий раз запускает rChat.
  • Копии, ожидающие на ретрансляторе собеседника не в сети, зашифрованы, и ретранслятор удаляет их не позднее чем через 72 часа.
  • Флеш-память iOS может хранить удалённые данные, по-прежнему зашифрованные ключом файла, пока они не будут перезаписаны.
  • Перевод часов телефона назад откладывает удаление.
  • Нет функции «удалить у всех» для отдельных сообщений и нет обнаружения снимков экрана (на iOS оно ненадёжно и дало бы ложное чувство защищённости).