Проблема возможности редактирования
Представьте, что вы получаете сообщение от кого-то. Вы читаете его, действуете соответствующим образом и продолжаете свой день. Через час вы возвращаетесь к разговору, а в сообщении написано что-то другое. Не то чтобы они прислали новое — они изменили то, что вы уже прочитали.
Это то, что позволяют многие мессенджеры. Редактировать сообщения после отправки. Удалять сообщения из истории другого человека. Переписывать разговор так, будто сказанное никогда не было сказано.
Это может показаться удобной функцией. Но у неё есть цена: она разрушает доверие к общей истории.
Чат как общий протокол
В Solo2 история разговора — это общий протокол (акт) между двумя людьми. То, что видите вы — это именно то, что видит другой человек. Сообщение за сообщением. Слово за словом.
Это как подписанный контракт. После подписания ни одна из сторон не может зачеркнуть строку и написать что-то другое. Она может добавить новый пункт — отправить новое сообщение. Она может уничтожить свою копию — удалить из своего сейфа. Но она не может изменить то, что уже написано.
Окно для исправления
Все мы совершаем ошибки. Опечатка, сообщение, отправленное не тому человеку, порыв, о котором жалеешь в следующую секунду. Поэтому Solo2 дает вам 60-секундное окно после отправки сообщения.
В течение этих 60 секунд вы можете удалить сообщение, и оно исчезнет из обоих сейфов — вашего и вашего контакта. Как будто оно никогда не отправлялось.
Через 60 секунд сообщение становится частью протокола. Вы можете удалить свою копию, если хотите — ваш сейф принадлежит вам, и вы делаете с ним что хотите. Но копия вашего контакта остается нетронутой. Потому что его сейф тоже принадлежит ему.
Два незыблемых принципа
Первое: данные каждого сейфа священны. Никто — ни другой пользователь, ни сервер, ни мы — не может манипулировать, изменять или получать доступ к данным в сейфе пользователя.
Второе: общая история целостна. Информация, видимая на одной стороне туннеля, идентична той, что видна на другой стороне.
Когда эти два принципа вступают в конфликт — например, если пользователь удаляет сообщение из своего сейфа — первый имеет приоритет. Ваш сейф принадлежит вам. Но это не дает вам права изменять сейф другого.
Почему это важно
Доверие в приватном разговоре строится на уверенности в том, что то, что вы видите — это именно то, что было сказано. Если другой человек может переписать историю, вы больше не ведете беседу — вы видите отредактированную версию того, что произошло.
В Solo2 что сказано, то сказано. Не потому, что мы не можем реализовать редактирование — мы могли бы. А потому, что мы выбираем этого не делать. Потому что целостность ваших разговоров стоит больше, чем удобство возможности их подправить.