Многие компании, которые работают с клиентами из Евросоюза, столкнулись с регулированием GDPR, вступившим в силу 25 мая 2018 года. KeepSolid — мультипродуктовая компания, а это значит, что нам пришлось разрабатывать решение, которое позволит выполнять требования GDPR как для отдельного продукта, так и для аккаунта в целом (KeepSolid ID).
Нормы GDPR обязывают компанию предоставлять конечному пользователю возможность:
Немного статистики: в среднем в месяц мы получаем 3500 запросов на удаление аккаунта и 800 запросов на экспорт данных.
Потенциальная проблема была в том, что каждый продукт — это своя отдельная экосистема с своим набором сервисов, API и т.д. А еще были следующие ограничения:
Самый простой вариант реализации поддержки GDPR — отправка синхронных запросов каждому продукту, ожидание результатов ответов и отправка ответа пользователю. Но такой подход не проходит ни по одному из ограничений, которые я указал выше.
Учитывая все ограничения, мы решили реализовать шину данных на очередях. Основные сервисы, которые участвуют в реализации GDPR, такие:
В качестве транспорта сообщений был выбран RabbitMQ — благодаря удобному функционалу маршрутизации по разным очередям. Для временного хранилища данных экспорта используем Amazon S3.
Для примера рассмотрим обобщенную диаграмму активности GDPR-операции продукта VPN Unlimited:
В дальнейшем логика работы GDPR Service довольно проста. Если все сервисы отвечают успешно — формируется запрос с полезной нагрузкой для пользователя, и ему отправляется письмо через сервис рассылки. В случае же если GDPR операция не была финализирована в течение 24 часов, GDPR Service уведомляет backend-отдел об ошибке.
Плюсы:
Минусы:
В итоге такая реализация стала для нас первой и единственной — мы практически не столкнулись с проблемами GDPR. Мониторинг работает исправно, и если сервис конкретного продукта не смог совершить GDPR-операцию, это всегда можно оперативно починить вручную или изменить бизнес-логику обработки в конкретном продукте.
В благословенные офисные времена, когда не было большой войны и коронавируса, люди гораздо больше общались…
Вот две истории из собственного опыта, с тех пор, когда только начинал делать свою карьеру…
«Ты же программист». За свою жизнь я много раз слышал эту фразу. От всех. Кто…
Отличные новости! Если вы пропустили, GitHub Copilot — это уже не отдельный продукт, а набор…
Несколько месяцев назад мы с командой Promodo (агентство инвестировало в продукт более $100 000) запустили…
Пару дней назад прочитал сообщение о том, что хорошие курсы могут стать альтернативой классическому образованию.…