Сейчас много обсуждают, как срочно надо отправить уведомление об обработке персональных данных в Роскомнадзор, какой толщины создать папку документов на страже этих данных, какую форму согласия подвесить на сайт, и нужно ли отключать с него Гугл-аналитику. Для разнообразия предлагаю ознакомиться, какие технические меры в связи с аналогичными регуляциями предпринимают в Евросоюзе. У них, как известно, есть свой GDPR, вот и посмотрим, с чем они его едят.
GDPR — это General Data Protection Regulation, то есть общий регламент защиты (персональных) данных, утверждённый в Евросоюзе.
Я около 7 лет работаю с иностранными проектами. С теми или иными проявлениями требований GDPR сталкивался на десятках сайтов. Набралось чем поделиться с позиции технического специалиста.
Нервным, впечатлительным и беременным дальше лучше не читать. Как минимум один Анатолий на днях пострадал, выбежал из машины в шоке и трепете, когда я изложил ему тезисно перечисленные ниже моменты, так сказать в порядке частной беседы.
Начнем, собственно, с формы согласия на использование cookies. У нас до недавнего времени не писали ничего, или просто писали что-то вроде «У нас на сайте используются куки, потому что так надо» и добавляли кнопку «Ок» рядом. Сейчас тоже добавляют кнопку «Ок» и приписывают «если не согласны, идите в настройки браузера и отключайте куки сами». И было бы здорово, если бы этого было достаточно всем и навсегда.
Но по GDPR должна быть явная возможность отказаться (opt out) от передачи куков. Поэтому должны быть две кнопки — Accept и Decline. Причём, Decline — это не возглас «Я против!» и не фига в кармане. Если пользователь отказывается от кукисов, сайт должен удалить все куки и не использовать их для данного пользователя, точка.
Пока жить можно? Едем дальше. По нажатии на Accept у сайта тоже возникает обязанность, а именно — хранить факт пользовательского согласия. IP, дату время, возможно куку сессии. В любой момент у пользователя должна быть возможность согласие отозвать, но должна быть и запись, подтверждающая, что это согласие когда-то имело место. Не знаю зачем, может для проверки в случае жалоб. То есть +1 табличка в базе данных как минимум и стандартные операции с ней.
Но это только начало. Далее, сайт должен категоризировать свои кукисы и показывать эту информацию пользователю, с возможностью поставить галочки и согласиться только на часть куков. Для этого мы выделяем куки, необходимые для жизнеспособности сайта (Essential), и отдельно от них записываем куки категорий Marketing, Ads, Tracking и т.п. Пользователь может например согласиться только на Essential, а остальные куки тогда придется отключить. Повторюсь, не сделать вид и держать пальцы крестиком, а действительно сделать чтобы этих кук не было.
А что значит вообще — «категоризировать»? А это значит, составить табличку для всех кукисов на сайте, в которой написать название куки, категорию, срок жизни, а также зачем эта кука используется и кому она нужна (в случае third party, например Google). Уже представили себя копающимся в кукисах на страницах своего сайта, переписывающим названия в таблицу, гуглящим каждую куку и её назначение? Вот и европейские компании представили. И теперь у них есть такая должность — Data Protection Officer, сотрудник, ответственный за защиту персональных данных. Он категоризирует куки и выставляет задачи разработчикам, чтобы они свои таблички кук составляли тоже (или сверяли с табличкой сотрудника и устраняли расхождения). Ну и видимо чувствует гордость за то, что помогает организации в соблюдении такого важного и нужного закона.
Уже немного больно? Но и это еще не всё. Хотите вставить в страницу сайта фрейм, скажем, видео с ютуба? Ха-ха-ха! Вставляйте какой-нибудь блок-оверлей с надписью «тут будет видео с внешнего сервиса» и запрашивайте согласие у пользователя. И никакого скрытого фрейма в коде страницы — он может быть загружен только если юзер согласился. Иначе это трансграничная передача данных за пределы Евросоюза. Нельзя!
Хотите чтобы этот блок-оверлей нормально выглядел, для этого вставляете в него картинку-превьюшку из видео? Загружайте картинку к себе на сайт и тогда показывайте. Вставлять напрямую из ютуба не получится, ведь тогда Гугл узнает IP пользователя! И это тоже будет трансграничная передача данных. Недопустимо!
Это ограничение настолько бессмысленно и беспощадно, что некоторые организации уже поддерживают собственные внутрение стриминг-сервисы, просто для того, чтобы без нарушений и оверлеев видео в страницы вкручивать. Даже когда видео для них — второстепенно и не является основным способом подачи контента. А разработчики пишут интеграции с этими сервисами взамен ютуба.
Такая же штука и с Гугл-аналитикой. Точно так же как у нас теперь нужно как минимум уведомить об использовании сервиса с трансграничной передачей кук, так и в Евросоюзе больше на шару Гугланалитикой не побаловаться. Многие проекты с которыми я работал тупо перешли на свободные сервисы типа Matomo. Хостят сами у себя и собирают статистику. Там все равно есть куки, но уже хотя бы свои, невыездные.
Конечно же, на фоне этих регуляций бизнес подсуетился и появились сервисы типа Кукибота или CCM19. Они умеют (за деньги, конечно) спрашивать согласие, хранить и показывать факт этого согласия, удалять куки при отказе, показывать табличку с категориями, и даже основную часть кук самостоятельно категоризировать.
Но конечная ответственность за то, чтобы данные в табличках с куками были верные, а по нажатию Decline удалялись в точности все, лежит все равно на сайтовладельцах. Поэтому разработчики пишут интеграции с этими сервисами, рассказывают сервисам что дополнительно надо (или не надо) удалять, а также тестируют со скриптами этих сервисов свои плагины. Потому что вот есть у тебя допустим JS-библиотека фотогалереи. А она с разрешенными куками работает, а с запрещенными (или до выбора ответа вообще) — нет. Хотя куки в ней при этом не используются. Иди, отлаживай, так с каждым вторым скриптом будет (подсказка: смотри на порядок и способы инициализации).
Наверное, как разработчик я должен быть рад всей этой дополнительной оплачиваемой работе. Но мне лет уже не 20, и как-то хочется делать значимые вещи, кому-то приносящие реальную пользу, ну или хотя бы интересные. А тут ты вынужден вести разработку всяких там окошек и согласий, которые пользователи в массе воспринимают просто как очередные раздражители.
Да, блин, я согласен на ваши куки-шмуки, отстаньте от меня, я хочу посмотреть что вы показываете и дальше пойти по своим делам, и мне плевать в принципе, кто запишет в книжечку, что я ваш сайт смотрел.
Напоследок небольшой дисклеймер. Я не юрист и не эксперт в том, что в тексте GDPR написано. Я лишь рассказал, с какими проблемами сталкиваются бизнесы и с чем обращаются к разработчикам для выполнения требований этого регламента.
Дойдёт ли до такого у нас? Надеюсь, что нет. Но вполне может быть, что и да. А если дойдёт, то справимся как-нибудь, чего уж. Не в первый раз.