# Как собрать базу номеров для SMS‑рассылки без нарушения GDPR

- Опубликовано: 2026-09-18T14:55:48+00:00
- Обновлено: 2026-09-18T15:07:04+00:00
- Автор: Зинаида Прохорова
- Канонический URL: https://smsblog.ru/obzory-i-sravneniya/kak-sobrat-bazu-nomerov-dlya-sms-rassylki-bez-narusheniya-gdpr/

Чтобы создать базу номеров для SMS-рассылки, которая соответствует GDPR, соберите явное согласие, ведите прозрачный реестр разрешений и используйте механизмы двойного подтверждения подписки, соответствующие статье 7 GDPR.

## Понимание требований GDPR к SMS-маркетингу

GDPR регулирует обработку персональных данных в ЕС, включая номера телефонов. Статья 4 определяет персональные данные как любую информацию, позволяющую идентифицировать физическое лицо. Номер телефона считается персональными данными, если он может быть связан с конкретным человеком. Для законной обработки необходимо одно из шести правовых оснований; для SMS-маркетинга наиболее подходящим является согласие (статья 6(1)(a)).

Статья 7 детализирует требования к согласию: оно должно быть явным, конкретным, информированным и однозначным. Подписчик должен дать явно выраженное согласие на обработку его номера телефона для получения SMS-сообщений. Согласие должно быть отделено от других условий и должно быть легко отозвать.

Регуляторы, такие как Ведомство по защите данных (DPA), подчеркивают важность ведения документированного согласия. Отсутствие четкой записи о том, когда и как было получено согласие, может привести к штрафам до 20 миллионов евро или 4 % от глобального годового оборота (статья 83). Поэтому база номеров должна включать метаданные: дату, способ получения согласия, используемый текст согласия и подтверждение отписки.

### Ключевые определения

- **Согласие (Consent):** однозначное согласие субъекта данных, данное свободно, конкретно и осознанно.
- **Однократное подтверждение подписки (Single Opt-in):** пользователь предоставляет номер, не получая дополнительного подтверждения.
- **Двойное подтверждение подписки (Double Opt-in):** после первоначального ввода номера система отправляет ссылку для подтверждения; подписка активируется только после перехода по ссылке.
- **Обработчик данных (Data Processor):** сторона, обрабатывающая персональные данные от имени контроллера.
- **SMS-маркетинг (SMS Marketing):** прямые рекламные сообщения, отправляемые на мобильные телефоны для продвижения продуктов, услуг или событий.

## Механизмы сбора согласия

Технические решения определяют качество базы номеров. Использование форм с одним полем для ввода номера без явного чекбокса согласия не соответствует GDPR. Рекомендуется использовать интерфейсные компоненты, которые разделяют согласие на обработку данных от других действий.

Пример HTML-кода формы:

```
<form>
  <label>
    <input type="tel" name="phone" placeholder="+7 999 123‑45‑67" required>
  </label>
  <div class="consent">
    <input type="checkbox" id="consent" name="consent" required>
    <label for="consent">Я даю согласие на получение SMS-рассылок</label>
  </div>
  <button type="submit">Подписаться</button>
</form>
```

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

После отправки формы активируйте механизм двойного подтверждения подписки. Система генерирует уникальную ссылку, которую отправляют в SMS или по электронной почте. Только после перехода по ссылке подписчик считается давшим согласие. Это снижает риск спам-фильтров и обеспечивает более высокое качество базы номеров.

Для автоматизации процесса используйте API, поддерживающий вебхуки. Пример запроса к сервису подписки:

```
POST /v1/contacts
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "phone": "+7999123456",
  "fields": {
    "first_name": "Иван",
    "consent": true,
    "consent_date": "2025-09-15T12:34:00Z"
  }
}
```

API должен возвращать статус подтверждения согласия (confirmed) и идентификатор подписки. Сохраните этот ответ в базе данных вместе с исходным запросом, чтобы обеспечить аудит соответствия.

## Технические методы хранения номеров

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

Рекомендуется использовать хеширование с солью для хранения номеров, если только вы не планируете отправлять SMS напрямую через систему. Хеш не позволяет восстановить исходный номер, что снижает риски в случае утечки данных.

Для SMS-рассылок вам понадобится дешифруемый номер. Храните его в отдельной, ограниченной по доступу таблице, связанной с хешем. Используйте маркированный доступ и ведите журнал событий для каждого чтения номера.

Пример структуры базы данных:

| Колонка | Тип | Описание |
| --- | --- | --- |
| id | PK, auto_increment | Уникальный идентификатор записи |
| phone_hash | VARCHAR(64) | SHA-256 хеш номера с солью |
| phone_raw | VARCHAR(20) | Исходный номер в международном формате |
| consent_given | DATETIME | Дата и время получения согласия |
| consent_ip | VARBINARY(16) | IP-адрес, с которого дано согласие |
| status | ENUM | confirmed / pending / unsubscribed |

Ведите журнал отписок: автоматическая отписка при получении запроса на отказ от подписки является обязательной (статья 21). Храните этот журнал не менее одного года для демонстрации соответствия.

## Best Practices для обработки и хранения данных

Соблюдайте принципы обработки данных: собирайте только те номера, которые необходимы для конкретной цели SMS-рассылки. Если вы планируете использовать номер для нескольких кампаний, получите широкое согласие и укажите все возможные цели.

Регулярно проводите аудит базы номеров. Удаляйте номера, которые не подтвердили подписку в течение 30 дней (период ожидания). Используйте автоматические скрипты для проверки активности и удаления неактивных номеров.

Для поддержания актуальности базы номеров используйте сервисы очистки номеров. Они проверяют формат, оператора и вероятность доставки. Это снижает затраты на SMS-рассылку и улучшает показатели доставки.

Ведите документацию по обработке данных (DPIA), если обработка носит высокий риск. Документация должна включать оценку воздействия на конфиденциальность, меры по снижению рисков и контакты для запросов субъектов данных.

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

## Инструменты и API для безопасных SMS-кампаний

Выберите SMS-шлюз, который поддерживает GDPR-совместимые процессы подписки. Шлюз должен предоставлять API для массовой отправки сообщений, отслеживания доставляемости и ведения журнала событий.

Пример интеграции с Twilio (использует OAuth 2.0):

```
curl -X POST https://api.twilio.com/2010-04-01/Accounts/YOUR_ACCOUNT_ID/Messages.json
  --user YOUR_ACCOUNT_ID:YOUR_AUTH_TOKEN
  --data-urlencode "To=+7999123456"
  --data-urlencode "Body=Добро пожаловать!"
```

Twilio автоматически помечает статус доставки (sent, delivered, failed). Используйте эти данные для обновления статуса в вашей базе номеров.

Для автоматизации подписки и отписки используйте вебхуки. Пример обработки вебхука в Node.js:

```
app.post('/twilio-webhook', (req, res) => {
  const { From, Body, MessageStatus } = req.body;
  db.query(
    'UPDATE contacts SET status = ? WHERE phone_raw = ?',
    [MessageStatus, From],
    (err) => {
      if (err) return console.error(err);
      res.sendStatus(200);
    }
  );
});
```

Ведите журнал вебхуков для аудита. Сохраните временную метку, исходящий номер и результат обработки.

## Распространенные ошибки и способы их предотвращения

Ошибка 1: Использование списка номеров, купленного у третьей стороны. Такой список редко содержит явно выраженное согласие, что нарушает статью 7. Решение: собирайте номера напрямую с использованием форм с двойным подтверждением подписки.

Ошибка 2: Отсутствие механизма отписки. Если подписчик запросит удаление, вы обязаны выполнить запрос без unnecessary задержек (статья 12). Реализуйте автоматическую отписку через API-шлюз или внутреннюю систему.

Ошибка 3: Хранение номеров в открытом виде. Хранение номеров в незашифрованном виде увеличивает риск утечки данных. Используйте хеширование и ограниченный доступ.

Ошибка 4: Отсутствие документации по согласию. Без записи о том, когда и как было получено согласие, вы не сможете доказать соответствие. Ведите журнал согласий с метаданными.

Ошибка 5: Игнорирование международных правил. Если вы отправляете SMS в страны ЕЭЗ, применяются правила GDPR. Используйте глобальный подход к соответствию.

Ошибка 6: Отсутствие тестирования на предмет спама. Плохое качество базы номеров приводит к жалобам. Используйте предварительные тестовые рассылки и следите за показателями доставки.

## FAQ

- **Можно ли использовать однократное подтверждение подписки в соответствии с GDPR?**
Один раз подтверждения подписки недостаточно; вам необходимо явное, информированное согласие, которое лучше всего подтверждать с помощью двойного подтверждения подписки.
- **Что делать, если подписчик отзывает согласие?**
Немедленно удалите его номер из всех списков рассылки и ведите журнал отписки не менее одного года.
- **Нужно ли шифровать номера перед их хранением?**
Да, используйте хеширование с солью для хранения; храните исходный номер только в ограниченной по доступу таблице.
- **Как часто нужно проверять базу номеров?**
Проводите ежеквартальный аудит; удаляйте неактивные или неверные номера.
- **Какой штраф может быть наложен за нарушение GDPR?**
Штраф может достигать 20 миллионов евро или 4 % от глобального годового оборота (статья 83).
- **Можно ли использовать купленные списки номеров?**
Только если у продавца есть задокументированное явное согласие каждого абонента. Проверьте источник перед использованием.
- **Что такое DPIA и когда он нужен?**
Оценка воздействия на конфиденциальность требуется при обработке данных, которая может повлечет за собой высокий риск для субъектов данных.
- **Как обеспечить соответствие при использовании SMS-шлюза?**
Выберите шлюз, который поддерживает процессы подписки и отписки, и ведите совместный журнал событий.

> "Субъект данных имеет право отозвать согласие в любое время." — Статья 7 GDPR, Европейский союз.
>
> European Union Official Journal, 2016

## Заключение

Создание базы номеров для SMS-рассылки, которая соответствует GDPR, требует тщательного управления согласия, безопасного хранения данных и постоянного мониторинга. Используйте двойное подтверждение подписки, ведите подробный реестр разрешений и выберите SMS-шлюз, который поддерживает соответствие требованиям. Регулярные аудиты, четкие процессы отписки и обучение сотрудников снижают риск нарушений и укрепляют доверие клиентов.

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

## Источники

- В материале не указаны внешние источники.
