GDPR для российского бизнеса с клиентами из Европы
> Важная оговорка сразу. Этот текст — обзорный инженерный материал, а не юридическая консультация. Мы не приводим точные формулировки статей GDPR, не называем точные суммы штрафов и не даём окончательного заключения о том, применяется ли регламент к вашей компании. Для конкретного ответа по вашей ситуации нужна консультация юриста, специализирующегося на международном праве данных — особенно если речь о платежах, здоровье или иных чувствительных данных клиентов. Компания зарегистрирована в России, сервер стоит в Москве, директор никогда не был в Европе — а вопрос «а нас вообще касается GDPR» всё равно всплывает, как только среди клиентов появляются жители ЕС. Это не паранойя: европейский регламент устроен так, что применяется не по прописке компании, а по тому, чью личную информацию она обрабатывает. Дальше — без юридического жаргона о том, когда это стоит проверить всерьез и что конкретно придётся чинить технически, если ответ окажется «да, касается».
Содержание
- Право на удаление: от декларации к рабочей функции
- Право на экспорт данных в машиночитаемом формате
- Документирование оснований обработки для каждой категории данных
- Уведомление об утечках данных: не «если», а «когда и как быстро»
- GDPR и 152-ФЗ — это не одно и то же
- Что можно сделать уже сейчас, не дожидаясь юриста
Право на удаление: от декларации к рабочей функции
Самое частое требование, о котором слышали даже те, кто не читал регламент — право пользователя потребовать удаления своих данных. На бумаге это звучит просто, но на практике превращается в инженерную задачу, которую многие проекты решают лишь наполовину.
Проблема в том, что «удаление» часто реализуется как пометка is_deleted = true в одной таблице — а личные данные тем временем продолжают жить в десятке других мест: в бэкапах, в логах приложения, в аналитической базе, в письмах поддержки, в кэше CDN, в дампах для аналитиков, в очереди сообщений, в сторонних сервисах (email-рассылки, платёжный шлюз, CRM). Формальный ответ пользователю «данные удалены» при таком раскладе не соответствует действительности.
Что технически означает работающее право на удаление:
- Каскадное удаление в основной БД. Не одна таблица
users, а весь граф связанных записей — заказы (или их обезличенные версии, если нужна бухгалтерская история), адреса, платёжные токены, история обращений в поддержку, согласия на рассылку. Стоит заранее нарисовать этот граф явно, а не выяснять постфактум, что забыли таблицу. - Обезличивание вместо жёсткого удаления там, где нужна история. Если заказ нельзя удалить из-за требований бухгалтерского или налогового учёта, персональные поля (имя, email, телефон, адрес) заменяются на плейсхолдеры, а сама транзакционная запись остаётся.
- Политика по бэкапам. Полное немедленное удаление из архивных бэкапов физически не всегда возможно и не всегда требуется — но должна быть внятная политика ротации (например, старые бэкапы с чувствительными данными не хранятся дольше определённого срока и не восстанавливаются в прод без дополнительной проверки на удалённых пользователей).
- Очистка логов и кэшей. Персональные данные не должны годами жить в логах приложения или веб-сервера в открытом виде. Разумный подход — не писать email и телефон в логи вовсе (маскировать при логировании), тогда и вопрос их удаления из логов не встаёт.
- Уведомление сторонних сервисов. Если данные пользователя передавались в email-рассылку, аналитику или CRM — при удалении нужно инициировать удаление и там, через API соответствующего сервиса, а не молча забыть про них.
Практический пример на уровне архитектуры: вместо DELETE FROM users WHERE id = ?, который может упасть на внешних ключах или молча оставить сироток в связанных таблицах, разумнее реализовать сервис-функцию deleteUserData(userId), которая последовательно проходит по всем известным источникам данных пользователя и либо удаляет, либо обезличивает запись, логируя каждый шаг для последующего аудита самого факта исполнения запроса.
-- пример каскадной очистки в PostgreSQL, где это оправдано историей заказов
BEGIN;
UPDATE orders
SET customer_name = 'deleted_user',
customer_email = NULL,
customer_phone = NULL,
shipping_address = NULL
WHERE user_id = 12345;
DELETE FROM support_tickets WHERE user_id = 12345;
DELETE FROM marketing_consents WHERE user_id = 12345;
DELETE FROM sessions WHERE user_id = 12345;
DELETE FROM users WHERE id = 12345;
COMMIT;
Это иллюстрация подхода, а не готовый скрипт под вашу схему данных — набор таблиц и правил (что обезличивать, а что удалять) зависит от бизнеса и требует юридической сверки с тем, что можно хранить по бухгалтерским основаниям.
Право на экспорт данных в машиночитаемом формате
Второе практическое требование — пользователь должен иметь возможность получить копию своих данных в структурированном, машиночитаемом виде (переносимость данных). Это не «пришлите скриншот профиля», а полноценный экспорт, который теоретически можно загрузить в другой сервис.
На практике это означает: эндпоинт или админ-функцию, которая по идентификатору пользователя собирает все его данные из всех источников (профиль, заказы, история активности, согласия) в один файл; формат JSON или CSV — оба общеприняты как «машиночитаемые» (плоские таблицы удобнее в CSV, вложенные структуры — в JSON); разумный срок на выполнение запроса — не мгновенно, но и не «через два месяца»; процедуру подтверждения личности запрашивающего — отдавать дамп персональных данных по первому непроверенному запросу с почты нельзя, это отдельная дыра в безопасности.
{
"user_id": 12345,
"profile": {
"name": "...",
"email": "...",
"registered_at": "2024-03-01T10:00:00Z"
},
"orders": [
{ "id": 987, "date": "2024-05-12", "total": 129.90, "currency": "EUR" }
],
"consents": [
{ "type": "marketing_email", "given_at": "2024-03-01T10:05:00Z", "withdrawn_at": null }
]
}
Полезный побочный эффект: если вы уже сделали функцию сбора всех данных пользователя для экспорта, ту же функцию логично переиспользовать и для права на удаление — она уже знает, где физически лежат все фрагменты персональных данных конкретного человека.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать VPSДокументирование оснований обработки для каждой категории данных
Это требование почти невидимо для пользователя, но заметно для разработки и для того, кто отвечает за соответствие в компании. Суть в следующем: для каждой категории собираемых данных нужно явно зафиксировать, зачем вы её собираете и на каком основании — согласие пользователя, необходимость для исполнения договора, законный интерес компании, юридическая обязанность и так далее (у GDPR несколько таких оснований, согласие — лишь одно из них, и не всегда самое удобное).
Практически это выливается в таблицу, которую стоит вести и обновлять при каждом изменении схемы данных:
| Категория данных | Зачем собирается | Основание | Срок хранения |
|---|---|---|---|
| Email, имя | Оформление заказа, связь с клиентом | Исполнение договора | Пока активен аккаунт + бухгалтерский срок |
| Адрес доставки | Доставка заказа | Исполнение договора | Срок исполнения заказа + бухгалтерский срок |
| Cookie-идентификатор, история просмотров | Аналитика, персонализация | Согласие | До отзыва согласия |
| Email для рассылки | Маркетинговые письма | Согласие | До отзыва согласия |
| IP-адрес в логах сервера | Безопасность, борьба со злоупотреблениями | Законный интерес | Ограниченный срок ротации логов |
Такая таблица не заменяет юридический документ (реестр обработки), но на основе технического аудита «какие поля у нас реально есть в базе и зачем» юрист сможет составить формальный документ. Для разработки это ещё и полезное упражнение: часто выясняется, что в базе годами лежит поле, назначение которого никто не помнит — а значит, его, скорее всего, можно удалить, что заодно снижает риск, а не только закрывает формальность. Данные, которые собираются «на всякий случай», без чёткой цели — с точки зрения GDPR слабое место: обработка без ясного основания создаёт риск, даже если сами данные никак не используются.
Уведомление об утечках данных: не «если», а «когда и как быстро»
GDPR обязывает компанию, если она соответствует критериям применимости, реагировать на инциденты с утечкой персональных данных в сжатые сроки — уведомить регулятора, а в определённых случаях и самих затронутых пользователей. Мы намеренно не называем здесь точное число часов или дней — сроки в подобных режимах обычно короткие и жёсткие (значительно короче, чем «разберёмся на следующей неделе»), и точную формулировку стоит уточнять по актуальному тексту регламента или у юриста, а не полагаться на память из статьи в блоге.
Что это означает для инфраструктуры на практике, вне зависимости от точных сроков:
- Мониторинг и алертинг должны реально работать, а не существовать формально. Аномальный объём выгрузки из БД, неожиданный доступ к бэкапам, подозрительная активность в панели администратора — всё это должно долетать до ответственного человека быстро, а не обнаруживаться через неделю при разборе логов.
- Заранее готовый план реагирования на инцидент, а не изобретение процедуры в момент паники: кто оценивает масштаб утечки, кто принимает решение об уведомлении, по какому шаблону готовится сообщение регулятору и пользователям.
- Логирование доступа к чувствительным данным, чтобы при инциденте можно было быстро ответить на вопрос «что именно и в каком объёме утекло», а не гадать. Без внятных логов доступа к базе оценка масштаба инцидента может занять недели вместо часов — а сроки уведомления от этого не сдвигаются.
- Список контактов и процедура эскалации, зафиксированные заранее, а не выясняемые в момент, когда уже нужно что-то сообщать регулятору.
Здесь же уместно напомнить: требования к логированию доступов и хранению технических журналов — тема, которая пересекается и с локальным российским регулированием, и с GDPR по-своему; если для вашей инфраструктуры уже настроен аудит подключений и доступов, часть фундамента для реагирования на инциденты уже есть.
GDPR и 152-ФЗ — это не одно и то же
Здесь стоит расставить точки максимально прямо, потому что путаница на этом месте встречается часто и дорого стоит. Формальное соответствие требованиям российского законодательства о персональных данных (152-ФЗ) не означает автоматического соответствия GDPR, если он применим к вашему бизнесу. Это два разных, во многом непересекающихся режима регулирования:
- 152-ФЗ в первую очередь фокусируется на требовании локализации — обязанности хранить и обрабатывать первичные персональные данные россиян на серверах в России. Подробнее логика локализации разобрана в статье 152-ФЗ: где законно держать сервер с персональными данными.
- GDPR гораздо более детализированный и строгий режим: конкретные и технически проверяемые права субъекта данных (удаление, экспорт, ограничение обработки, возражение против обработки), обязательное документирование оснований обработки по каждой категории данных, короткие сроки реагирования на инциденты, а в ряде случаев — требование назначить ответственного за защиту данных (data protection officer) и вести формальный реестр операций обработки.
На практике это означает, что компания может быть полностью «чиста» перед российским регулятором — сервер с базой в РФ, все формальности 152-ФЗ соблюдены — и при этом не иметь ни одного из технических механизмов, которые требует GDPR: ни рабочей функции удаления по всем таблицам, ни экспорта данных, ни задокументированных оснований обработки, ни плана реагирования на утечки в сжатые сроки. Если у бизнеса есть аудитория одновременно в России и в ЕС, оба контура требований приходится закладывать параллельно, и один не подменяет другой. Мы разбирали похожую механику соотношения инфраструктурных затрат и юридических требований на примере одного лишь 152-ФЗ в статье сколько стоит соответствие 152-ФЗ для небольшой компании — для GDPR аналогичная смета обычно получается заметно длиннее и дороже именно из-за детализации требований.
Что можно сделать уже сейчас, не дожидаясь юриста
Часть подготовки к GDPR — чисто инженерная работа, которую можно начать до того, как юрист вынесет окончательное заключение о применимости регламента к вашему бизнесу. Разумный порядок действий:
- Провести инвентаризацию данных. Пройтись по всем таблицам БД, логам, сторонним сервисам (email-рассылка, аналитика, платёжный шлюз, CRM) и составить список: какие персональные данные где хранятся. Это тот самый технический фундамент, на основе которого потом строится и таблица оснований обработки, и функция удаления, и функция экспорта.
- Написать (хотя бы черновую) функцию полного удаления пользователя и проверить её на тестовой копии базы — действительно ли после её выполнения не остаётся следов персональных данных там, где им не место.
- Написать функцию экспорта данных пользователя — часто это переиспользование того же кода, который собирает данные для удаления, только с выводом в файл вместо стирания.
- Настроить или проверить логирование доступа к базам с персональными данными и убедиться, что алерты на аномальную активность реально доходят до человека, а не просто пишутся в файл, который никто не читает.
- Проверить бэкапы — знаете ли вы, сколько версий бэкапа с персональными данными хранится, где физически, и кто имеет к ним доступ.
- Свести данные в таблицу категорий и оснований — даже черновой вариант такой таблицы сильно ускорит работу юриста, когда до него дойдёт очередь.
Что касается инфраструктуры: если аудитория проекта в Европе, разумно рассмотреть сервер в Великобритании или другой европейской юрисдикции — это не решает вопрос применимости GDPR само по себе (регламент определяется аудиторией, а не адресом сервера), но снижает задержку для европейских пользователей и облегчает разговор с партнёрами из ЕС на этапе due diligence, когда те спрашивают, где физически хранятся данные. Если аудитория смешанная — из России и из ЕС одновременно — стоит заранее продумать архитектуру с раздельным хранением или чётким разделением потоков данных, чтобы не пытаться усидеть на двух стульях регулирования одной и той же базой без разделения.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать VPSНужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.
Частые вопросы
Если у меня всего пара клиентов из Европы, GDPR точно применяется?
Однозначного числового порога нет — вопрос не в количестве, а в том, целенаправленно ли бизнес работает с аудиторией ЕС (реклама, локализация под евро, доставка). Пара случайных заказов от туристов — не то же самое, что системная работа с европейским рынком. Точный ответ для вашей ситуации даст только юрист.
Нужно ли переносить сервер в Европу, чтобы соответствовать GDPR?
Не обязательно и само по себе это вопрос не закрывает — соответствие достигается процессами и техническими механизмами (удаление, экспорт, документирование оснований, реагирование на инциденты), а не географией сервера. Локация в ЕС или Великобритании облегчает трансграничную передачу данных и разговор с европейскими партнёрами, но не заменяет остальную работу.
Мы уже соответствуем 152-ФЗ — этого достаточно для GDPR?
Нет, это разные режимы с разным набором требований. 152-ФЗ в основном про локализацию хранения данных россиян, GDPR — про конкретные технически проверяемые права пользователей и сроки реагирования. Соответствие одному не означает соответствия другому.
С чего начать, если непонятно, применяется ли к нам GDPR?
С инвентаризации: откуда трафик, есть ли целенаправленная работа с аудиторией ЕС, что говорит текущая аналитика. Дальше — консультация с юристом по международному праву данных, который даст конкретный ответ по вашей ситуации, и параллельно техническая инвентаризация данных, которая пригодится в любом случае.
Что будет, если GDPR применяется, а мы ничего не делаем?
Мы намеренно не называем здесь суммы штрафов — они зависят от конкретных обстоятельств и характера нарушения, а неточная цифра из блога способна ввести в заблуждение больше, чем её отсутствие. Риски реальны и включают не только штрафы, но и репутационные потери с европейскими партнёрами. За точной оценкой рисков для вашей ситуации — к юристу.
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →