Кратко: Решение KVKK о картах лояльности (принципиальное решение № 2026/266) кладёт конец практике, при которой картой лояльности пользуются на кассе, просто назвав кассиру номер телефона или карты, а осведомлённость и согласие участника программы никто не проверяет. KVKK — турецкое ведомство по защите персональных данных. Его Совет решением № 2026/1491 продлил срок приведения процессов в соответствие до 28 февраля 2027 года. Проверка распространяется на любое использование карты, включая регистрацию в программе, начисление и списание баллов, скидки и акции. В качестве примеров Совет приводит такие методы: одноразовый код по SMS, штрихкод или QR-код в приложении или на сайте, физическая карта, PIN-код карты на кассе и «opt-in» — разрешение, которое участник выбирает в своём личном кабинете. Таким образом, номер телефона с кассы не исчезает, исчезает его использование без проверки. Основная работа приходится на начисление баллов и скидки: согласно решению, эти операции обычно проходят вообще без проверки.
Мы написали это руководство для руководителей ИТ, CRM и электронной коммерции в розничных и франчайзинговых сетях, которые ведут программу лояльности на собственных или частично заказных кассовых, CRM- и мобильных системах. Оно будет полезно и международным брендам, работающим в Турции через собственные магазины или через франчайзи. Если вы пользуетесь готовым кассовым программным обеспечением, эта статья послужит списком вопросов к вашему поставщику. Мы изучили решения в Resmî Gazete (Официальный вестник Турции, в котором публикуются законы и официальные решения) и в объявлениях KVKK. Технические рекомендации основаны на первоисточниках, таких как OWASP и IETF. Наши рекомендации — это инженерные варианты, а не юридическая консультация. Под «кассой» или POS мы понимаем программу для продаж в магазине и фискальный кассовый аппарат (ÖKC), которые используются в турецких магазинах; об онлайн-платежах читайте в нашем руководстве по интеграции интернет-эквайринга. Статья актуальна на 31 октября 2026 года.
Что говорится в решении KVKK о картах лояльности? Два решения в одной таблице
Совет (Kişisel Verileri Koruma Kurulu — орган KVKK, принимающий решения) рассмотрел такой сценарий: третье лицо называет кассиру номер телефона или карты участника. Покупка проводится по карте участника, при этом код подтверждения не вводится. На имя участника выписывается счёт-фактура или аналогичный документ, а данные о покупке записываются в его аккаунт. В качестве примеров в решении названы такие отрасли, как продукты питания, косметика, техника, строительные гипермаркеты и одежда.
| Параметр | № 2026/266 (основное решение) | № 2026/1491 (продление) |
|---|---|---|
| Дата решения | 11 февраля 2026 г. | 22 июля 2026 г. |
| Resmî Gazete | 28 февраля 2026 г., № 33182 | 13 августа 2026 г., № 33339 |
| Что меняет? | Прекращает использование без проверки; требует принять технические и организационные меры по статье 12 Закона № 6698 о защите персональных данных; срок приведения в соответствие — 6 месяцев | По просьбам отрасли продлевает срок, истекавший 28 августа 2026 года, до 28 февраля 2027 года |
| Сфера действия | Любое использование: регистрация в программе, начисление баллов, списание баллов, скидки/акции «и т. д.» | Сфера действия та же, изменился только срок |
Все три линии аргументации Совета влияют на проектирование ПО:
- Нет правового основания: Если третье лицо использует номер без ведома и согласия участника, такую обработку нельзя оправдать ни одним из условий статьи 5 Закона № 6698. Значит, данные обрабатываются незаконно.
- Неверная запись — тоже нарушение: Если на имя участника выписан документ о покупке, которой он не совершал, или эта покупка записана в его аккаунт, нарушается принцип статьи 4, согласно которому данные должны быть «точными и при необходимости актуальными». Вопрос не только в том, кто получает скидку, но и в том, что попадает в профиль и документ.
- Договора недостаточно: Даже если договор участия возлагает на участника ответственность за то, чтобы картой не пользовались третьи лица, обязанность обеспечивать безопасность данных по статье 12 никуда не исчезает.
По данным Совета, регистрацию в программе и списание баллов обычно уже подтверждают кодом из SMS или штрихкодом/QR-кодом в приложении. Без проверки работает процесс для скидок, акций и начисления баллов. Значит, основная работа приходится именно на него, тем более что этот процесс повторяется чаще всего.
Какую свободу оставляет решение: Список методов заканчивается словами «и т. д.», а механизм выбирает оператор персональных данных. Номера телефонов не запрещены: операции, для которых участник дал opt-in, можно проводить только по номеру. Решение касается кассы в магазине. Применять ту же логику в колл-центре — наша рекомендация, а не обязанность, закреплённая в решении.
Срок и санкции: На 31 октября 2026 года в объявлениях KVKK и в списке принципиальных решений нет сведений о новом продлении или изменениях, а до истечения срока остаётся 120 дней. Срок уже продлевали один раз по просьбе отрасли, поэтому продолжайте следить за объявлениями. К тем, кто не выполнит требования, будут применены меры на основании статьи 18 Закона № 6698. Суммы штрафов мы здесь не приводим, поскольку согласно части 7 статьи 17 Закона о проступках (Kabahatler Kanunu) административные штрафы ежегодно увеличиваются на коэффициент переоценки.
Какие 5 методов проверки называет Совет и чего они стоят с инженерной точки зрения?
Цель у методов одна, но кассу, бюджет и службу поддержки они нагружают по-разному. Ниже — наша собственная инженерная оценка:
| Метод | Процесс на кассе | Затраты и инфраструктура | Если пропала связь | Слабое место |
|---|---|---|---|---|
| Одноразовый код по SMS | Участник читает код с телефона, кассир вводит его; приходится ждать SMS | Плата за SMS при каждой проверке | Нужен доступ к сервису и SMS-провайдеру | Подмена SIM-карты, предпросмотр на заблокированном экране; участники, у которых нет с собой телефона |
| Штрихкод или QR-код в приложении/на сайте | Касса сканирует код с экрана; ждать не нужно | Интеграция приложения и сканера; плата за сообщения отсутствует | Код можно отсканировать, но проверка на сервере ждёт восстановления связи | Скриншот статичного кода можно переслать; нужен смартфон |
| Физическая карта | Карту предъявляют или сканируют | Печать, распространение, процесс для утерянных карт | Карта считывается локально | Карту можно передать другому человеку |
| PIN-код карты на кассе | Участник сам вводит PIN-код на устройстве | Устройство ввода для покупателя, сброс PIN-кода | Для централизованной проверки нужна связь | Забытые PIN-коды, подглядывание из-за плеча |
| Opt-in | Для разрешённых операций достаточно номера | Экран в личном кабинете, учёт настроек | Настройку можно кешировать на кассе | Разрешённую операцию может провести любой, кто знает номер |
Практический вывод: если предложить как минимум два метода, вы охватите и разные группы клиентов, и сценарии сбоев.
Нужен ли SMS-код для каждой операции? Матрица проверки по типам операций
Нет. В решении прямо сказано, что механизмы можно выбирать в зависимости от типа операции (подтверждение участия, начисление баллов/скидки/акции, списание баллов) и уровня риска. Вот что мы предлагаем в качестве отправной точки:
| Операция | Основной метод (рекомендуемый) | Альтернатива | Если проверка не удалась |
|---|---|---|---|
| Регистрация в программе | Код по SMS | Регистрация в приложении или на сайте | Участие не оформляется; продажа завершается анонимно |
| Начисление баллов | QR-код в приложении или физическая карта | Номер при наличии opt-in; иначе код по SMS | Баллы не начисляются; участник может получить их позже по коду на чеке |
| Персональная скидка/акция | QR-код в приложении или физическая карта | Код по SMS или opt-in | Персональная выгода не применяется; общие акции действуют |
| Списание баллов | Код по SMS или QR-код, меняющийся по времени (TOTP) | Карта и PIN-код | Баллы не списываются |
Эта матрица — инженерный вариант, а не юридическая гарантия. Оценка рисков и выбор метода остаются за оператором персональных данных.
Проектируйте opt-in как правило в сервисе проверки, а не как исключение. Если участник разрешил определённый тип операций, сервис принимает такую операцию по номеру. Если нет, он переходит к методу из матрицы. Для списания баллов рекомендуем по умолчанию держать opt-in выключенным.
Эталонная архитектура: как должны взаимодействовать касса, CRM, SMS и выставление счетов e-Arşiv?
Самое важное проектное решение — где именно применяется правило. Если оно находится на экране кассы, каждая версия кассового ПО и каждый франчайзи становятся отдельным слабым местом. Мы рекомендуем разместить правило в API записи системы лояльности/CRM: без действующего токена проверки запись баллов, персональных скидок и данных профиля отклоняется.
- Касса (POS-система и ÖKC): Находит участника по номеру, карте или QR-коду. Пока проверка не завершена, показывает маскированные данные, а не имя участника.
- Сервис проверки: Открывает сессию, привязанную к корзине, считывает настройки opt-in и либо генерирует SMS-код, либо проверяет QR-код, карту или PIN-код. При успешной проверке возвращает короткоживущий одноразовый токен.
- Система лояльности/CRM: Записывает баллы, скидки и данные о покупках только с этим токеном.
- SMS-провайдер: Вызывается только через сервис проверки.
- Мобильное приложение и сайт: Показывают QR-код, настройки opt-in и информационное уведомление.
- Документооборот: Данные покупателя подставляются из профиля только для проверенной операции. Согласно GİB (Налоговое управление Турции), продавец, использующий систему e-Arşiv (турецкий электронный архив счетов), выставляет покупателям, не зарегистрированным в системе e-Fatura (турецкая система электронных счетов-фактур), счета в форме e-Arşiv Fatura (электронный архивный счёт). Сюда относятся и потребители, не являющиеся налогоплательщиками. Если ваша ERP автоматически подставляет данные покупателя из профиля, привяжите этот шаг к токену проверки.
Если данные программы лояльности хранятся в вашей собственной CRM-системе, проверка добавляется там. Если вы используете готовую платформу, попросите о том же поставщика. Варианты интеграции электронных документов мы сравнивали в статье об интеграции ERP и электронных счетов.
Если проверка не удалась: завершите продажу анонимно, а не останавливайте её
Если проверка не удалась, продажа не останавливается, останавливается любая запись, относящаяся к участнику. Мы рекомендуем такое правило: оплата завершается, персональная скидка и баллы не применяются, в профиль ничего не записывается, документ на имя участника не выписывается. Покупатель, которому нужен документ, сообщает собственные данные. Участнику, который не хочет терять баллы, можно дать возможность получить их позже в своём приложении с помощью одноразового кода на чеке. Тогда запись поступает из его подтверждённого аккаунта. Кроме того, заранее пропишите, что кассир должен говорить в такой ситуации.
Что делать, если касса работает офлайн?
Если пропала связь или отказал SMS-провайдер, самый безопасный вариант по умолчанию — анонимная продажа. Как предупреждает OWASP, резервный механизм не должен быть слабее основного метода. Поэтому «пока просто используем номер» — не решение. Предположим, начисление баллов офлайн — коммерческое требование, а ваше приложение использует код, меняющийся по времени (TOTP). В этом случае касса сохраняет отсканированный код и время сканирования. Когда связь восстанавливается, сервис проверяет код относительно этого времени, и только после этого баллы начисляются. Такой подход требует, чтобы часы кассы были точными, а кассир не мог их изменить. Даже в этом случае документ на имя участника не выписывается. Для SMS настройте автоматическое переключение на второго провайдера.
Как усилить защиту SMS-кодов и QR-кодов в приложении?
Текст SMS: как составить его в соответствии с решением № 2025/1072
Принципиальное решение KVKK № 2025/1072 задаёт для кодов подтверждения по SMS такие рамки:
- Сотрудники сначала понятно объясняют, для чего отправляется SMS и что означает передача кода. В самом SMS также указывается канал для получения дополнительной информации.
- Подтверждение участия в программе, разрешение на обработку данных и согласие на коммерческие электронные сообщения (так турецкое законодательство называет маркетинговые сообщения) не собираются одним кодом. Для каждого вида обработки, требующего явного согласия, предлагается отдельный вариант.
- Согласие на коммерческие сообщения не преподносится как условие продажи. Его либо запрашивают после завершения продажи, либо в сообщении прямо указывают, что код необязателен, продажа состоится и без него, а настройки можно изменить в любое время.
- Сотрудники, участвующие в этих процессах, регулярно проходят обучение.
Иными словами, у кода подтверждения должно быть единственное назначение. Образец текста (перевод с турецкого): «[БРЕНД]: ваш код для подтверждения использования карты лояльности на кассе [Магазин] — 482913. Действует 3 минуты. Сообщайте его, только если подтверждаете эту операцию. Подробнее: [короткая ссылка]». Турецкие символы могут изменить число сегментов сообщения, а значит, и стоимость, поэтому проверьте это вместе со своим провайдером.
Ограничения по сроку действия, попыткам и затратам
Согласно руководству OWASP по многофакторной аутентификации, отправка SMS стоит денег, и злоумышленники могут запрашивать большое количество сообщений, чтобы исчерпать ваш бюджет. SMS также уязвимы для подмены SIM-карты, предпросмотра на заблокированном экране и вредоносных приложений. Мы рекомендуем такие меры контроля:
- Код генерируется и проверяется на сервере. Он короткоживущий и одноразовый, никогда не хранится в открытом виде и не попадает в логи.
- Лимит неверных попыток и период ожидания перед повторной отправкой кода.
- Почасовые лимиты на номер, кассу и магазин, а также оповещение, если одна касса запрашивает коды для разных номеров подряд.
- Оповещение о достижении порога дневного бюджета на SMS. Если сервис используется также на сайте и в приложении, нужны ограничение частоты запросов и защита от ботов на этих эндпоинтах.
Имена отправителей, резервный провайдер и учёт согласий — задача вашей инфраструктуры многоканальных рассылок. Держите SMS с кодами подтверждения в отдельном потоке, не смешивая их с маркетинговыми рассылками.
QR-код в приложении: статичный штрихкод или TOTP?
В решении указаны штрихкод или QR-код в приложении или на сайте. Оно не различает статичные и динамические коды и не требует, чтобы код был «динамическим». Однако со статичного штрихкода можно сделать скриншот и переслать его. Если вы хотите закрыть эту брешь, существует устоявшийся стандарт: одноразовый пароль на основе времени (TOTP) из RFC 6238. Код обновляется с помощью секретного ключа на устройстве и часов; рекомендуемый шаг времени по умолчанию — 30 секунд. Проверка выполняется на сервере, для расхождения часов предусмотрен ограниченный допуск, а один и тот же код дважды не принимается. Цена вопроса — распространение ключей и процедура обновления для переустановленных приложений. Заложить это в мобильное приложение с самого начала дешевле, чем дорабатывать его позже. Если вы выбираете схему, в которой покупатели сканируют QR-код в магазине, учитывайте также предупреждение KVKK о quishing (фишинге через QR-коды).
Как спроектировать экран opt-in и что делать с клиентами без телефона?
Участник даёт opt-in в своём личном кабинете. Там он выбирает, какие операции из начисления баллов, скидок/акций и списания баллов можно проводить только по номеру. Проектируйте экран в соответствии с принципиальным решением № 2026/347. Информационное уведомление (aydınlatma metni) и текст явного согласия (açık rıza) показываются под отдельными заголовками, с отдельными заявлениями. В отношении уведомления вы просите участника подтвердить, что он с ним ознакомился, а не одобрить его. Формулировки должны быть простыми. Если обработка опирается не на явное согласие, а на другое правовое основание, вы предоставляете только информационное уведомление. Уточните у юристов правовую природу opt-in: это настройка в рамках договора или явное согласие? Наши рекомендации для экрана:
- Отдельный переключатель для каждого типа операций, по умолчанию все выключены.
- Рядом с каждым переключателем — предупреждение о риске в одно предложение: «Если вы включите эту настройку, провести такую операцию на кассе сможет любой, кто знает ваш номер».
- Выключить переключатель так же просто, как и включить. Каждое изменение записывается с отметкой времени, а участник получает уведомление.
- Маркетинговое согласие на этом экране не появляется.
Альтернативы для разных групп клиентов
KVKK указывает, что можно предлагать альтернативные механизмы с учётом таких различий, как возраст, уровень образования, экономическое положение и технологическая грамотность. Участнику без смартфона проще всего воспользоваться физической картой. Участнику, чей кнопочный телефон принимает SMS, — кодом по SMS. Если вы выбираете PIN-код, участник не называет его кассиру, а сам вводит на устройстве. PIN-код не хранится в открытом виде: для него используется медленный алгоритм хеширования с солью. Короткие PIN-коды легко подобрать, поэтому число неверных попыток тоже ограничивается. Избегайте проверки по лицу или отпечатку пальца: согласно статье 6 Закона № 6698 биометрические данные относятся к персональным данным особой категории. Их обработка запрещена и возможна только при выполнении одного из условий, перечисленных в этой статье.
Как выполнить решение KVKK о картах лояльности: журнал аудита и план на 120 дней
Минимальный журнал аудита
Руководство KVKK по безопасности персональных данных считает необходимым регулярно фиксировать действия всех пользователей (например, в виде логов). В таблице технических мер этого руководства указаны также матрица полномочий, журналы доступа, маскирование данных и управление ключами. Минимальный набор полей, который мы рекомендуем для сервиса проверки:
- время, идентификаторы магазина, кассы, кассира и корзины;
- псевдонимизированный идентификатор участника и маскированный номер;
- тип операции, метод, результат (успех, неверный код, тайм-аут, офлайн, анонимная продажа), число попыток;
- версия применённой настройки opt-in, номер документа (если есть).
Сам код и полный номер никогда не записываются в лог. Доступ определяйте матрицей полномочий, а срок хранения — политикой уничтожения данных.
Пошаговый план с 31 октября 2026 года по 28 февраля 2027 года
- Дни 1–15, инвентаризация: Перечислите все точки, где один только номер открывает операцию (кассы магазинов и франчайзи, интернет-магазин, колл-центр). Утвердите матрицу и вместе с юристами начните работу над юридическими текстами.
- Дни 16–60, разработка: Сервис проверки, обязательные токены в CRM, шаблон SMS и лимиты, QR-код, экран opt-in, анонимные продажи и логи.
- Дни 61–90, пилотный магазин: В часы пик измерьте, сколько времени проверка добавляет на кассе, время доставки SMS и долю неудачных проверок. Намеренно отключите связь, чтобы протестировать офлайн-сценарий. На этом этапе завершается обучение кассиров.
- Дни 91–120, развёртывание: Запускайте по группам магазинов, ежедневно отслеживайте показатели и оставьте запас времени до истечения срока.
Поставщики: Согласно части 2 статьи 12 Закона № 6698, если данные от вашего имени обрабатывает другая сторона, вы отвечаете за меры безопасности совместно с ней. Проверьте договоры на кассу, CRM, приложение и SMS. Если вы используете готовое ПО, спросите поставщика:
- Какие методы проверки вы поддерживаете и поддерживаете ли настройку opt-in?
- Если проверка не удалась, блокируется ли запись баллов, данных профиля и документов?
- Есть ли у вас лимиты на SMS, оповещение о бюджете и журнал аудита с возможностью экспорта?
Как Partnerfy может помочь
Такой проект мы начинаем с кассы. В пилотном магазине мы наблюдаем за часом пик и выясняем, что номер, карта и QR-код сегодня записывают и в какие системы. Затем создаём сервис проверки как API-слой, не зависящий от кассового ПО, и привязываем правило к точке записи в системе лояльности/CRM. Так разные версии касс и франчайзи следуют одному правилу. На стороне SMS настраиваем лимиты, резервного провайдера и учёт согласий с турецкими провайдерами, такими как NetGSM, Verimor и İletimerkezi, а в приложении создаём экраны QR-кода и opt-in. Юридические тексты мы не пишем: мы корректно размещаем на экранах и в шаблонах тексты, утверждённые вашим юристом. Чтобы обсудить объём работ, свяжитесь с нами или познакомьтесь с нашим подходом к API-интеграциям.
Источники
- Resmî Gazete, 28 февраля 2026 г., № 33182: принципиальное решение № 2026/266 (на турецком языке)
- KVKK: объявление о принципиальном решении о картах лояльности (на турецком языке)
- Resmî Gazete, 13 августа 2026 г., № 33339: решение № 2026/1491 (на турецком языке)
- KVKK: объявление о продлении срока приведения в соответствие (на турецком языке)
- KVKK: принципиальное решение № 2025/1072 о кодах подтверждения по SMS (на турецком языке)
- KVKK: объявление о принципиальном решении № 2026/347 (на турецком языке)
- Списки объявлений и принципиальных решений KVKK (на турецком языке)
- Закон № 6698 о защите персональных данных (на турецком языке)
- Закон № 5326 о проступках (на турецком языке)
- KVKK: Руководство по безопасности персональных данных, апрель 2025 г. (на турецком языке)
- OWASP: руководство по многофакторной аутентификации (Multifactor Authentication Cheat Sheet)
- IETF RFC 6238: TOTP
- GİB (Налоговое управление Турции): об e-Arşiv Fatura (на турецком языке)
- KVKK: риск, связанный с QR-кодами: quishing (на турецком языке)