Безопасность

Что мы делаем с вашими данными — и чего не делаем

LeadHunter работает с реальными Telegram-аккаунтами, поэтому безопасность важнее фич. Ниже — честный разбор: как храним сессии, какой минимальный доступ у бота, какие риски остаются.

Шифрование MTProto-сессий

Когда вы подключаете Telegram-аккаунт, gramjs выдаёт строку сессии — это длинный токен, который заменяет пару «логин + 2FA-пароль». Если он утечёт — это полный угон аккаунта. Поэтому мы:

  • Шифруем AES-256-GCM с уникальным IV (12 байт случайных) для каждой сессии
  • Ключ шифрования хранится как Cloudflare Worker Secret — не в коде, не в БД, не в логах
  • Сессия в БД = ciphertext + IV; без ключа расшифровать невозможно
  • Полная аннигиляция при «Удалить аккаунт»: cascade-delete + logout всех userbot-сессий

Какой доступ имеет бот

Что бот видит

  • Сообщения в чатах, которые вы добавили в задачу
  • Имя, фамилию, @username отправителя — для отображения в Mini App
  • Заголовок и публичный @username чата
  • До 500 символов текста сообщения (для цитаты в карточке лида)

Что бот НЕ видит и НЕ делает

  • Не читает личные переписки
  • Не вступает в чаты сам — только те, где вы уже состоите
  • Не отправляет ничего без явной настройки автоответа
  • Не передаёт данные третьим лицам
  • Не использует ваш аккаунт для других пользователей сервиса

Антиспам и защита от блокировки

Telegram отслеживает паттерны массовой рассылки. Чтобы аккаунт не получил FLOOD_WAIT или PEER_FLOOD, по умолчанию включены:

Случайные задержки

От 30 до 180 секунд между обнаружением и ответом. Имитирует человека.

Кулдаун на чат

В один и тот же чат — не чаще раза в 30 минут. Настраивается.

Кулдаун на пользователя

Одному и тому же человеку — не чаще раза в сутки. Никаких «бомбежек».

Дневной лимит

Не более N ответов в сутки на аккаунт. Дефолт — 50, настраивается.

Тихие часы (UTC)

Окно, когда бот не отвечает. Защищает от ночных рассылок, выглядящих странно.

Минус-слова

Отсекают спам, вакансии, барy, неподходящие запросы — до отправки ответа.

Что мы не гарантируем — и почему

LeadHunter работает через MTProto API. Это «серая зона» относительно ToS Telegram: технически — официальный API, разрешённый для desktop-клиентов. Юридически — Telegram не одобряет автоматизированную рассылку от userbot'ов.

Возможные риски:

  • Временное ограничение отправки (FLOOD_WAIT, PEER_FLOOD)
  • Блокировка аккаунта при агрессивном использовании (сверх наших лимитов)
  • Изменение MTProto API со стороны Telegram

Антиспам-гейты сильно снижают вероятность, но не исключают её. Поэтому рекомендуем отдельный рабочий аккаунт, не личный.

Удаление аккаунта

В Настройках Mini App есть кнопка «Удалить аккаунт». Удаление двухстадийное:

  1. В Mini App нажимаете «Удалить аккаунт» — мы шлём DM в бот с кнопками подтверждения
  2. В боте подтверждаете — только после этого выполняется удаление

Что удаляется:

  • Все ваши задачи и их настройки (ключевики, шаблоны, минус-слова)
  • Все найденные лиды и история сообщений
  • Подключённые Telegram-аккаунты (сессии разрываются у нас и на серверах Telegram)
  • История платежей
  • Запись в таблице пользователей

Бэкапов не остаётся. Восстановление невозможно. Подтверждение в боте действует 10 минут.

Технический стек

Cloudflare Workers
API в edge-сети
Cloudflare D1
SQLite-БД, MTProto-сессии шифруются AES-256-GCM
Cloudflare KV
токены подтверждения, активные сессии
Cloudflare Pages
статика + Mini App SPA
Oracle Cloud VM
userbot engine (gramjs/MTProto)
Tailscale Funnel
Worker → userbot защищённый канал

Disclosure

Нашли уязвимость? Напишите в @leadhunter_ebot или см. /.well-known/security.txt (RFC 9116).

Мы не платим bug bounty, но публично благодарим репортёров и фиксим в течение 72 часов с момента подтверждения.

Прозрачность важнее маркетинга

Если что-то непонятно или хотите глубже — пишите в бот. Отвечаем сами.

Открыть в Telegram