¿Qué son las cookies? Cómo los sitios web te recuerdan
Una cookie es un pequeño texto que un sitio web pide a tu navegador que guarde y que luego envía de vuelta en cada visita posterior a ese sitio. Así es como un sitio web te «recuerda»: que has iniciado sesión, qué hay en tu carrito, qué idioma elegiste. Las cookies son solo datos, no programas, pero como pueden identificarte, importan tanto para la seguridad como para la privacidad.
Por qué importa cuando construyes con IA
Las cookies están detrás de varias funciones que le pedirás a un creador con IA, a menudo sin que la palabra «cookie» aparezca nunca:
- Inicio de sesión. En la mayoría de las apps web, «mantener la sesión iniciada» significa una cookie de sesión. Cómo está configurada esa cookie decide lo fácil que es robarla.
- Carritos y preferencias. Un carrito que sobrevive a recargar la página suele depender de una cookie o del almacenamiento del navegador.
- Analítica y anuncios. Añadir Google Analytics, un píxel de Meta o un widget de chat suele añadir cookies de otras empresas.
- Avisos legales. En muchos lugares, algunas cookies necesitan el consentimiento del visitante antes de activarse, y de ahí vienen los avisos de cookies.
Si sabes qué cookies establece tu app y por qué, puedes tomar mejores decisiones sobre la configuración de seguridad, el consentimiento y tu política de privacidad.
Una analogía cotidiana
Piensa en el ticket de un guardarropa. Entregas tu abrigo y recibes un ticket numerado. El ticket no contiene tu abrigo, solo un número. Cada vez que vuelves al mostrador enseñas el ticket, y el encargado sabe cuál es tu abrigo.
Una cookie de sesión funciona igual. Cuando inicias sesión, el servidor guarda tus datos de su lado y da a tu navegador un ticket: un ID aleatorio largo. Tu navegador muestra ese ticket en cada petición, y el servidor busca quién eres. Quien copie el ticket puede recoger el abrigo, por eso las cookies de inicio de sesión hay que protegerlas.
Cómo funciona realmente una cookie
- Visitas un sitio. La respuesta del servidor incluye una cabecera como
Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax. - Tu navegador la guarda, vinculada al dominio de ese sitio.
- En cada petición posterior al mismo sitio, el navegador añade automáticamente
Cookie: session_id=8f3k.... - El servidor la lee y sabe que eres tú.
El JavaScript de la página también puede crear cookies, pero las más importantes —las sesiones de inicio de sesión— deben establecerlas el servidor y ocultarlas a JavaScript.
Tipos de cookies
| Tipo | Qué significa | Ejemplo |
|---|---|---|
| Cookie de sesión | Sin fecha de caducidad; se borra al cerrar el navegador | Un paso breve de la compra |
| Cookie persistente | Tiene fecha de caducidad (Expires o Max-Age) y sobrevive a los reinicios | «Recordarme durante 30 días» |
| Propia | La establece el sitio que aparece en la barra de direcciones | Tu inicio de sesión en ese sitio |
| De terceros | La establece otro dominio incrustado en la página | El ID de seguimiento de una red de anuncios |
| Estrictamente necesaria | Necesaria para un servicio que el usuario pidió | Sesión de inicio de sesión, carrito de compra |
| No esencial | Útil pero no imprescindible para el dueño del sitio | Analítica, publicidad, pruebas A/B |
Los navegadores han restringido cada vez más las cookies de terceros porque se usan para seguir a personas por distintos sitios. Varios navegadores importantes bloquean ya muchas de ellas por defecto, y los detalles cambian continuamente, así que no construyas nada importante sobre cookies de terceros.
Un ejemplo práctico: una pequeña tienda online
Supón que has creado una tienda que vende velas artesanales. Estas son las cookies que establecería una versión sensata y el motivo de cada una.
session — se establece cuando el propietario o un cliente inicia sesión. Solo contiene un ID aleatorio; el servidor guarda los datos reales de la sesión. Configuración: HttpOnly (los scripts de la página no pueden leerla), Secure (solo se envía por HTTPS), SameSite=Lax (no se envía en la mayoría de peticiones iniciadas desde otros sitios). Estrictamente necesaria.
cart_id — permite a un visitante que no ha iniciado sesión conservar su cesta. Apunta a un carrito guardado en la base de datos. Estrictamente necesaria, porque el visitante pidió añadir cosas a un carrito.
theme — recuerda el modo oscuro. Podría ser una cookie, pero nunca necesita llegar al servidor, así que localStorage del navegador es más sencillo.
Cookies de analítica — se añaden si instalas una herramienta de analítica. Son no esenciales. En la UE y el Reino Unido, en general, requieren consentimiento antes de establecerse, así que el script de analítica debe esperar a que el visitante pulse «Aceptar».
Fíjate en lo que la tienda no guarda en cookies: el nombre del cliente, su dirección ni los datos de su tarjeta. Las cookies viajan con cada petición y viven en el dispositivo del usuario, así que deben contener IDs, no datos personales.
Términos comunes explicados
| Término | Qué significa |
|---|---|
| Cookie | Un par nombre-valor pequeño que el navegador guarda y devuelve al sitio. |
Set-Cookie | La cabecera de respuesta con la que un servidor crea o actualiza una cookie. |
| Sesión | El registro del servidor de un usuario que ha iniciado sesión, vinculado a un ID de cookie. |
HttpOnly | Impide que el JavaScript de la página lea la cookie, lo que limita el daño de scripts inyectados. |
Secure | La cookie solo se envía por conexiones HTTPS cifradas. |
SameSite | Controla si la cookie se envía en peticiones desde otros sitios (Strict, Lax o None). |
Expires / Max-Age | Cuándo debe borrarse la cookie. |
| Domain / Path | Qué direcciones del sitio reciben la cookie. |
| localStorage | Almacenamiento del navegador que el código de la página puede leer, pero que no se envía al servidor automáticamente. |
| XSS | Cross-site scripting: un script del atacante ejecutándose en tu página, que puede intentar robar datos. |
| CSRF | Cross-site request forgery: otro sitio engaña al navegador para enviar una petición con tus cookies. |
| Consentimiento de cookies | Pedir permiso al visitante antes de establecer cookies no esenciales. |
Errores comunes y malentendidos
- «Las cookies son virus». Son texto plano. No pueden ejecutar código en tu ordenador.
- Poner datos sensibles en las cookies. Guarda un ID aleatorio y mantén los datos en el servidor.
- Tokens de inicio de sesión en localStorage. Cualquier script que se ejecute en la página puede leer localStorage, incluido uno inyectado. Una cookie
HttpOnlyno puede ser leída por los scripts de la página en absoluto. - Olvidar
SecureyHttpOnly. Estas dos marcas son baratas y cierran agujeros habituales. - Suponer que un aviso lo cubre todo. Un aviso que carga la analítica antes de que nadie pulse «Aceptar» no cumple su función.
- Olvidar el cierre de sesión. Cerrar sesión debe borrar la cookie y terminar la sesión en el servidor, para que una cookie copiada deje de funcionar.
- «Si no uso cookies, las normas de privacidad no me afectan». Normas como el RGPD cubren los datos personales estén donde estén: almacenamiento local, huellas del dispositivo y registros del servidor incluidos.
Qué pedir a tu creador con IA
- «Enumera todas las cookies que establece la app, para qué sirven, cuánto duran y si son estrictamente necesarias.»
- «Usa una cookie
HttpOnly,Secure,SameSite=Laxpara la sesión de inicio de sesión. No pongas tokens de autenticación en localStorage.» - «Guarda en la cookie solo un ID de sesión aleatorio; guarda los datos de la sesión en el servidor.»
- «Al cerrar sesión, borra la cookie e invalida la sesión en el servidor.»
- «No cargues scripts de analítica o marketing hasta que el visitante los acepte, y recuerda su elección.»
- «Añade a la política de privacidad una sección sencilla sobre cookies que coincida con la lista anterior.»
Para la parte del consentimiento, consulta cómo añadir el consentimiento de cookies. Para ver cómo encajan las cookies en los inicios de sesión, lee qué es la autenticación.
Cookies en Mythex
Mythex no ofrece un inicio de sesión integrado para los usuarios de tu app, así que las cookies que establece tu app provienen de su propio código y de las herramientas que le añadas, por ejemplo una cookie de sesión del enfoque de autenticación que elijas. Pide al agente en el chat que las enumere, endurezca su configuración o añada un banner de consentimiento, y revisa el resultado en la vista previa en vivo antes de publicar. La receta de la documentación sobre cómo añadir inicio de sesión a tu app es un buen punto de partida, y la seguridad en las apps que construyes explica cómo mantener las claves y secretos fuera del navegador.
Preguntas
¿Qué es una cookie en un sitio web?
Una cookie es un pequeño texto que un sitio web pide a tu navegador que guarde. El navegador lo devuelve con cada petición posterior a ese sitio, lo que permite al sitio recordar cosas como si has iniciado sesión o qué hay en tu carrito.
¿Son peligrosas las cookies?
Las cookies son solo datos, no programas, así que no pueden ejecutar código ni infectar un ordenador. Las preocupaciones son la privacidad, cuando las cookies de terceros te siguen entre sitios, y la seguridad, cuando una cookie de inicio de sesión se roba y se usa para hacerse pasar por ti.
¿Cuál es la diferencia entre cookies propias y de terceros?
Una cookie propia la establece el sitio que aparece en la barra de direcciones, como la cookie de inicio de sesión. Una cookie de terceros la establece otro dominio incrustado en la página, como una red de anuncios, y a menudo se usa para seguirte por muchos sitios.
¿Necesito un aviso de cookies?
Depende de dónde estén tus usuarios y de qué cookies uses. En la UE y el Reino Unido, las cookies no esenciales, como las de analítica o publicidad, generalmente necesitan consentimiento previo, mientras que las estrictamente necesarias para el servicio, como una sesión de inicio de sesión, normalmente no. Revisa las normas que te aplican.
¿Cuál es la diferencia entre cookies y localStorage?
Ambos guardan datos en el navegador. Las cookies se envían al servidor automáticamente con cada petición, lo que encaja con los inicios de sesión. localStorage se queda en el navegador y solo lo lee el código propio de la página, lo que encaja con preferencias como un tema de color.