Adrianistán

El blog de Adrián Arroyo


eurocookie-js

- Adrián Arroyo Calle

Hace ya algún tiempo que la ley europea en materia de privacidad se ha venido aplicando en España. La ley define que no se pueden almacenar datos que identifiquen al usuario con fines estadísticos (o publicitarios) a menos que se pida un consentimiento al usuario y este lo acepte. Solo lo deben cumplir aquellas personas que tengan un beneficio económico con la web. En empresas hay que aplicarlo siempre. El almacenamiento más usado para este tipo de identifición han sido las cookies, de ahí el nombre popular de "ley de cookies".

UnionEuropea

Odisea entre las cookies


Yo uso cookies. Las uso en este blog y en otros sitios. Google Analytics requiere consentimiento, Disqus requiere consentimiento, Google AdSense requiere consentimiento. Los widgets sociales de Twitter, Facebook, Google+, etc requieren consentimiento.
¿Pero entonces todas las cookies necesitan consentimiento?

No. Sólo las que identifican al usuario con fines estadísticos, que en el caso de los gigantes de Internet es siempre. Si usamos nuestras propias cookies y no las conservamos para posterior análisis no haría falta y no hay que pedir consentimiento.

Cookies
Cookies son las más usadas, pero si usas WebStorage (localStorage) o almacenamiento de Flash también tendrás que cumplir

eurocookie-js al rescate


Basado en un pequeño plugin hecho por Google bajo licencia Apache 2.0. Se trata de un pequeño fichero JavaScript que al cargarse pedirá el consentimiento (si no ha sido preguntado antes). Este consentimiento es molesto, forzando al usuario a aceptar si quiere leer cómodamente la web. Una vez acepta el consentimiento se carga todo el JavaScript que necesitaba consentimiento. Esto último es algo que muchos plugins de consentimiento de cookies no hacen. Realmente no sé si simplemente avisando se cumple la ley, bajo mi interpretación no. Y por eso este plugin. Además eurocookie-js está traducido a una gran cantidad de idiomas de la Unión Europea (tomadas directamente de las traducciones oficiales de Google para webmasters sobre esta ley). Vamos a ver como se usa.

Instalando eurocookie-js


Instalar eurocookie-js es más simple que el mecanismo de un botijo. Hay 3 maneras:

Biscuit

Usando eurocookie-js


Identificar JavaScript que necesita consentimiento


Primero, necesitamos identificar que JavaScript necesita consentimiento. Si usa una etiqueta script es fácil. Es importante declarar el tipo MIME del script como texto plano y le añadimos la clase cookie.



<script class="cookie" type="text/plain">
// USEMOS COOKIES FELIZMENTE, ENVIEMOS DATOS A LA NSA
</script>


En muchos casos bastará, por ejemplo con Disqus o con Google Analytics, puesto que cargan asíncronamente los archivos. En otros casos donde usemos el atributo src de script tendremos que modificar el código que se nos provee por el siguiente.



<script src="http://servidor.com/archivo.js"></script><!-- Será sustituido por --><script class="cookie" type="text/plain">
var file = document.createElement('script'); file.type = 'text/javascript'; file.async = true; file.src = "http://servidor.com/archivo.js"; document.getElementsByTagName('head')[0].appendChild(file);
</script>


Aunque si el proveedor te requería usar script src posiblemente no soporte la carga asíncrona.

Activando eurocookie-js


Ahora solo nos falta activar eurocookie-js. Es fácil. Al final, antes de cerrar body tenemos que añadir lo siguiente:
Si usamos Bower o el método manual




<script>
euroCookie("http://enlace-a-politica-de-privacidad.com");
</script>


Si usamos npm + browserify


 
var ec=require("eurocookie-js");
ec.euroCookie("http://link-to-privacy-policy.com");


El fichero generado por browserify podrá ser añadido directamente al HTML.

Más información


Como siempre, toda la información está en GitHub: http://github.com/AdrianArroyoCalle/eurocookie-js

Comentarios

Añadir comentario

Todos los comentarios están sujetos a moderación