Política de Cookies y Almacenamiento Local de Contigo

AVISO — plantilla pendiente de revisión legal. Este documento describe con exactitud lo que la aplicación hace hoy, pero no constituye asesoría legal. Antes de publicarlo debe revisarlo un abogado o Delegado de Protección de Datos, que completará los campos `[PENDIENTE: ...]`.

>

Versión: `2026-08-v3` (debe coincidir con `COOKIE_POLICY_VERSION` en `src/lib/consent.ts`; subir la versión aquí vuelve a pedir el consentimiento a todos los usuarios).

1. Cookies propias, y una de terceros si tú lo permites

La aplicación en sí misma no instala ninguna cookie propia: usamos `localStorage` e `IndexedDB`, dos tecnologías de almacenamiento equivalentes a efectos legales (ver más abajo), pero no cookies. La única cookie que puede llegar a instalarse es de Google Ads, y solo si activas explícitamente la categoría "Publicidad" — ver sección 2.4.

Ahora bien, la normativa (artículo 5.3 de la Directiva ePrivacy, transpuesto en España en el artículo 22.2 de la LSSI) no habla solo de cookies: se aplica a cualquier almacenamiento o acceso a información en tu dispositivo. Contigo sí utiliza otras dos tecnologías equivalentes, y por eso las detallamos igual que si fueran cookies:

  • `localStorage`: pequeños valores de texto guardados por tu navegador.
  • `IndexedDB`: una base de datos local del navegador, que usamos para tu mensaje de voz.
  • 2. Qué guardamos en tu dispositivo

    ### 2.1. Necesarias (no requieren consentimiento)

    Son imprescindibles para prestarte el servicio que tú has solicitado. Sin ellas la aplicación no funciona, así que la ley no exige consentimiento para usarlas, pero tienes derecho a saber que existen.

    | Nombre | Tecnología | Para qué sirve | Duración |

    |---|---|---|---|

    | `sb-<proyecto>-auth-token` | localStorage | Mantener tu sesión iniciada. Lo gestiona Supabase, nuestro proveedor de autenticación. Sin esto tendrías que volver a introducir tu contraseña en cada pantalla | Hasta que cierras sesión |

    | `contigo_consent` | localStorage | Recordar la decisión que tomaste en este mismo aviso, y contra qué versión de esta política. Es lo que evita que te preguntemos una y otra vez | Hasta que la retires |

    | `contigo_theme` | localStorage | Recordar si prefieres tema claro, oscuro o automático | Permanente hasta que la borres |

    | `contigo_low_contrast` | localStorage | Recordar si activaste el modo de bajo contraste | Permanente hasta que la borres |

    | `contigo_tutorial_v1` | localStorage | Recordar que ya viste el tutorial, para no repetírtelo en cada visita | Permanente hasta que la borres |

    | `contigo_daily_mission` | localStorage | Guardar el reto del día que elegiste y si lo completaste | Se renueva cada día |

    | `contigo` → `voice-message` | IndexedDB | Tu mensaje de voz personal. Se queda aquí y no se sube a ningún servidor: ni siquiera nosotros podemos escucharlo. Ver sección 4 | Hasta que lo borres o regrabes |

    ### 2.2. Diagnóstico de errores (requiere tu consentimiento)

    Solo se activa si pulsas "Aceptar" o activas esta categoría. Si la rechazas, la herramienta ni siquiera se descarga a tu navegador.

    | Proveedor | Para qué sirve | Qué envía | Duración |

    |---|---|---|---|

    | Sentry | Detectar y corregir fallos técnicos de la aplicación | El mensaje de error, la línea de código que falló, la página en la que ocurrió, y el tipo y versión de tu navegador | Los informes se conservan `[PENDIENTE: confirmar el periodo de retención configurado en Sentry, por defecto 90 días]` |

    Qué NO enviamos nunca a Sentry, ni siquiera con tu consentimiento: el contenido de tu diario, tu motivación, tus registros de tropiezos, tu mensaje de voz, tu email, tu identificador de usuario ni tu dirección IP. La herramienta está configurada explícitamente para eliminar todos esos campos antes de que salgan de tu navegador, y no usamos la función de grabación de sesión (*Session Replay*), que registraría lo que aparece en tu pantalla.

    `[PENDIENTE: confirmar la región del proyecto de Sentry — recomendado: UE — y firmar su Data Processing Agreement]`.

    ### 2.3. Medición de audiencia (requiere tu consentimiento)

    | Proveedor | Para qué sirve | Qué envía | Duración |

    |---|---|---|---|

    | Vercel Web Analytics | Saber cuántas personas visitan la web y qué páginas usan, para mejorarla | La ruta de la página visitada (sin los parámetros de la dirección), el país aproximado, el tipo de dispositivo y de dónde llegaste | `[PENDIENTE: confirmar el periodo de retención del plan contratado en Vercel]` |

    Vercel Web Analytics no usa cookies ni ningún identificador guardado en tu dispositivo, no te sigue entre sitios web distintos y no construye un perfil sobre ti. El script se sirve desde nuestro propio dominio, así que tu navegador no contacta con ningún servidor de terceros.

    Aun así te lo preguntamos: al tratarse de una aplicación de salud, preferimos que nada opcional se active sin que tú lo decidas. Si lo rechazas, no se envía ningún evento, ni siquiera durante la visita en curso.

    `[PENDIENTE: confirmar el Data Processing Agreement de Vercel]`.

    ### 2.4. Publicidad (requiere tu consentimiento)

    Solo se activa si eliges expresamente esta categoría — no está incluida en "Aceptar" ninguna de las otras. Si la rechazas, el script de Google ni siquiera se descarga a tu navegador.

    | Proveedor | Para qué sirve | Qué envía | Duración |

    |---|---|---|---|

    | Google Ads (`gtag.js`) | Medir si una visita que llegó desde uno de nuestros anuncios terminó en un registro, para saber qué campañas funcionan | Que se produjo un registro, un identificador aleatorio de esa conversión (para no contarla dos veces) y datos técnicos estándar (navegador, aproximación de ubicación) | Según la política de cookies de Google; típicamente hasta 90 días para la cookie de conversión (`_gcl_au`) |

    A diferencia de Vercel Web Analytics, esta herramienta sí instala una cookie y sí comparte datos con Google, que los trata según su propia política de privacidad. Por eso la mostramos como una categoría separada e independiente de "Medición de audiencia", con su propia casilla: puedes aceptar la analítica de Vercel y rechazar Google Ads, o al revés. Igual que las demás categorías opcionales, no viene marcada por defecto y solo se activa si pulsas "Aceptar" o la seleccionas expresamente en las preferencias detalladas.

    Qué no enviamos: no vinculamos el evento de conversión con tu email, tu nombre ni ningún dato de tu perfil — solo con el hecho de que un registro ocurrió y un identificador desechable de esa conversión concreta.

    `[PENDIENTE: confirmar el Data Processing Agreement / Cláusulas Contractuales Tipo con Google Ads, y si aplica una transferencia internacional de datos]`.

    3. Cómo dar, cambiar o retirar tu consentimiento

  • La primera vez que entras te mostramos un aviso con dos botones del mismo tamaño e igual de accesibles: Rechazar y Aceptar. Ninguna categoría opcional está marcada de antemano.
  • Cerrar el aviso o seguir navegando no equivale a aceptar. Mientras no elijas, no se activa nada opcional.
  • Puedes cambiar tu decisión en cualquier momento desde Ajustes → Privacidad y Datos → Preferencias de cookies, con el mismo número de clics que costó darla.
  • Retirar el consentimiento no afecta a la licitud del tratamiento anterior (Art. 7.3 RGPD).
  • También puedes borrar todo este almacenamiento desde tu navegador (normalmente en Ajustes → Privacidad → Borrar datos de navegación). Ten en cuenta que eso borra también tu mensaje de voz, que no tiene copia en ningún servidor.
  • 4. El caso especial de tu mensaje de voz

    Tu grabación personal se guarda en IndexedDB y nunca se sube. Esto es deliberado: es el dato más sensible que produce la aplicación y la única forma de garantizar que no puede filtrarse desde nuestros sistemas es no recibirlo nunca.

    La contrapartida es que no podemos recuperarlo. Si borras los datos del navegador, cambias de dispositivo o usas otro navegador, la grabación se pierde y tendrás que hacerla de nuevo. Por eso la aplicación te ofrece guardar una copia como archivo en tu propio móvil.

    5. Tus derechos y dónde reclamar

    Además de gestionar tus preferencias aquí, puedes ejercer tus derechos de acceso, rectificación, supresión, oposición, limitación y portabilidad tal y como se describe en la [Política de Privacidad](PRIVACY_POLICY.md), desde Ajustes o escribiendo a `[PENDIENTE: email de contacto]`.

    Si consideras que no hemos atendido correctamente tu solicitud, puedes reclamar ante la Agencia Española de Protección de Datos (www.aepd.es) o ante la autoridad de control de tu país.

    6. Cambios en esta política

    Si cambiamos qué guardamos en tu dispositivo o para qué, subiremos la versión de esta política y te volveremos a pedir tu decisión. No damos por válido un consentimiento otorgado sobre una versión anterior.

    `[PENDIENTE: fecha de última actualización y responsable de la revisión]`

    Tu privacidad

    Usamos almacenamiento en tu dispositivo para que la app funcione. Además, si nos lo permites, usamos herramientas para detectar fallos técnicos y para medir cuántas visitas recibimos. Puedes cambiar tu decisión cuando quieras desde Ajustes. Política de cookies