Telegraft

Тип бота

Впускать нужных людей — и уметь объяснить, на каком основании

Бот доступа с KYC проверяет личность и юрисдикцию через лицензированного провайдера, прежде чем впустить человека в группу или канал Telegram, и сохраняет след доказательств. Он обеспечивает соблюдение правил доступа. Сам он не является провайдером KYC и не делает нелицензированное предложение законным.

Боты доступа с проверкой KYC: цена, сроки и ограничения

Фиксированная цена
$7,500 USD
Срок
32 календарных дня с момента старта
Заявки на вступление
Только одобрить или отклонить — промежуточного допуска нет
Необходимые права
Администратор с правом добавлять и удалять участников
Признак резидентства
Telegram не даёт ни одного, на который можно опереться
Удаление
Убирает участника, но не его копию прошлых сообщений

As of 2025-10-01, Telegram Bot API 13.4

Какую задачу это решает

У регулируемого криптобизнеса с сообществом в Telegram есть проблема, которой нет у нерегулируемых конкурентов. Часть того, что обсуждается в этом канале, в отдельных юрисдикциях считается продвижением финансового продукта. Кто именно находится в комнате, поэтому имеет юридическое значение, а ответ «все, у кого есть ссылка-приглашение» перестаёт быть защитимым после того, как ссылку переслали четыреста раз.

Первый порыв — закрыть группу и раздавать приглашения вручную — ломается на сотом участнике и не оставляет никакой записи о том, почему кого-то впустили. Следующий порыв — анкета, но она собирает заявления, а не проверку: строчка, где пользователь написал, что не является налоговым резидентом США, ничего не доказывает, и регулятор, спросивший, как вы это установили, скриншотом галочки не удовлетворится.

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

Как идёт разработка

  1. Пользователь запрашивает доступ и уходит к провайдеру

    Сценарий начинается с заявки на вступление или со ссылки-приглашения. Бот передаёт человека в размещённый у KYC-провайдера процесс, поэтому документы, удостоверяющие личность, через вашу инфраструктуру не проходят — так и безопаснее, и проще потом объясняться.

    deep-link
  2. Провайдер возвращает вердикт, а не документы

    Прошёл, не прошёл или ручная проверка — плюс определённая страна и ссылка на дело. Хранение вердикта вместо документов оставляет ваш объём данных небольшим, а обязательства соразмерными.

    webhook
  3. Правила по юрисдикциям применяются отдельно для каждого канала

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

    chat-member-updates
  4. При успешной проверке допуск происходит сразу и без человека

    Бот одобряет заявку на вступление за считаные секунды. Очереди ручного одобрения — то место, где такие системы разваливаются, потому что в момент прохождения проверки очередь никогда не укомплектована.

    chat-member-updates
  5. Отказ объясняется, но без унижения

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

    commands
  6. Истёкшая проверка закрывает доступ

    Там, где ваш режим требует периодической перепроверки, участнику приходит напоминание до истечения, а после истечения он удаляется. Доступ, переживший своё основание, — ровно та дыра, которую ищет аудит.

    chat-member-updates

Что Telegram разрешает, а что нет

Заявку на вступление в Telegram можно только одобрить или отклонить через Bot API; промежуточного состояния допуска нет.

Человек на ручной проверке остаётся полностью снаружи группы, и ему надо об этом сказать. Текст для этого состояния ожидания важен, потому что именно здесь чаще всего бросают процесс.

Чтобы управлять доступом, бот должен быть администратором с правом добавлять и удалять участников.

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

Telegram не отдаёт никакого надёжного признака местоположения или резидентства пользователя.

Юрисдикция берётся из решения KYC-провайдера, а не из IP-адреса и не из телефонного кода. И то и другое меняется в два счёта, и доказательством не является ни то ни другое.

Ссылка-приглашение, однажды разошедшаяся, работает у каждого, кто ею владеет, — если не включены заявки на вступление.

Группу необходимо настроить так, чтобы одобрения требовало каждое вступление. Бот-фильтр перед открытой ссылкой декоративен, и такая ошибка настройки встречается сплошь и рядом.

Бот может удалить участника, но Telegram не удаляет у него копию ранее полученных сообщений.

Отзыв доступа прекращает будущее раскрытие, но не прошлое. Там, где регулятора волнует уже увиденное, контроль доступа закрывает лишь часть вопроса.

Когда это не нужно строить

  • Ваше предложение изначально не лицензировано. Фильтрация аудитории не делает нелицензированное продвижение законным — она делает его задокументированным.
  • У вас нет договора с KYC-провайдером и нет намерения его заключать. Бот приводит проверку в исполнение, но не выполняет её, и версии без провайдера здесь не существует.
  • Ваше сообщество информационное и никакого регулируемого содержания не несёт. Проверка личности в обычной дискуссионной группе будет стоить вам сообщества и ничего не даст взамен.
  • Вы хотите, чтобы бот хранил документы, удостоверяющие личность. Он не должен этого делать, и схема, которая так поступает, взяла на себя обязательство по защите данных, без которого могла обойтись.

На чём это работает

КомпонентВерсияЗачем
grammY1.45Фреймворк бота с обработчиками заявок на вступление и изменений состава участников.
Cloudflare WorkerscurrentСреда исполнения и приёмная точка вебхуков провайдера.
Cloudflare D1currentВердикты, правила по юрисдикциям, решения о допуске и след аудита.
Zod4.4Валидация обратных вызовов провайдера — критичного для безопасности входа.
TypeScript5.9Строгий режим; правила юрисдикций типизированы, а не сверяются строками.

О чём спрашивают перед стартом

Сделает ли это нас соответствующими требованиям регулятора?

Нет. Оно приводит в исполнение правило, которое сформулировали вы, и оставляет доказательства того, что правило исполнялось. Верное ли это правило и лицензировано ли само ваше предложение — вопросы к вашим юристам, и они стоят выше всего, что может сделать бот.

Проходят ли документы, удостоверяющие личность, через вашу инфраструктуру?

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

Как определяется юрисдикция человека?

Её определяет KYC-провайдер по проверенным документам. Не по IP-адресу и не по телефонному коду страны: и то и другое меняется в два счёта, и ни то ни другое не выдержит вопроса о том, как именно вы установили резидентство.

Что происходит с тем, кто проверку не прошёл?

Ему сообщают, какая категория проверки не пройдена и что можно сделать дальше, не раскрывая свод правил настолько, чтобы его можно было обойти. Пустой отказ порождает нагрузку на поддержку, а в случаях, когда проверка ошиблась, — совершенно справедливые претензии.

Умеет ли он удалять участников с истёкшей проверкой?

Да: предупреждение до истечения и удаление после. Доступ, переживший основание, на котором его выдали, — ровно та дыра, которую ищет аудит, поэтому обработка истечения входит в разработку, а не предлагается опцией.

С какими KYC-провайдерами вы работаете?

Чаще всего криптобизнес в этом регионе приходит к Sumsub и Onfido, и у обоих рабочая модель вебхуков. Выбор за вами, договор вы заключаете напрямую, а бот интегрируется с тем, с кем у вас соглашение.