Se descubre que Meta ha estado identificando usuarios que navegan por webs sin su permiso

Se supone que desde hace años, tanto en iOS como en Android, la navegación web de los usuarios es privada. A pesar de ver anuncios, la información que los navegadores web permiten recolectar de los usuarios está siempre que es posible anonimizada, es decir, no se puede identificar a una persona concreta como la que visita esta o esta otra web. O eso se pensaba, porque ahora se ha descubierto que Meta estaba tomando esta información supuestamente anónima y asignándola a personas que utilizan Facebook, sin su conocimiento, y sin su permiso.

Facebook y la privacidad de los usuarios

Tan pronto se ha descubierto lo que hacen y se ha publicado en Github toda la documentación del proceso, Meta ha dejado de hacer esto inmediatamente. Básicamente, les han pillado infraganti y sólo entonces han dejado de hacerlo, mirando hacia otro lado como si no pasara nada.

Lo que estaban haciendo es realmente complejo, como puedes ver en el esquema bajo estas palabras, y sólo funciona en Android. Afortunadamente, los usuarios de iOS hemos estado libres de este problema precisamente porque Apple no permite a Apps de terceros tener ciertos procesos funcionando en segundo plano, como sí hace la App de Facebook en Android. Meta ha pedido en repetidas ocasiones que les permitan hacer lo mismo en iOS, pero Apple siempre ha declinado la petición argumentando problemas de privacidad. Problemas que, ahora, vemos que existen en Android.

Proceso de asignación de cuentas de usuarios de Meta con su navegación web en smartphones Android
Proceso de asignación de cuentas de usuarios de Meta con su navegación web en smartphones Android, en localmess.github.io.

La manera de asignar una persona a una navegación web supuestamente privada, funciona así de manera muy simplificada.

  • El usuario tiene instalada la App de Facebook, y muy probablemente también otras de Meta como por ejemplo Instagram.
  • El usuario usa la App, sale de ella, y en ese momento un proceso en segundo plano permite a la App continuar funcionando con ciertas capacidades. El usuario está logueado en Facebook. La App en sí, por estar en un sandbox aislada (como en iOS) no puede saber lo que el usuario hace cuando sale de ella, pero ese proceso en segundo plano abre ciertos puertos locales, en un servidor web local, que sólo funciona en ese smartphone.
  • El usuario abre entonces el navegador web, y visita las webs que quiera. Meta planta una cookie que es llamada desde diferentes webs que tienen instalado un JavaScript de Meta, algo que millones de webs hacen. Esa información, gracias a esa cookie y otro JavaScript, es enviada a ese servidor web local, momento en el cual la App de Facebook puede asignar esa navegación al usuario que está logueado en ese momento. Ya saben que ese usuario está visitando esas webs, y por lo tanto, le pueden mostrar publicidad relacionada con esos gustos o intereses.
Puertos de escucha de Apps como Facebook o Instagram en un servidor local de un smartphone Android, todo funcionando en segundo plano
Puertos de escucha de Apps como Facebook o Instagram en un servidor local de un smartphone Android, todo funcionando en segundo plano, vía localmess.github.io.

Increíble, ¿verdad? – esto no es posible en iOS porque una vez que se sale de una App, el servidor web local que podría utilizar deja de funcionar. Las Apps que utilizan servidores web locales, como por ejemplo el reproductor de vídeo VLC, sólo consiguen hacer funcionar ese sistema cuando la App está abierta. Por eso muestran un mensaje pidiendo no cerrar o cambiar de App mientras un fichero de vídeo, como se hace habitualmente en VLC, se esté transfiriendo. Un servidor web local permite abrir una URL en cualquier navegador web y soltar en esa página un vídeo de vídeo que acabará en el espacio de almacenamiento de VLC, para poder ver en un iPhone o iPad rápidamente y fácilmente. Este sistema funciona muy bien pero sólo funciona cuando la App está en primer plano, en pantalla. En Android, es posible dejarlo funcionando incluso si se sale de la App, y Meta aprovecha esto y ese servidor local para identificar a usuarios y asociar su navegación web a sus cuentas.

Esto que ha pasado demuestra que Apple lleva algo de razón cuando desde la Comisión Europea les quieren obligar a permitir el mismo nivel de interoperabilidad que tiene Apple a terceras empresas. Esto significa permitirles ejecutar procesos en segundo plano aunque sus Apps no estén en pantalla en ese momento. Aparte de hacer el sistema más lento, también causa situaciones como ésta.

Ahora que esto se ha descubierto Meta podría verse en problemas legales, o no, porque no parece que haya ninguna intención de demandarles, al menos no por ahora.

Newsletter