Тип бота
Впускать нужных людей — и уметь объяснить, на каком основании
Бот доступа с KYC проверяет личность и юрисдикцию через лицензированного провайдера, прежде чем впустить человека в группу или канал Telegram, и сохраняет след доказательств. Он обеспечивает соблюдение правил доступа. Сам он не является провайдером KYC и не делает нелицензированное предложение законным.
Боты доступа с проверкой KYC: цена, сроки и ограничения
- Фиксированная цена
- $7,500 USD
- Срок
- 32 календарных дня с момента старта
- Заявки на вступление
- Только одобрить или отклонить — промежуточного допуска нет
- Необходимые права
- Администратор с правом добавлять и удалять участников
- Признак резидентства
- Telegram не даёт ни одного, на который можно опереться
- Удаление
- Убирает участника, но не его копию прошлых сообщений
As of 2025-10-01, Telegram Bot API 13.4
Какую задачу это решает
У регулируемого криптобизнеса с сообществом в Telegram есть проблема, которой нет у нерегулируемых конкурентов. Часть того, что обсуждается в этом канале, в отдельных юрисдикциях считается продвижением финансового продукта. Кто именно находится в комнате, поэтому имеет юридическое значение, а ответ «все, у кого есть ссылка-приглашение» перестаёт быть защитимым после того, как ссылку переслали четыреста раз.
Первый порыв — закрыть группу и раздавать приглашения вручную — ломается на сотом участнике и не оставляет никакой записи о том, почему кого-то впустили. Следующий порыв — анкета, но она собирает заявления, а не проверку: строчка, где пользователь написал, что не является налоговым резидентом США, ничего не доказывает, и регулятор, спросивший, как вы это установили, скриншотом галочки не удовлетворится.
Работает же вещь скучная и неизбежная: идентификацию делает лицензированный провайдер, бот приводит в исполнение его вердикт, и каждое решение о допуске записывается вместе с основанием и временем. Бот — это слой принуждения и аудита, а не верификации. Смешение этих двух ролей и порождает систему, которая выглядит соответствующей требованиям и не доказывает ничего.
Как идёт разработка
Пользователь запрашивает доступ и уходит к провайдеру
Сценарий начинается с заявки на вступление или со ссылки-приглашения. Бот передаёт человека в размещённый у KYC-провайдера процесс, поэтому документы, удостоверяющие личность, через вашу инфраструктуру не проходят — так и безопаснее, и проще потом объясняться.
deep-linkПровайдер возвращает вердикт, а не документы
Прошёл, не прошёл или ручная проверка — плюс определённая страна и ссылка на дело. Хранение вердикта вместо документов оставляет ваш объём данных небольшим, а обязательства соразмерными.
webhookПравила по юрисдикциям применяются отдельно для каждого канала
Канал, где обсуждается продукт, который нельзя продвигать в конкретной стране, просто не впускает её резидентов. Правила заданы поканально, потому что у бизнеса редко бывает одно общее ограничение на всё.
chat-member-updatesПри успешной проверке допуск происходит сразу и без человека
Бот одобряет заявку на вступление за считаные секунды. Очереди ручного одобрения — то место, где такие системы разваливаются, потому что в момент прохождения проверки очередь никогда не укомплектована.
chat-member-updatesОтказ объясняется, но без унижения
Какая категория проверки не пройдена — на уровне, не раскрывающем сам свод правил, — и что человек может сделать дальше. Пустой отказ создаёт нагрузку на поддержку, а там, где проверка ошиблась, ещё и вполне заслуженный гнев.
commandsИстёкшая проверка закрывает доступ
Там, где ваш режим требует периодической перепроверки, участнику приходит напоминание до истечения, а после истечения он удаляется. Доступ, переживший своё основание, — ровно та дыра, которую ищет аудит.
chat-member-updates
Что Telegram разрешает, а что нет
Заявку на вступление в Telegram можно только одобрить или отклонить через Bot API; промежуточного состояния допуска нет.
Человек на ручной проверке остаётся полностью снаружи группы, и ему надо об этом сказать. Текст для этого состояния ожидания важен, потому что именно здесь чаще всего бросают процесс.
Чтобы управлять доступом, бот должен быть администратором с правом добавлять и удалять участников.
Ваш контроль держится на том, что бот остаётся администратором. Снятие этого права молча отключает фильтр, поэтому за ним следят и на него шлют оповещение, а не считают его данностью.
Telegram не отдаёт никакого надёжного признака местоположения или резидентства пользователя.
Юрисдикция берётся из решения KYC-провайдера, а не из IP-адреса и не из телефонного кода. И то и другое меняется в два счёта, и доказательством не является ни то ни другое.
Ссылка-приглашение, однажды разошедшаяся, работает у каждого, кто ею владеет, — если не включены заявки на вступление.
Группу необходимо настроить так, чтобы одобрения требовало каждое вступление. Бот-фильтр перед открытой ссылкой декоративен, и такая ошибка настройки встречается сплошь и рядом.
Бот может удалить участника, но Telegram не удаляет у него копию ранее полученных сообщений.
Отзыв доступа прекращает будущее раскрытие, но не прошлое. Там, где регулятора волнует уже увиденное, контроль доступа закрывает лишь часть вопроса.
Когда это не нужно строить
- Ваше предложение изначально не лицензировано. Фильтрация аудитории не делает нелицензированное продвижение законным — она делает его задокументированным.
- У вас нет договора с KYC-провайдером и нет намерения его заключать. Бот приводит проверку в исполнение, но не выполняет её, и версии без провайдера здесь не существует.
- Ваше сообщество информационное и никакого регулируемого содержания не несёт. Проверка личности в обычной дискуссионной группе будет стоить вам сообщества и ничего не даст взамен.
- Вы хотите, чтобы бот хранил документы, удостоверяющие личность. Он не должен этого делать, и схема, которая так поступает, взяла на себя обязательство по защите данных, без которого могла обойтись.
На чём это работает
| Компонент | Версия | Зачем |
|---|---|---|
| grammY | 1.45 | Фреймворк бота с обработчиками заявок на вступление и изменений состава участников. |
| Cloudflare Workers | current | Среда исполнения и приёмная точка вебхуков провайдера. |
| Cloudflare D1 | current | Вердикты, правила по юрисдикциям, решения о допуске и след аудита. |
| Zod | 4.4 | Валидация обратных вызовов провайдера — критичного для безопасности входа. |
| TypeScript | 5.9 | Строгий режим; правила юрисдикций типизированы, а не сверяются строками. |
О чём спрашивают перед стартом
Сделает ли это нас соответствующими требованиям регулятора?
Нет. Оно приводит в исполнение правило, которое сформулировали вы, и оставляет доказательства того, что правило исполнялось. Верное ли это правило и лицензировано ли само ваше предложение — вопросы к вашим юристам, и они стоят выше всего, что может сделать бот.
Проходят ли документы, удостоверяющие личность, через вашу инфраструктуру?
Нет, и не должны. Пользователь проходит проверку в размещённом у провайдера процессе, а бот получает вердикт со ссылкой на дело. Так объём ваших данных остаётся небольшим, а обязательства — соразмерными тому, что вам действительно нужно.
Как определяется юрисдикция человека?
Её определяет KYC-провайдер по проверенным документам. Не по IP-адресу и не по телефонному коду страны: и то и другое меняется в два счёта, и ни то ни другое не выдержит вопроса о том, как именно вы установили резидентство.
Что происходит с тем, кто проверку не прошёл?
Ему сообщают, какая категория проверки не пройдена и что можно сделать дальше, не раскрывая свод правил настолько, чтобы его можно было обойти. Пустой отказ порождает нагрузку на поддержку, а в случаях, когда проверка ошиблась, — совершенно справедливые претензии.
Умеет ли он удалять участников с истёкшей проверкой?
Да: предупреждение до истечения и удаление после. Доступ, переживший основание, на котором его выдали, — ровно та дыра, которую ищет аудит, поэтому обработка истечения входит в разработку, а не предлагается опцией.
С какими KYC-провайдерами вы работаете?
Чаще всего криптобизнес в этом регионе приходит к Sumsub и Onfido, и у обоих рабочая модель вебхуков. Выбор за вами, договор вы заключаете напрямую, а бот интегрируется с тем, с кем у вас соглашение.