Legan Studio
Все статьи
~ 20 мин чтения

Оферта и согласие ПДн в Telegram-боте

Как корректно оформить публичную оферту и согласие на обработку персональных данных в Telegram-боте: содержание документов, момент акцепта, юридическая сила.

  • Telegram
  • юр.аспекты

Любой коммерческий Telegram-бот, принимающий деньги или собирающий персональные данные, попадает под действие Гражданского кодекса, 152-ФЗ, ЗоЗПП и 38-ФЗ одновременно. Без публичной оферты, согласия на обработку ПДн и согласия на трансграничную передачу вы рискуете штрафами от Роскомнадзора, претензиями от пользователей и блокировкой рекламных рассылок. Разберём, как оформить документы, как встроить акцепт прямо в сценарий бота, как фиксировать факт согласия в БД и какие подводные камни связаны с тем, что Telegram — иностранный мессенджер с серверами вне РФ.

Юридическая база для бота в Telegram

В отличие от российских мессенджеров, Telegram добавляет к стандартному пакету законов ещё и вопрос трансграничной передачи. Применительно к Telegram-боту работают:

  • 152-ФЗ «О персональных данных» — основной закон. Регулирует сбор, хранение, передачу любых ПДн пользователя (имя, телефон, email, Telegram user ID, история сообщений, IP). Обязывает иметь политику обработки ПДн, согласие, уведомление в РКН.
  • 149-ФЗ «Об информации» — регулирует размещение информации в интернете и локализацию данных граждан РФ на территории РФ (ч. 5 ст. 18 152-ФЗ дублирует это требование).
  • ГК РФ ст. 437–438 — публичная оферта и акцепт. Ст. 437 определяет публичную оферту как предложение неопределённому кругу лиц на одинаковых условиях; ст. 438 говорит, что акцепт может быть совершён конклюдентным действием — нажатием кнопки «Купить», оплатой или началом использования.
  • ЗоЗПП (Закон РФ № 2300-1) — требования к информации о товаре/услуге, право на возврат (ст. 26.1 — дистанционные продажи, 7 дней), порядок претензий.
  • 38-ФЗ «О рекламе» — рассылки и маркетинг. Ст. 18 запрещает рекламу без предварительного согласия абонента; с 2022 года вся интернет-реклама маркируется через ОРД и попадает в ЕРИР.
  • 54-ФЗ «О применении ККТ» — если бот принимает оплату, то на каждую транзакцию обязателен фискальный чек. Чек должен уйти на email/телефон покупателя.
  • 242-ФЗ (правки в 152-ФЗ) — локализация баз с ПДн граждан РФ на серверах в РФ. Telegram сам по себе обязанность не нарушает, но ваша БД с привязкой user_id к телефону должна храниться в РФ.

Главный нюанс Telegram: серверы мессенджера находятся за рубежом, поэтому передача данных в Telegram (при ответе бота, при работе с request_contact) формально является трансграничной передачей ПДн. Это требует отдельного уведомления в РКН и отдельного блока в политике.

Что такое публичная оферта

Публичная оферта (ст. 437 ГК РФ) — это предложение, обращённое к неопределённому кругу лиц, заключить договор на одинаковых для всех условиях. Когда пользователь нажимает «Купить», «Заказать» или «Принять условия», он совершает акцепт (ст. 438 ГК РФ), и между ним и продавцом возникает договор.

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

Акцепт может быть конклюдентным (через действие): сама оплата уже считается согласием. Но для защиты на случай спора лучше иметь явное подтверждение (отдельная кнопка «Принимаю условия») и хранить факт акцепта в БД с привязкой к версии текста.

Когда оферта в боте обязательна

Договор-оферту нужно оформлять, когда бот:

  • продаёт товары или услуги (включая цифровые);
  • оформляет подписку с регулярными списаниями;
  • предоставляет платный доступ к контенту, каналу, чату или функциям;
  • собирает предоплату/задаток;
  • работает с пользовательским контентом (UGC), комментариями, отзывами, объявлениями;
  • предлагает партнёрскую/реферальную программу с выплатами.

Если бот полностью бесплатный, не собирает ничего кроме user_id и не показывает рекламу — формально оферта не требуется, но политика обработки ПДн всё равно нужна.

Структура хорошей оферты — 10 обязательных разделов

  1. Реквизиты оператора — наименование (ИП ФИО или ООО «Название»), ИНН, ОГРН/ОГРНИП, юридический адрес, банковские реквизиты, контактный email и телефон.
  2. Термины и определения — что такое «Бот», «Пользователь», «Услуга», «Личный кабинет», «Сайт», «Mini App». Без этого спорные ситуации трудно разруливать.
  3. Предмет договора — что именно компания обязуется предоставить (услугу, товар, доступ к контенту), в каком объёме, на какой срок.
  4. Цена и порядок оплаты — тарифы, способы оплаты (карта, СБП, ЮKassa, Telegram Stars, криптовалюта), момент возникновения обязательства, валюта, НДС.
  5. Права и обязанности сторон — что должна каждая сторона, какие действия пользователя считаются нарушением условий.
  6. Возврат денежных средств — в соответствии с ЗоЗПП: 7 дней для дистанционных продаж непродовольственных товаров (ст. 26.1), отдельные правила для цифровых товаров и услуг, порядок подачи заявления.
  7. Ответственность сторон, обстоятельства непреодолимой силы — ограничения ответственности, неустойки, форс-мажор (включая блокировку Telegram, недоступность платёжной системы).
  8. Срок действия и порядок изменения договора — как уведомляется пользователь об изменениях (за 7–14 дней через push в бот), считается ли молчание согласием.
  9. Порядок разрешения споров — обязательный досудебный претензионный порядок (10 дней по ЗоЗПП), подсудность.
  10. Реквизиты и подписи — полный блок реквизитов в конце документа, дата редакции и номер версии.

Без любого из этих пунктов оферта формально есть, но защищает плохо. На практике суды разворачивают «куцые» оферты в пользу потребителя.

Согласия в боте — отдельные документы

Согласие на обработку ПДн — отдельный документ от оферты (требование Минцифры и сложившейся практики РКН). Нельзя «спрятать» согласие в общий текст или принимать одной кнопкой для обоих документов — такое согласие признаётся ничтожным.

В Telegram-боте нужны минимум четыре отдельных документа:

  • Согласие на обработку ПДн (ст. 9 152-ФЗ) — обязательно всегда, когда бот собирает любые ПДн.
  • Согласие на трансграничную передачу ПДн — обязательно для Telegram, потому что серверы мессенджера расположены за пределами РФ. С 1 марта 2023 — отдельная форма уведомления в РКН по ст. 12 152-ФЗ.
  • Согласие на получение рекламной/информационной рассылки (ст. 18 38-ФЗ) — нужно отдельно для маркетинговых сообщений; сервисные уведомления о статусе заказа в это согласие не входят.
  • Согласие на cookies и трекинг — для Mini App, по аналогии с сайтом; нужно для Яндекс.Метрики, Google Analytics, Pixel.

Каждое согласие — отдельная кнопка/чекбокс. Пред-отмеченные галочки и «согласие по умолчанию» закон не признаёт.

Структура согласия на обработку ПДн (по ст. 9 ч. 4 152-ФЗ)

Без любого из обязательных пунктов согласие признаётся ничтожным. Минимум:

  1. Идентификация субъекта — для бота это Telegram user_id плюс предоставленные ФИО, телефон, email.
  2. Наименование и адрес оператора — с ИНН/ОГРНИП и контактом для запросов субъектов.
  3. Цель обработки — конкретная: «оформление заказа на услугу X», «отправка сервисных уведомлений», а не «улучшение сервиса».
  4. Перечень обрабатываемых ПДн — поименно, без обобщений: ФИО, телефон, email, адрес доставки, user_id, история сообщений, IP.
  5. Перечень действий — формулировка из ст. 3 п. 3: сбор, запись, систематизация, хранение, уточнение, использование, передача, обезличивание, блокирование, удаление.
  6. Срок действия и порядок отзыва — например, «до момента отзыва через команду /withdraw_consent».
  7. Подпись субъекта — для бота это нажатие кнопки «Согласен» с фиксацией user_id, хеша версии текста, timestamp и IP в журнале.

Где размещать документы и как ссылаться

Самая надёжная схема: хранить полные тексты на собственном сайте (не только в Telegram), а в боте давать ссылки. Структура URL:

  • your-domain.ru/offer — публичная оферта;
  • your-domain.ru/privacy — политика обработки ПДн;
  • your-domain.ru/consent — текст согласий, которые принимает пользователь;
  • your-domain.ru/marketing-consent — отдельно согласие на рекламную рассылку.

В боте — команды /offer, /privacy, /consent и пункты в главном меню. При нажатии бот выдаёт ссылку на сайт + краткую человеческую выжимку.

В Mini App — отдельный экран онбординга с чекбоксами и ссылками; без галочек кнопка «Далее» неактивна. На сайте — отдельная страница с историей версий и архивом старых редакций.

Как фиксировать согласие в БД

При споре с РКН или пользователем нужно доказать факт и содержание согласия. Минимальная схема таблицы acceptance_log:

create table acceptance_log (
  id              bigserial primary key,
  user_id         bigint not null,             -- Telegram user_id
  document_kind   text not null,               -- 'pdn' | 'offer' | 'marketing' | 'cross_border' | 'cookies'
  document_version text not null,              -- '2026-01-15' или semver
  document_hash   char(64) not null,           -- sha256 от текста версии
  document_url    text not null,               -- ссылка на хранимую копию
  granted_at      timestamptz not null default now(),
  ip              inet,                        -- если получили (Mini App)
  user_agent      text,
  source          text not null default 'tg-bot',
  withdrawn_at    timestamptz,
  withdraw_reason text
);

create index on acceptance_log (user_id, document_kind, withdrawn_at);

Хранить нужно: user_id, тип документа, версию, хеш текста (SHA-256), timestamp, IP (если есть). Этого пакета достаточно, чтобы при споре предъявить именно тот текст, на который пользователь согласился.

Версионирование документов

Оферта и политика будут меняться. Чтобы при споре можно было предъявить тот текст, на который пользователь согласился:

  • Хранить полную историю версий в git с тегами (или в БД с архивом).
  • При записи акцепта сохранять хеш SHA-256 версии текста.
  • При обновлении существенных условий (цены, предмет, ответственность) — повторно запросить согласие у активной аудитории через push в бот.
  • При обновлении несущественных условий (опечатки, реквизиты) — допустимо уведомление и считать молчание согласием через 14 дней (если это прописано в оферте).
  • В тексте оферты указать дату последней редакции и номер версии.

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

Защита прав потребителя в боте

ЗоЗПП работает в боте так же, как в обычном интернет-магазине, с тремя нюансами:

  • Возврат цифрового товара — спорная зона. Если контент уже доступен пользователю (открытый курс, скачанный файл), вернуть его нельзя — но обязательно явное предупреждение перед покупкой, что после открытия возврат невозможен.
  • 7 дней на возврат физического товара (ст. 26.1 ЗоЗПП) — если товар не подошёл, без объяснения причин. Срок начинается с момента передачи товара.
  • 14 дней с момента информирования о возврате — если продавец не указал в оферте порядок возврата при заключении договора.

Обязательная информация о товаре до покупки (ст. 26.1 ч. 2 ЗоЗПП): цена, потребительские свойства, адрес продавца, место изготовления, срок службы/годности, гарантия, цена и условия приобретения, доставка, оплата.

Возвраты для подписок и разовых услуг

  • Подписка — пользователь имеет право отказаться в любой момент. Возврат рассчитывается пропорционально неиспользованной части периода (если иное не прописано в оферте). Пример: оплачено 1000 ₽ за 30 дней, использовано 10 дней — возврат 666,67 ₽.
  • Разовая услуга, не оказанная — полный возврат.
  • Разовая услуга, оказанная некачественно — возврат + неустойка (3% за каждый день просрочки устранения недостатков по ЗоЗПП).
  • Цифровой контент, доставленный — возврат не обязателен, но рекомендуется для сохранения репутации.

Срок ответа на претензию по ЗоЗПП — 10 дней. Срок возврата денег — 10 дней с момента предъявления требования.

Бот для несовершеннолетних

Согласие несовершеннолетнего до 14 лет даёт законный представитель (ч. 6 ст. 9 152-ФЗ, ст. 26 ГК РФ). С 14 до 18 — сам подросток с письменного согласия родителей для значимых операций.

Для бота это означает:

  • при регистрации спросить дату рождения / возрастную категорию (16+ / 18+);
  • если пользователь указывает возраст до 18 — переводить в режим, требующий согласия представителя (например, отдельная ссылка для родителя с QR-кодом);
  • не показывать рекламу, нарушающую ст. 6 38-ФЗ (алкоголь, азартные игры, финансовые услуги несовершеннолетним).

Возрастная самодекларация (юзер сам ставит галочку «мне 18+») юридически достаточна для большинства случаев. Косвенные сигналы (анализ поведения, школьная тематика) — для усиленной модерации.

B2B-боты: договор-оферта с ИП и юр.лицами

B2B-сценарии в боте отличаются от B2C:

  • ЗоЗПП не применяется (он только для физлиц-потребителей);
  • возвраты и претензии регулируются ГК РФ (ст. 475, 503) и условиями оферты;
  • обязательно выставление счёта, акта выполненных работ, УПД через ЭДО или email;
  • НДС учитывается по системе налогообложения продавца (УСН/ОСНО);
  • реквизиты покупателя бот должен запросить отдельным шагом: ИНН, КПП, ОГРН, юр.адрес, банковские реквизиты;
  • акцепт оферты совершает уполномоченное лицо; при крупных суммах нужна доверенность.

В оферте B2B-бота обязательно прописать: что считается акцептом (оплата счёта, нажатие кнопки сотрудником с корпоративного аккаунта), как передаются закрывающие документы, в какой срок.

Шаблон короткого согласия в боте

Перед нажатием кнопки «Согласен» бот показывает сообщение:

Для работы с ботом необходимо ваше согласие на обработку персональных данных и на трансграничную передачу через сервис Telegram (серверы за пределами РФ).

Мы будем хранить ваш user_id, имя, телефон (если предоставите) и историю заказов, чтобы оформлять услуги и присылать сервисные уведомления. Срок хранения — до отзыва согласия. Отозвать можно командой /withdraw_consent.

Полные тексты: Политика · Согласие · Оферта

[✅ Согласен с обработкой ПДн] [✅ Согласен с трансграничной передачей] [❌ Отказаться]

Маркетинговая рассылка — отдельная кнопка после основного согласия, не в общей куче.

Где взять шаблон оферты

Варианты по убыванию надёжности:

  1. Юрист-практик с опытом в e-commerce (стоимость 30 000 – 80 000 ₽) — оптимально. Шаблон под ваш бизнес, риски учтены.
  2. Готовые шаблоны от ЮрКомпани, Гарант, КонсультантПлюс (5 000 – 15 000 ₽) — приемлемо, но нужна адаптация под бот.
  3. Конструкторы оферт (Тинькофф, Точка) — базовые шаблоны бесплатно или дёшево; подходят для простых случаев.
  4. Скопированная оферта конкурентакатегорически нельзя. Помимо нарушения авторского права на тексты, у конкурента могут быть свои реквизиты, формулировки под другую модель монетизации, неучтённые риски.

Юр-аудит перед запуском (1–3 часа консультации, 10 000 – 30 000 ₽) окупается на любом мало-мальски серьёзном инциденте.

Уведомления в РКН

До начала обработки ПДн оператор обязан подать в Роскомнадзор:

  1. Уведомление об обработке ПДн — форма на pd.rkn.gov.ru, бесплатно. Срок рассмотрения — около 30 дней. После — запись в реестре операторов (публичная информация).
  2. Уведомление о трансграничной передаче ПДн — отдельная форма, обязательно с 1 марта 2023 (ст. 12 152-ФЗ). Для Telegram — обязательно, потому что мессенджер физически передаёт данные за пределы РФ.

Без этих уведомлений работа считается незаконной. Проверка их наличия — одно из первых действий РКН при инциденте.

Маркетинговые рассылки и 38-ФЗ

Рассылка рекламных сообщений по списку пользователей бота — это распространение рекламы по сетям электросвязи (ст. 18 38-ФЗ). Для законной рассылки нужно:

  • отдельное согласие на рекламу — нельзя получить его одной кнопкой вместе с согласием на обработку ПДн; формулировка должна явно упоминать «рекламные» или «маркетинговые» сообщения;
  • отписка одним кликом в каждом сообщении — кнопка «Отписаться» под промо-сообщением, без переходов в личный кабинет и без капчи;
  • маркировка рекламы — с 1 сентября 2022 любая интернет-реклама проходит через оператора рекламных данных (ОРД), получает токен erid и попадает в Единый реестр интернет-рекламы (ЕРИР);
  • в самом сообщении — пометка «Реклама», erid и юридический идентификатор рекламодателя (наименование/ИНН).

Шаблон промо-сообщения в боте:

Реклама. ИП Иванов И.И., ИНН 770000000000. erid: 2VtzqxXXXXX

Скидка 20% на курс «Telegram-бот для бизнеса» до конца недели. Подробнее

[Отписаться от рассылки]

Без erid и пометки — штраф по ст. 14.3 КоАП (от 100 000 ₽ для юрлиц) и риск блокировки рассылок по жалобам пользователей.

Сценарий отзыва согласия

Право на отзыв согласия — императивная норма (ч. 2 ст. 9 152-ФЗ), её нельзя ограничить договором. UX-сценарий в боте:

  1. Пользователь вызывает команду /withdraw_consent или жмёт кнопку «Отозвать согласие» в меню профиля.
  2. Бот показывает предупреждение: «После отзыва мы прекратим обработку ваших данных. Активные заказы будут завершены, история удалена в течение 30 дней. Продолжить?» — кнопки «Да, отозвать» / «Отмена».
  3. На подтверждении в acceptance_log ставится withdrawn_at = now(). Запускается фоновая задача на удаление/обезличивание ПДн.
  4. Пользователь получает подтверждение и переводится в гостевой/read-only режим.

Срок реакции на отзыв — не более 30 дней (ч. 5 ст. 21 152-ФЗ). Если данные нужны для исполнения уже заключённого договора (например, оплаченный, но не доставленный заказ) — обработка продолжается до исполнения, но об этом нужно явно сообщить пользователю.

Отдельный сценарий — для запросов субъекта по ст. 14 152-ФЗ: получение копии своих данных, уточнение, блокирование. Срок ответа — 10 рабочих дней с возможностью продления ещё на 5.

Telegram TOS — отдельный риск

Помимо российского законодательства, Telegram-бот связан Условиями использования платформы (Terms of Service). Telegram запрещает определённые типы контента и сценариев, и нарушение TOS приводит к мгновенной блокировке бота — без предупреждения и без возможности апелляции в большинстве случаев.

Запрещено явно:

  • азартные игры, ставки, лотереи в большинстве юрисдикций;
  • мошеннические схемы, финансовые пирамиды, «инвестиционные» боты с гарантированной доходностью;
  • экстремистский, террористический контент, разжигание ненависти;
  • порнография и сексуальный контент с участием несовершеннолетних;
  • продажа оружия, наркотиков, поддельных документов;
  • спам, массовая рассылка без согласия пользователя.

Серая зона: финансовые услуги, криптовалюта, медицинские консультации, услуги «18+» — здесь риск блокировки зависит от страны и от жалоб пользователей. Перед запуском такого бота — обязательно читать актуальный Telegram TOS и проверять, не нарушает ли сценарий правила.

Чек-лист обязательных пунктов оферты

Минимум, который должен быть до запуска бота:

  • Полные реквизиты оператора (ИНН, ОГРН/ОГРНИП, адрес, банковские реквизиты).
  • Контакты для претензий (email, срок ответа 10 дней).
  • Чёткое описание предмета договора.
  • Цена, способы оплаты, момент возникновения обязательства.
  • Сроки оказания услуги/доставки.
  • Условия возврата (с разделением для физических и цифровых товаров).
  • Ответственность сторон, форс-мажор.
  • Порядок изменения оферты + способ уведомления.
  • Дата редакции и номер версии.
  • Подсудность и претензионный порядок.

Что для какого типа бота нужно

Тип ботаОфертаСогласие на ПДнСогласие на трансгран.Согласие на рекламуУведомление РКНФискализация
Информационный без сбора ПДннетнетнетнетнетнет
Бот с регистрацией (имя/email)нетдадапо желаниюданет
Платный контент / подпискадададапо желаниюдада
Маркетплейс / каталог услугдададада (для рассылок)дада
Бот для бизнеса (B2B)дададапо желаниюдада
Mini App с трекингомдададададада (если оплата)

Итого

Оферта и согласие на обработку ПДн — обязательные документы для любого коммерческого Telegram-бота. Оферта (ст. 437–438 ГК) фиксирует условия сделки и реквизиты продавца, согласие (ст. 9 152-ФЗ) — порядок работы с ПДн. Для Telegram отдельно нужно согласие на трансграничную передачу — серверы мессенджера за пределами РФ. Документы — на собственном сайте, ссылки из бота, акцепт через явное нажатие пользователя, версионирование в БД с хешем SHA-256. Отдельно — уведомление в РКН (об обработке + о трансграничной передаче), право пользователя на отзыв через команду, маркировка рекламных рассылок через ОРД (erid). Без юриста на этапе запуска лучше не идти — стоимость консультации (30–80 тыс. ₽) на порядки меньше потенциального штрафа по ст. 13.11 КоАП (до 18 млн ₽ за нарушение локализации, до 500 млн ₽ оборотного штрафа за повторную утечку).

Частые вопросы

Зачем нужна оферта в Telegram-боте?

Оферта — это публичное предложение заключить договор по ст. 437 ГК РФ. Когда пользователь нажимает «Купить» или «Заказать», он совершает акцепт по ст. 438 ГК РФ — иногда конклюдентным действием (сама оплата), иногда явным нажатием кнопки «Принимаю условия». Между сторонами возникает договор. Альтернатива — индивидуальный договор с каждым клиентом, что для бота с тысячами пользователей нереально. Без оферты бизнес рискует претензиями от Роспотребнадзора, налоговой и Роскомнадзора, а пользователь не защищён. Оферта решает: фиксирует условия сделки, регулирует возвраты и доставку, описывает порядок разрешения споров и реквизиты для претензий.

Какие 10 разделов обязательны в оферте Telegram-бота?

Реквизиты оператора (наименование, ИНН, ОГРН/ОГРНИП, юр.адрес, контакты). Термины и определения (Бот, Пользователь, Услуга). Предмет договора — что предоставляется. Цена и порядок оплаты, способы (карта, СБП, ЮKassa, Telegram Stars). Права и обязанности сторон. Возврат денежных средств в соответствии с ЗоЗПП — 7 дней по ст. 26.1 для дистанционных продаж. Ответственность сторон, форс-мажор (включая блокировку Telegram). Срок действия и порядок изменения договора с уведомлением. Порядок разрешения споров — досудебный претензионный порядок 10 дней. Реквизиты и подписи, дата редакции, номер версии. Без любого пункта оферта формально есть, но защищает плохо.

Чем согласие на ПДн отличается от оферты в Telegram-боте?

Это два разных документа, и по требованию Минцифры и практике РКН их нельзя объединять одной кнопкой. Согласие на обработку ПДн (ст. 9 152-ФЗ) содержит: идентификацию субъекта (для бота — Telegram user ID плюс ФИО), наименование оператора, конкретные цели обработки, перечень ПДн поименно, перечень действий из ст. 3 п. 3, срок действия, право на отзыв, форму подтверждения. Оферта — про условия сделки (цена, доставка, возврат). Если их объединить в одну кнопку, согласие признаётся ничтожным, и обработка считается незаконной. Правильно — последовательное согласование: сначала ПДн и трансграничная передача, потом при первой покупке — оферта.

Зачем нужно отдельное согласие на трансграничную передачу для Telegram?

Telegram — иностранный сервис, серверы мессенджера расположены за пределами РФ. Любая передача данных между ботом и пользователем формально проходит через зарубежную инфраструктуру, что считается трансграничной передачей ПДн по ст. 12 152-ФЗ. С 1 марта 2023 это требует отдельного уведомления в Роскомнадзор (отдельная форма от обычного уведомления об обработке) и отдельного согласия пользователя. Без согласия и уведомления передача незаконна. В тексте согласия нужно указать страну/страны передачи, цель, перечень данных. Это специфика именно Telegram — для бота на собственной инфраструктуре в РФ такое согласие не требуется.

Как технически фиксировать факт согласия в Telegram-боте?

Хранить в БД таблицу acceptance_log с полями: user_id (Telegram), document_kind (pdn/offer/marketing/cross_border/cookies), document_version, document_hash (SHA-256 от текста), document_url, granted_at (timestamp), ip (если есть, например из Mini App), user_agent, source (tg-bot), withdrawn_at, withdraw_reason. При нажатии пользователем «Согласен» бэкенд пишет запись. Хранение хеша версии критично — при споре можно предъявить именно тот текст, на который пользователь согласился. Индекс по (user_id, document_kind, withdrawn_at) для быстрых проверок. Без журнала фактически невозможно доказать законность обработки при проверке РКН.

Как версионировать оферту, если пользователи уже её приняли?

Через хранение полной истории версий в git с тегами (или архив в БД). При записи акцепта сохранять хеш SHA-256 версии текста. При обновлении существенных условий (цены, предмет договора, ответственность) — повторно запросить согласие у активной аудитории через push в бот «Документы обновились, ознакомьтесь и подтвердите». При несущественных изменениях (опечатки, реквизиты) допустимо уведомление и считать молчание согласием через 14 дней, если такой механизм прописан в оферте. В тексте указывать дату редакции и номер версии. Без версионирования невозможно доказать в споре, какие условия действовали на момент покупки.

Какие правила возврата в Telegram-боте по ЗоЗПП?

Для физических товаров — 7 дней по ст. 26.1 ЗоЗПП без объяснения причин с момента передачи; 14 дней, если продавец не указал в оферте порядок возврата. Для подписок — пропорциональный возврат за неиспользованную часть периода (1000 ₽ за 30 дней, использовано 10 — возврат 666,67 ₽). Для разовой услуги, не оказанной — полный возврат. Для услуги, оказанной некачественно — возврат плюс неустойка 3% за каждый день просрочки устранения. Для цифрового контента, уже доступного пользователю — возврат не обязателен, но нужно явное предупреждение перед покупкой. Срок ответа на претензию — 10 дней, срок возврата денег — 10 дней с момента предъявления требования. ЗоЗПП применяется только к физлицам-потребителям, для B2B действуют ГК и условия оферты.