Cookies

На що погоджується людина, коли дозволяє всі куки

Люди не читають інструкцій. Ви вмовірно не читали ліцензійну угоду Windows, не читали ліцензійну угоду iTunes, не читали умови Linux GPL або будь-якого іншого програмного забезпечення.

Це нормально. Така наша природа.

Те ж саме відбувається в інтернеті. Останнім часом завдяки GDPR і іншим законам часто доводиться бачити спливаючі повідомлення, де вас питають дозволу на використання cookies.

Більшість натискає «Погодитися» – і продовжує жити як ні в чому не бувало. Адже ніхто не читає політику конфіденційності, вірно?
Розробник Конрад Акунга (Conrad Akunga) вирішив розібратися, які конкретно умови передбачені угодою про використання. Для прикладу він узяв новинний сайт Reuters. Це абсолютно довільний приклад, у більшості інших сайтів теж є свої правила.

Ось ці правила:

Зверніть увагу на смугу прокрутки. Далі йде продовження.

Ще шість екранів з текстом.

Якщо коротко, документ буде сповіщати про кілька речей:

  • Що веб-сайт збирає і обробляє дані
  • Що для цього він працює з різними партнерами
  • Що сайт зберігає деякі дані на вашому пристрої за допомогою файлів cookie
  • Що деякі файли cookie строго необхідні (визначається сайтом). Їх не можна відключити.
  • Деякі персональні дані можуть бути продані партнерам для надання відповідного контенту
  • Ви можете персоналізувати рекламу, але не видалити її

Ймовірно, всі ці заплутані меню компанія розробила, щоб створити якусь видимість прозорості, відкритості до діалогу. Але ви все одно не можете відключити «основні» cookie, оскільки вони потрібні для роботи сайту.

Ви також не можете повністю відключити рекламу. Таким чином, ваш єдиний вибір – або дивитися рекламу, обрану випадковим чином, або рекламу, яка, на думку провайдера, може мати до вас якийсь стосунок.

І ще один пункт про партнерів, яким продаються ваші персональні дані. Список партнерів загальний для всіх сайтів, які співпрацюють з IAB.

Хто ж ці «партнери»?

Якщо натиснути на відповідну кнопку, то з’явиться наступне вікно:

Зверніть увагу, наскільки маленький повзунок на смузі прокрутки. Напевно, там їх сотні. Під назвою кожної компанії – посилання на політику конфіденційності.

Це не одна і та ж посилання, а різні! Кожна з них веде на унікальну політику конфіденційності кожного партнера. Скільки людей насправді піде за цим посиланням вручну, щоб прочитати умови? Це просто нереально.

Конрад Акунга скористався інструментами розробника Chrome, щоб витягти реальний список партнерів з посиланнями на умови конфіденційності кожного з них.

Скопійований список він вставив в VSCode – і отримав величезний файл на 3835 рядків, який після форматування (Alt + Shift + F) розбився в чудовисько на 54 399 рядків.

Конрад написав програмку, яка за допомогою регулярних виразів витягує потрібні фрагменти даних – назви компаній з URL – і генерує результат у форматі Markdown за шаблоном.

Log.Logger = new LoggerConfiguration()
.WriteTo.Console()
.CreateLogger(); // Define the regex to extact vendor and url
var reg = new Regex("\"vendor-title\">(?<company>.*?)<.*?vendor-privacy-notice\".*?href=\"(?<url>.*?)\"",
RegexOptions.Compiled); // Load the vendors into a string, and replace all newlines with spaces to mitigate
// formatting issues from irregular use of the newline
var vendors = File.ReadAllText("vendors.html").Replace(Environment.NewLine, " "); // Match against the vendors html file
var matches = reg.Matches(vendors); Log.Information("There were {num} matches", matches.Count); // extract the vendor number, name and their url, ordering by the name first.
var vendorInfo = matches.OrderBy(match => match.Groups["company"].Value)
.Select((match, index) =>
new
{
Index = index + 1,
Name = match.Groups["company"].Value,
URL = match.Groups["url"].Value
}); // Create a string builder to progressively build the markdown
var sb = new StringBuilder(); // Append headers
sb.AppendLine($"Listing As At 30 December 2020 08:10 GMT");
sb.AppendLine();
sb.AppendLine("|-|Vendor| URL |");
sb.AppendLine("|---|---|---|"); // Append the vendor details
foreach (var vendor in vendorInfo)
sb.AppendLine($"|{vendor.Index}|{vendor.Name}|[{vendor.URL}]({vendor.URL})|"); // Delete existing markdown file, if present
if (File.Exists("vendors.md"))
File.Delete("vendors.md"); //Write markdown to file
File.WriteAllText("vendors.md", sb.ToString());

В результаті вийшов список всіх партнерів, і у кожної – свій унікальний документ c умовами конфіденційності. Ось цей список: vendors.md.

У ньому 647 компаній.

Очевидно, що ніхто не зможе ознайомитися з усіма цими умовами перш, ніж натиснути кнопку «Погодитися», робить висновок автор.

Пам’ятайте, що ці рекламні провайдери надають одні й ті ж послуги різних сайтах. Вони однозначно ідентифікують браузер і пристрій, тому можуть аналізувати і відстежувати ваші дії на різних сайтах для створення максимально точного профілю. На кожного нібито анонімного користувача збираються великі обсяги даних.

Код для парсинга з цієї статті опублікований на Github.

Джерело

Поділитися
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Реклама

36

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Схожі записи

Почніть набирати текст зверху та натисніть "Enter" для пошуку. Натисніть ESC для відміни.

Повернутись вверх