What a person agrees to when they allow all cookies

People don't read instructions. You almost certainly haven't read the Windows EULA, the iTunes EULA, or the Linux GPL or any other software.



This is normal. This is our nature.



The same thing happens on the internet. Recently, thanks to the GDPR and other laws, we often see pop-up messages asking you for permission to use cookies.







The majority clicks β€œAgree” - and continues to live as if nothing had happened. Nobody reads the privacy policy, right?



Developer Conrad Akunga decided to figure out what specific terms are stipulated in the agreement of use . He took the news site Reuters as an example. This is a completely arbitrary example, most other sites also have their own rules.



These are the rules:





Pay attention to the scroll bar. Further there is a continuation.



Six more screens with text






















In short, the document informs the user about several things:



  • What the website collects and processes data

  • That for this he works with various partners

  • That the site stores some data on your device using cookies

  • That some cookies are strictly necessary (determined by the site). They cannot be disabled.



  • ,


Probably, the company developed all these intricate menus in order to create a certain semblance of transparency, openness to dialogue. However, you still cannot disable the "essential" cookies, as they are needed for the site to work.



You also cannot turn off ads completely. Thus, your only choice is to either watch ads that are selected at random or ads that the provider thinks may have something to do with you.



And one more point about partners to whom your personal data is sold. The list of partners is common for all sites that cooperate with the IAB.



Who are these "partners"?



If you click on the corresponding button, the following window will appear:





Notice how small the slider is on the scroll bar. There must be hundreds of them. Under the name of each company is a link to the privacy policy.





This is not the same link, but different! Each of them leads to a unique privacy policy for each partner. How many people will actually follow these links manually to read the terms and conditions? This is just unreal.



Konrad Akunga used Chrome's developer tools to retrieve a real list of partners with links to the privacy terms of each.







He pasted the copied list into VSCode - and got a huge file of 3835 lines, which after formatting ( Alt + Shift + F



) crashed into a monster of 54 399 lines.







Konrad wrote a program that uses regular expressions to extract the desired pieces of data - company names with URLs - and generate the Markdown result from a template.



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());
      
      





The result is a list of all partners, and each has its own unique document with confidentiality conditions. Here's the list: vendors.md .



There are 647 companies in it .



Obviously, no one will be able to familiarize themselves with all these conditions before clicking the "Agree" button, the author concludes.



Remember that these ad providers provide the same services to different sites. They uniquely identify the browser and device, so they can analyze and track your actions on different sites to create the most accurate profile. Large amounts of data are collected for each allegedly anonymous user ...



The parsing code from this article is posted on Github .



All Articles