La mayoría de la gente trata un código QR como un atajo inofensivo a una web. A menudo lo es. Pero un QR no es más que un contenedor de texto, y ese texto puede ser mucho más sensible que un enlace. Antes de soltar una imagen de código en el primer "lector de QR online" que encuentres, conviene saber qué podrías estar entregando, y a quién.

Qué puede contener en realidad un código QR

Leer un código QR de una imagen, de forma privada, en tu propio dispositivo — visual 1
Qué puede contener en realidad un código QR

El patrón en blanco y negro codifica texto plano, y por convención ese texto puede ser muchas cosas:

  • Una URL: el caso común, pero a veces un enlace privado o de un solo uso (un restablecimiento de contraseña, una invitación, un documento "no listado" en lugar de verdaderamente público).
  • Una red Wi-Fi y su contraseña: los códigos de "escanea para conectar" en los routers y en los hoteles literalmente codifican el nombre de la red y la contraseña en texto plano.
  • Una tarjeta de contacto (vCard): un nombre, número de teléfono, correo y dirección de casa o de la oficina.
  • Un token de inicio de sesión o de pago: algunas apps muestran un QR para autorizar una sesión o una transferencia; la cadena de dentro es en efecto una clave.
  • Texto plano o un mensaje: cualquier cosa que alguien decidiera codificar.

Nada de eso es peligroso para ti cuando lo decodificas en tu propio dispositivo. Se convierte en un problema cuando decodificar exige enviar la imagen a otra parte.

El paso oculto: los "lectores online" suben tu imagen

Leer un código QR de una imagen, de forma privada, en tu propio dispositivo — visual 2
El paso oculto: los "lectores online" suben tu imagen

Aquí está la parte fácil de pasar por alto. Un lector de QR online típico funciona subiendo tu archivo de imagen a su servidor, decodificándolo allí y devolviendo el resultado. Eso significa que la imagen —y lo que sea que el código codifique— sale de tu dispositivo y aterriza en hardware que no controlas. Para un enlace a un artículo público, bien. Para una contraseña de Wi-Fi, un token de inicio de sesión o una tarjeta de contacto con una dirección de casa, acabas de transmitir un secreto al servidor de un desconocido, donde puede registrarse o guardarse en caché, todo para leer un texto que ya estaba en tu pantalla.

Puedes comprobar si una herramienta sube: fíjate en una barra de progreso que crece con el tamaño del archivo, o abre la pestaña Red de tu navegador y mira si una petición grande carga tu imagen. Las herramientas verdaderamente locales no hacen ninguna de las dos cosas.

Decodifícalo localmente

El enfoque respetuoso con la privacidad es decodificar el código en tu propio navegador, para que la imagen nunca viaje.

El lector de códigos QR de IMG.DIY hace exactamente eso. Le das una imagen —arrastra, pega o elige un archivo— y dibuja la imagen en un canvas y decodifica el QR con la biblioteca jsQR dentro de tu propio navegador. Nada se sube. No hay cuenta ni servidor haciendo el trabajo, y una vez que la página ha cargado sigue funcionando con la red apagada. Puedes probártelo a ti mismo: carga la herramienta, activa el modo avión y decodifica un código; sigue funcionando, porque nunca hubo un servidor en el circuito.

Si el código es una URL, la herramienta te da un enlace clicable (marcado con rel=nofollow) para que veas el destino antes de comprometerte con él. Si es una cadena de Wi-Fi o una tarjeta de contacto, obtienes el texto en bruto y un botón de copiar: léelo, úsalo, y se queda en tu máquina.

Un hábito sensato para códigos sensibles

Dos pequeñas reglas te mantienen a salvo:

  1. Mira el texto antes de actuar. Decodificar un código te muestra el destino o el contenido antes de que tu dispositivo se conecte a nada. Eso por sí solo desactiva muchas estafas basadas en QR, donde el código impreso se cambia por uno que apunta a algún sitio hostil.
  2. Ajusta la herramienta al secreto. Para un enlace público, apenas importa dónde decodifiques. Para una contraseña, un token o los datos personales de alguien, decodifícalo localmente para que el secreto nunca salga de tu dispositivo para empezar.

Los límites honestos merecen mencionarse: esto lee un código de una imagen que tú aportas, de una en una, no de una webcam en vivo, una elección deliberada que mantiene todo local. Para cualquier cosa que un código QR pueda ocultar, leerlo en tu propio dispositivo es sencillamente el valor por defecto correcto.