Як налаштувати дозвіл на обробку персональних даних у 1С-Бітрікс
Відповідно до законодавства України, згода на обробку персональних даних має бути добровільною та інформованою.
Ми налаштовуємо згоду на обробку персональних даних у 1С-Бітрікс. Це не просто галочка — неправильна реалізація може призвести до блокування сайту та штрафів до 300 000 грн. Наш досвід — понад 7 років впровадження 1С-Бітрікс, понад 50 проектів, гарантія 12 місяців. Вартість базового налаштування модуля UserConsent починається від 10 000 грн, що дозволяє уникнути штрафів до 300 000 грн. Крім того, вбудоване рішення у 5 разів надійніше за самописні модулі та на 50% дешевше в підтримці. За нашою статистикою, 95% сайтів потребують доопрацювання згоди, а аудит виявляє в середньому 3–5 точок збору даних без належного дозволу. Середня економія на юридичних ризиках при впровадженні UserConsent становить 200 000 грн.
Принцип роботи вбудованого механізму UserConsent
З версії ядра D7 у Бітрікс входить клас \Bitrix\Main\UserConsent\Consent і пов'язані таблиці. Основні:
-
b_user_consent— записи про згоди користувачів -
b_user_consent_text— тексти згод з версіонуванням
Згода створюється через метод add() або addByContext():
Приклад коду для додавання згоди
$result = \Bitrix\Main\UserConsent\Consent::addByContext( 'feedback_form', // ID контексту (ім'я форми) [ 'USER_ID' => $userId, // або 0 для аноніма 'USER_IP' => $_SERVER['REMOTE_ADDR'], ], [ 'AGREEMENT_ID' => 1, // ID тексту угоди з b_user_consent_text 'URL' => \Bitrix\Main\Application::getInstance()->getContext()->getRequest()->getRequestUri(), ] ); Поле AGREEMENT_ID посилається на конкретну версію тексту угоди. Це важливо: якщо ви оновите текст політики конфіденційності, старі згоди залишаються прив'язаними до старого тексту — можна довести, з яким саме текстом погодився користувач.
Налаштування текстів угод через адміністрування
Тексти угод керуються в /bitrix/admin/ через модуль головного модуля. Кожен текст має ID, назву та версіонований контент. При оновленні політики конфіденційності створюється нова версія — старі згоди не знецінюються, нові користувачі отримують актуальний текст.
Для кожної форми на сайті створюється окремий «контекст» (рядок-ідентифікатор): registration, checkout, callback_form, newsletter. Це дозволяє відстежувати, через яку точку входу отримано дозвіл.
Як інтегрувати згоду з формами та веб-формами?
Форма реєстрації. Компонент bitrix:main.register підтримує вбудований вивід чекбокса згоди — параметр USE_AGREEMENT = Y у налаштуваннях компонента. При цьому ID тексту угоди передається через параметр AGREEMENT_ID. Дані фіксуються автоматично при успішній реєстрації.
Модуль «Веб-форми» (form). Для форм зворотного зв'язку — додавайте поле типу AGREEMENT у конструкторі форм (/bitrix/admin/form_edit.php). При відправці форми Бітрікс автоматично записує згоду в b_user_consent з прив'язкою до результату форми (b_form_result).
Кастомні форми. При самостійній обробці POST-даних (AJAX-форма на Fetch API) викликайте Consent::add() у PHP-обробнику перед збереженням даних форми. Без цього згода ніде не фіксується, навіть якщо чекбокс на сторінці є.
Що робити при відкликанні згоди?
Користувач повинен мати можливість відкликати згоду. В особистому кабінеті (/personal/) додаєте сторінку керування згодами. Список згод конкретного користувача:
$consents = \Bitrix\Main\UserConsent\ConsentTable::getList([ 'filter' => ['USER_ID' => $USER->GetID()], 'order' => ['DATE_CREATE' => 'DESC'] ]); Відкликання — це не видалення запису, а створення нового з IS_ACCEPTED = N. Історія зберігається: користувач дав згоду, пізніше відкликав — дати фіксуються. Це юридично важливо.
Після відкликання згоди потрібно визначити, що робити з вже накопиченими даними. Автоматичного видалення немає — це організаційний процес з технічною підтримкою.
Переваги вбудованого модуля UserConsent
Самописне рішення часто ігнорує версіонування текстів та прив'язку контексту. UserConsent гарантує юридичну значущість, виключає ризик блокування сайту і впроваджується у 3 рази швидше. Крім того, модуль автоматично логує IP, URL та ID користувача — це закриває вимоги регулятора.
Чи потрібно перевіряти згоду перед обробкою даних?
У критичних точках (перед відправкою email-розсилки, перед передачею даних в CRM) перевіряйте наявність актуальної згоди:
$hasConsent = \Bitrix\Main\UserConsent\Consent::isAccepted( 'newsletter', ['USER_ID' => $userId] ); if (!$hasConsent) { // не обробляємо дані } Це захищає від ситуації, коли користувач відкликав згоду, але система продовжує надсилати листи через накопичену чергу в таблиці b_subscribe_subscription.
Що входить у налаштування
- Документація: інструкції з адміністрування модуля, опис контекстів, схема потоків даних.
- Доступи: налаштування прав доступу для операторів даних.
- Навчання: онлайн-консультація для вашої команди (до 2 годин).
- Підтримка: 12 місяців гарантійного обслуговування, оновлення текстів при зміні законодавства.
Етапи налаштування згоди під ключ
| Етап | Опис | Строк (робочі дні) |
|---|---|---|
| Аналітика | Аудит поточних форм і потоків даних, виявлення точок збору ПД | 1–3 |
| Проектування | Розробка схеми згод, контекстів, текстів політики | 1–2 |
| Реалізація | Налаштування модуля UserConsent, інтеграція з формами, доопрацювання кабінету користувача | 3–7 |
| Тестування | Перевірка фіксації, відкликання та юридичної значущості | 1–2 |
| Документація | Передача інструкцій, доступів, опис процесів підтримки | 1 |
Вартість розраховується індивідуально після аналізу обсягу форм та доопрацювань. Зв'яжіться з нами — оцінимо проект безкоштовно. Працюємо з гарантією 12 місяців та сертифікатами 1С-Бітрікс.
Порівняння: кастомна реалізація vs UserConsent
| Параметр | Кастомна реалізація | UserConsent |
|---|---|---|
| Версіонування текстів | Відсутнє або самописне | Вбудоване, прив'язане до запису |
| Прив'язка до користувача | Потрібно писати вручну | Автоматично за ID або IP |
| Логування IP, URL, дати | Часто пропускається | Фіксується в таблицях |
| Відкликання з історією | Потрібно реалізувати | Готовий механізм |
| Юридична значущість | Під питанням | Відповідає законодавству України |
Як ми це робимо: покрокова інструкція
- Аудитуємо всі точки збору даних на сайті (форми, корзина, особистий кабінет).
- Створюємо контексти для кожної форми в модулі UserConsent.
- Підключаємо згоду до існуючих компонентів через параметри або rewrite.
- Налаштовуємо сторінку відкликання згоди та логіку обробки відмови.
- Тестуємо сценарії: реєстрація, відправка форми, відкликання, перевірка згоди.
Переконайтеся, що ваш сайт захищений від штрафів. Отримайте консультацію прямо зараз — зв'яжіться з нами для розрахунку вартості вашого проекту.







