После прошлой статьи про бытовые ошибки в переводах по номеру телефона я получил две основные реакции:
«Да почему вообще нужен сторонний сервис, если можно просто переслать номер?»
«Я не доверяю никакому боту — вдруг он подменит номер получателя?»
Эта статья — технический разбор безопасности бытовых переводов:
какие реальные угрозы существуют;
почему пересылка номера в мессенджерах тоже небезопасна;
что можно сделать, чтобы полностью исключить подмену получателя;
и как это реализовано в современных надстройках для переводов.

1. Главная проблема: мы передаём деньги, но используем каналы связи, не предназначенные для передачи платёжных реквизитов
Особенность бытовых переводов в том, что:
деньги идут через банк → это безопасно;
реквизиты передаются через мессенджер → это НЕ безопасно.
Мессенджеры не предназначены для коммуникации «получатель → плательщик».
Поэтому возникают:
подмены номера,
ошибки в одной цифре,
фишинговые визитки,
MITM-атаки через предпросмотр ссылок,
редактирование сообщений задним числом,
пересылка старых неактуальных номеров.
Именно передача реквизита ломает процесс.
2. Что чаще всего ломается в реальной жизни: модель угроз
Вот список реальных атак, которые происходят не в банках, а «между людьми»:
1) Подмена номера в мессенджере
редактирование сообщения,
удаление и новая отправка,
поддельный аккаунт,
расширения/боты в групповых чатах.
2) MITM при предпросмотре ссылки
Если вы отправили человеку ссылку на платёжную визитку, мессенджер открывает её для генерации превью.
В этот момент злоумышленник (или скомпрометированное расширение) может подменить номер.
3) Фишинговые визитки
Сделать поддельную визитку на бесплатном хостинге — проще простого.
Подмена происходит «в одну кнопку», и визуально отличить сложно.
4) Ошибки в цикле “копирую → вставляю → открываю банк”
UX-хрупкость: буфер очистился, выбрали старый номер, вставили в неправильное поле.
5) Компрометация чата
Телефоном пользуются родственники, сотрудники, дети, клоны аккаунтов.
Редактировать отправленные сообщения можно до 48 часов (в некоторых мессенджерах �� бесконечно).
И вот важное — ни одна из этих атак не относится к банкам или СБП.
Все происходят до попадания пользователя в банк.
3. Почему «просто номер» — не всегда безопасно
Пересылка обычного номера кажется простой, но на самом деле:
мессенджеры — слабое звено,
номер не имеет контрольной суммы,
нет механизма проверки подлинности,
номер можно подменить в пути,
Без дополнительного уровня защиты у нас нет способа отличить настоящий реквизит от поддельного.
4. Как решается проблема: механизм «защитной фразы»
И вот здесь появляется то, что в обсуждениях под второй статьёй вызвало интерес.
Что такое защитная фраза?
Это короткая фраза, которую отправитель задаёт в своём профиле.
Например:
«Оранжевый автобус»
«Пингвин на сноуборде»
«Справедливость 2025»
Как она работает?
Отправитель заходит в визитку любого получателя.
Визитка показывает защитную фразу, взятую из его собственного профиля, а не из профиля получателя.
Плательщик видит:
«Да, это мой сервис. Это не фишинг. Это официальная визитка.»Подменить фразу невозможно, потому что она хранится на стороне отправителя.
Важный момент:
Защитная фраза не защищает получателя.
Она защищает плательщика, который не может попасть на поддельную ссылку даже в теории.
👉 Для тех, кто хочет увидеть механизм в действии
(как рекомендовали в комментариях к прошлой статье)
Вот ссылка на бот:
https://t.me/qrperevod_bot
После авторизации вы сразу увидите свою фразу на визитках — это демонстрация защиты в реальном режиме.
5. Что хранится в базе и что НЕ хранится
Данные | Хранятся? | Зачем |
|---|---|---|
Номер получателя | Да | Создание визитки |
Номер отправителя | Нет | Сервис не является посредником |
Сумма платежа | Нет | Не требуется |
Банковские операции | Нет | Деньги идут напрямую через банк |
Защитная фраза | Да | Для защиты отправителя |
История переводов | Да | Только факт, без банковских данных |
Сервис не получает доступ:
— к СБП,
— к банковскому приложению,
— к операциям,
— к сумме.
Он лишь генерирует ссылку и фиксирует факт перевода через кнопку «Я оплатил» (кстати, может назвать кнопку "Отправить уведомление получателю о переводе") - вместо того чтобы спрашивать каждый раз: "Я отправил, пришло..?".
6. Архитектура защиты (коротко и понятно)
Номер хранится в базе в зашифрованном виде
Визитки динамически генерируются и не могут быть подменены пользователем
Защитная фраза привязана к отправителю
QR-код неизменен, но всегда ведёт на актуальные данные
Для переходов используются прямые deeplink-и банков
Никаких промежуточных редиректов между визиткой и банком нет
7. Почему сервис безопаснее пересылки номера в мессенджере
Сравнение по реальным угрозам, а не теории:
Угроза | Мессенджер | Сервис |
|---|---|---|
Подмена номера | Часто | Невозможна |
Редактирование старых сообщений | Да | Не относится к визиткам |
MITM предпросмотров | Да | Не критично из-за защитной фразы |
Фишинговые визитки | Да | Невозможны из-за фразы |
Ошибки в номере | Да | Нет, ном��р подставлен автоматически |
Утечка номера | Высокий риск | Минимальный |
Перевод не туда | Часто | Почти исключён |
8. Публичный roadmap по безопасности
В следующих версиях уже планируются:
проверка подписи визитки,
PWA-режим с локальным кешированием реквизитов,
расширенная защита QR через цифровую подпись,
автоматическая сверка реквизитов при повторном переводе,
журнал безопасности для пользователей.
Если у вас есть предложения — пишите, я собираю идеи из комментов.
Итог
Переводы по номеру — безопасны.
Мессенджеры — нет.
Поэтому защита нужна не переводу, а передаче реквизита.
Защитная фраза — это надстройка, которая полностью закрывает:
фишинг,
подмену номера,
MITM,
ошибки,
старые реквизиты.
Сервис не касается ваших денег.
Он делает бытовые переводы безопаснее и проще.
👉 Попробовать защитную фразу и увидеть визитку:
https://t.me/qrperevod_bot
Если хотите следить за обновлениями, обновлениями безопасности и разбором новых угроз — подписывайтесь на канал проекта: https://t.me/qrperevod
