Yesterday, Andy Budd tweeted the following:
Wondering if the browsers are doing anything about the EU cookie law? Would be so much slicker if this could be handled at the brower level.
That got me thinking and, as I like to work out how things work, I started to ask Andy how he would see this being implemented. A few tweets later and it's obvious I need more than 140 characters to explain what is going through my mind, hence this post.
Cookie Law, What Cookie Law?
Andy's idea is to use the browser to handle this law. This is a good idea for the following reasons:
- Every single web site has been implementing the law their own way so using the browser would be a good way to bring a bit of standardisation to it;
- The browser is the agent that uses and stores the cookies created by web sites so it is the best place to enforce the choice of the user whether to opt in or not and to keep track of that choice between multiple visits.
So far, so good. Then comes the question: how do you implement such a thing in the browser? At a high level, you need to do the following when visiting a web site:
- Identify whether the web site falls under the jurisdiction of the Cookie Law;
- If yes, then identify for each cookie presented by the web site:
- What is that cookie used for,
- Whether that use is covered by the exceptions detailed in paragraphs (4)(a) and (4)(b),
- If not, ask the user for consent.
Let's take all those one at a time to see where we get to.
The first step is to identify whether a given web site is subject to the Cookie Law. In order to do this reliably, you would need a cryptographically secure token that can be linked back to a company identity, including a country. Extended Validation Certificates already offer something similar but do they contain a country code in a machine readable format? I simply don't know. And what about sites that use plain HTTP rather than HTTPS?
In all instances, you will have three possible outcome to whether the site falls under the Cookie Law: yes, no or don't know. In the first case, you also need to know what variation of the European Directive to apply. European Directives being what they are, each member country is free to implement it their own way so German law will be different from British law. Conversely, in the last case, what should the browser do? Display a warning or let you go on?
To complicate matters, there is also the question of whether cookies served by a domain other than the main site's domain, such as cookies from ad networks, fall under the main site's jurisdiction or their own domain's jurisdiction. IANAL so I have no idea what the answer is.
Finally, what would prevent a multi-national company to advertise its web site to the browser as being in a non-European jurisdiction even if they do business in Europe?
What is that Cookie for?
The next step is to identify what each cookie is used for. This could take the form of a machine readable file located at a well known URL or referenced by a
link tag in the page's header. This was tried before in the form of P3P and it failed to gain traction. Any such standard would have to learn from the issues faced by P3P in order to succeed.
Once this is done, it would be a case of having a number of uses recognised as falling under the exception paragraphs while any other use would require opt in. You would then en up with three possible outcomes regarding whether user opt-in is required for any given cookie served by the web site: yes, no and don't know, the latter being the case if the web site does not provide any information for that particular cookie. This last case will be the controversial one because you can't be too stringent otherwise web sites won't have time to implement the standard but on the other hand you have to at least let the user know that a machine readable privacy use for that cookie is missing otherwise it gives an easy cop out for web sites that don't want to play fair.
Once a user has given or declined consent for particular cookies to be stored on their browsers, said browsers can remember such decisions and act accordingly next time the user visits the same web site. It would also be nice if the browser could notify the site of the user's decision so that web sites can avoid creating declined cookies altogether. This should then be accessible to the user in a similar way to saved passwords.
Do Not Track, etc.
A couple of parting thoughts:
- How should all this interact with features like Do Not Track?
- How can it be made flexible enough such that it can be extended the day other countries implement similar laws?
Answers on a postcard or in the comments below.