Tipos de cookies: una guía técnica completa
No todas las cookies son iguales. El tipo de cookie determina cuánto tiempo persiste, quién puede leerla, con qué grado de seguridad viaja y, lo más importante, si requiere el consentimiento del usuario. Comprender estas diferencias resulta esencial tanto para el cumplimiento normativo como para la implementación.
Cookies de sesión frente a cookies persistentes
La distinción más fundamental es cuánto tiempo dura una cookie.
Cookies de sesión
Una cookie de sesión existe únicamente durante la duración de una sesión del navegador. No tiene el atributo Expires ni Max-Age. Cuando el usuario cierra su navegador, la cookie se elimina.
Set-Cookie: cart_id=xyz789; Path=/; Secure; HttpOnly
Las cookies de sesión se utilizan normalmente para:
- Mantener el estado de inicio de sesión durante una visita
- El contenido del carrito de la compra
- Tokens de protección CSRF
- Datos de formularios de varios pasos
Dado que las cookies de sesión no persisten, suelen ser menos invasivas desde el punto de vista de la privacidad. Sin embargo, siguen requiriendo consentimiento si no son estrictamente necesarias para el servicio que el usuario ha solicitado.
Cookies persistentes
Una cookie persistente tiene una fecha de caducidad explícita. Sobrevive al reinicio del navegador y permanece en el dispositivo del usuario hasta que caduca o se elimina manualmente.
Set-Cookie: preferences_lang=en; Path=/; Max-Age=31536000; Secure
Esta cookie persistirá durante un año (31 536 000 segundos). Entre sus usos habituales se incluyen:
- La funcionalidad de «recordarme» al iniciar sesión
- Preferencias de idioma y de tema
- Identificadores de analítica (las cookies de Google Analytics persisten hasta 2 años)
- Seguimiento publicitario (algunas cookies de publicidad persisten 13 meses o más)
Las cookies persistentes están sometidas a un mayor escrutinio bajo las normativas de privacidad. La CNIL (autoridad de protección de datos de Francia) ha recomendado una vida útil máxima de las cookies de 13 meses, y el consentimiento también debe renovarse al menos cada 13 meses.
Cookies propias frente a cookies de terceros
Esta distinción es central en el debate sobre la privacidad y afecta directamente a los requisitos de consentimiento.
Cookies propias
Una cookie propia es la que establece el dominio que el usuario está visitando realmente. Si visitas example.com, cualquier cookie establecida por example.com es una cookie propia.
Las cookies propias se utilizan para la funcionalidad principal del sitio web: sesiones, preferencias y analítica que el propio operador del sitio web ejecuta. Solo pueden ser leídas por el dominio que las estableció.
Ejemplo: visitas shop.example.com. El servidor establece una cookie llamada session_id. Esta cookie se envía únicamente a shop.example.com y sus subdominios. Ningún otro sitio web puede acceder a ella.
Cookies de terceros
Una cookie de terceros la establece un dominio distinto del que el usuario está visitando. Cuando example.com carga un script publicitario de ads.tracker.com, y ese script establece una cookie bajo el dominio tracker.com, se trata de una cookie de terceros.
Así es como funciona el seguimiento entre sitios. La cookie de tracker.com se envía con cada solicitud a tracker.com, independientemente del sitio web que haya desencadenado la solicitud. Si los scripts de tracker.com están integrados en 10 000 sitios web, pueden observar al mismo usuario en los 10 000 sitios.
Las cookies de terceros son el principal objetivo tanto de la aplicación normativa como de las restricciones a nivel de navegador:
- Safari bloquea las cookies de terceros de forma predeterminada desde 2020 (ITP)
- Firefox bloquea de forma predeterminada los rastreadores de terceros conocidos (ETP)
- Chrome está abandonando gradualmente las cookies de terceros con su iniciativa Privacy Sandbox
- Las acciones de aplicación normativa se dirigen abrumadoramente a las cookies de seguimiento de terceros
Cookies seguras
Una cookie con el atributo Secure solo se envía a través de conexiones HTTPS. Nunca se transmitirá por HTTP sin cifrar.
Set-Cookie: auth_token=secret123; Secure
Esto impide que un atacante de tipo «man-in-the-middle» intercepte la cookie en una conexión insegura. Cualquier cookie que contenga información sensible —identificadores de sesión, tokens de autenticación, datos personales— debe marcarse siempre como Secure.
Desde el punto de vista del cumplimiento, no utilizar el atributo Secure en cookies sensibles podría considerarse un incumplimiento de la obligación de aplicar medidas técnicas apropiadas conforme al artículo 32 del GDPR (seguridad del tratamiento).
Cookies HttpOnly
Una cookie con el atributo HttpOnly no puede ser accedida por JavaScript mediante document.cookie. Solo se envía con las solicitudes HTTP al servidor.
Set-Cookie: session_id=abc123; HttpOnly
Esta es una medida de seguridad crítica. Los ataques de tipo cross-site scripting (XSS) a menudo intentan robar cookies inyectando JavaScript que lee document.cookie. El atributo HttpOnly impide por completo este vector.
Las cookies de sesión y las de autenticación deberían ser casi siempre HttpOnly. Las cookies que necesitan ser leídas por JavaScript del lado del cliente (como las cookies de preferencias que afectan a la interfaz de usuario) no pueden ser HttpOnly.
Cookies SameSite
El atributo SameSite controla si una cookie se envía con solicitudes entre sitios. Se introdujo para mitigar los ataques de falsificación de solicitudes entre sitios (CSRF) y para dar a los sitios un mayor control sobre el comportamiento de las cookies entre sitios.
SameSite=Strict
La cookie solo se envía con solicitudes que se originan en el mismo sitio. Si un usuario hace clic en un enlace de other.com que lleva a your-site.com, la cookie no se enviará con esa solicitud inicial.
Esta es la configuración más segura, pero puede romper funcionalidades legítimas. Por ejemplo, si un usuario hace clic en un enlace hacia tu sitio desde un correo electrónico, su cookie de sesión no se enviaría y aparecería como si hubiera cerrado sesión.
SameSite=Lax
La cookie se envía con navegaciones de nivel superior (al hacer clic en un enlace), pero no con subsolicitudes entre sitios (cargar imágenes, marcos o hacer solicitudes AJAX desde otro sitio). Esta es la configuración predeterminada en los navegadores modernos si no se especifica ningún atributo SameSite.
Lax ofrece un equilibrio razonable entre seguridad y usabilidad. Impide que sitios de terceros desencadenen acciones autenticadas en tu sitio, a la vez que permite que la navegación normal por enlaces funcione.
SameSite=None
La cookie se envía con todas las solicitudes, incluidas las solicitudes entre sitios. Esto es necesario para que las cookies de terceros funcionen. Una cookie establecida con SameSite=None también debe tener el atributo Secure.
Set-Cookie: tracking_id=xyz; SameSite=None; Secure
Cualquier cookie que necesite funcionar en un contexto entre sitios (widgets integrados, autenticación de terceros, seguimiento entre sitios) debe usar SameSite=None. Esto es cada vez más relevante a medida que los navegadores endurecen sus políticas de cookies predeterminadas.
Cookies zombis y supercookies
Vale la pena mencionarlas porque representan intentos de eludir los controles de privacidad:
- Las cookies zombis son cookies que se recrean a sí mismas después de ser eliminadas. Normalmente funcionan almacenando el mismo identificador en múltiples mecanismos de almacenamiento (cookies, localStorage, IndexedDB, LSO de Flash) y utilizando el que sobreviva para regenerar los demás. Esta práctica se considera ampliamente engañosa y ha sido objeto de acciones de aplicación normativa.
- Las supercookies son mecanismos de seguimiento que operan a un nivel inferior al de las cookies normales, como la inyección de cabeceras a nivel de proveedor de internet (el UIDH de Verizon) o el fingerprinting basado en HSTS. Son extremadamente difíciles de controlar o eliminar por parte de los usuarios.
Tanto las cookies zombis como las supercookies son claramente incompatibles con los requisitos del GDPR y de la ePrivacy. Su uso constituiría una violación de los principios de transparencia, licitud y minimización de datos.
Tabla comparativa
| Tipo | Vida útil | Alcance | ¿Suele requerir consentimiento? | Casos de uso principales |
|---|---|---|---|---|
| Sesión | Solo durante la sesión del navegador | Propia | Solo si no es esencial | Estado de sesión, carrito, tokens CSRF |
| Persistente (propia) | De días a años | Propia | Normalmente sí | Preferencias, analítica, «recordarme» |
| Persistente (de terceros) | De días a años | Entre sitios | Casi siempre sí | Publicidad, retargeting, widgets sociales |
| Secure | Variable | Solo HTTPS | Depende del propósito | Cualquier cookie sensible |
| HttpOnly | Variable | Solo del lado del servidor | Depende del propósito | Identificadores de sesión, tokens de autenticación |
| SameSite=Strict | Variable | Solo mismo sitio | Depende del propósito | Operaciones sensibles a CSRF |
| SameSite=Lax | Variable | Mismo sitio + navegación de nivel superior | Depende del propósito | Gestión general de sesiones |
| SameSite=None | Variable | Todos los contextos (requiere Secure) | Casi siempre sí | Elementos integrados de terceros, autenticación entre sitios |
Qué significa esto para el cumplimiento
El tipo de cookie afecta directamente a tus obligaciones de cumplimiento:
- Las cookies propias de sesión que son estrictamente necesarias (sesiones de inicio de sesión, carritos de la compra, tokens CSRF) están exentas de los requisitos de consentimiento en virtud del artículo 5(3) de la ePrivacy.
- Las cookies propias persistentes destinadas a analítica, preferencias o funcionalidad generalmente requieren consentimiento, aunque algunas autoridades de protección de datos permiten excepciones limitadas para la analítica propia bajo condiciones específicas.
- Las cookies de terceros de cualquier tipo casi siempre requieren consentimiento previo explícito. Existen muy pocas excepciones legítimas.
- Los atributos de seguridad (Secure, HttpOnly, SameSite) no cambian los requisitos de consentimiento, pero utilizarlos demuestra una buena práctica de seguridad, que es en sí misma un requisito del GDPR.
Saber exactamente qué cookies establece tu sitio web —y de qué tipo es cada una— es la base de cualquier programa de cumplimiento. El escáner de Passiro identifica y clasifica automáticamente cada cookie de tu sitio web, incluidas las cookies de terceros establecidas por scripts integrados de los que quizá ni siquiera seas consciente.
Ahora que entendemos los tipos, veamos cómo se organizan las cookies en categorías de consentimiento: el sistema de clasificación que determina cómo aparecen en tu banner de cookies.
¿Cumple tu sitio web con la normativa de cookies?
Escanea tu sitio web gratis y encuentra todas las cookies en minutos.
Escanea tus cookies gratis