Política de Cookies y Tecnologías de Almacenamiento Local — PARLO
> Versión: 1.0 · Fecha: 2026-07-14
> Titular: [PENDIENTE: nombre completo del titular / razón social]
> CIF/NIF: [PENDIENTE]
> Domicilio: [PENDIENTE]
> Email de contacto legal: [PENDIENTE: p.ej. legal@parlo.es]
> Plataformas cubiertas: parlo.g-weil.com (landing) · app.parlo.g-weil.com (PWA) · business.parlo.g-weil.com · admin.parlo.g-weil.com
1. Marco normativo aplicable
Esta política cumple:
- Art. 22.2 de la Ley 34/2002 (LSSI-CE): exige consentimiento previo e informado para instalar o recuperar información del dispositivo del usuario, salvo las excepciones técnicas expresamente previstas.
- Guía sobre el uso de las cookies de la AEPD (versión junio 2023, en vigor): desarrolla la excepción técnica del art. 22.2 e impone requisitos de consentimiento previo, granular, revocable y libre de patrones oscuros.
- Reglamento (UE) 2016/679 (RGPD), art. 5, 6 y 7: base legal, minimización, y condiciones del consentimiento cuando el almacenamiento implica tratamiento de datos personales.
- Directiva 2002/58/CE (ePrivacy), modificada por 2009/136/CE: régimen europeo de cookies y comunicaciones electrónicas, transpuesto en España por el art. 22.2 LSSI-CE.
2. Qué son las "cookies" y las tecnologías de almacenamiento local
Una cookie es un fichero de texto pequeño que un sitio web deposita en el dispositivo del usuario. Sin embargo, el ámbito del art. 22.2 LSSI-CE —y de la Guía de Cookies de la AEPD 2023— es más amplio: abarca cualquier tecnología que almacene o recupere información en el dispositivo del usuario, incluidas:
- Cookies HTTP (Session Cookies, Persistent Cookies): enviadas por el servidor y almacenadas en el navegador.
- localStorage / sessionStorage: almacenamiento clave-valor en el navegador, fuera del ciclo HTTP.
- IndexedDB: base de datos del navegador usada por las PWA para datos estructurados y funcionamiento sin conexión.
- Cache API / Service Worker cache: mecanismo PWA que almacena recursos y respuestas de red para uso offline. La Guía AEPD 2023 equipara su uso al de cookies cuando sirve para identificar o rastrear al usuario.
- Push subscription endpoints (Web Push / VAPID): identificador único que el navegador genera al suscribirse a notificaciones. Permite entregar mensajes al dispositivo y, por su unicidad, es un vector de identificación.
- Identificadores de dispositivo en apps nativas (Android): los identificadores gestionados por el sistema operativo (Firebase Instance ID / FCM token) se rigen por las políticas de la plataforma y por los mismos principios de consentimiento previo cuando se usan para seguimiento.
3. Inventario y clasificación de tecnologías de almacenamiento
3.1 Estado del MVP
Parlo es una aplicación de mensajería. En su versión MVP actual, la autenticación funciona con JWT transportados en la cabecera HTTP Authorization: Bearer — no en cookies HTTP. El almacenamiento del cliente (localStorage, IndexedDB, Service Worker cache) se usa exclusivamente para el funcionamiento técnico de la PWA. No existe ninguna cookie de analítica, publicidad, perfilado ni rastreo de terceros.
La siguiente tabla recoge la totalidad de tecnologías de almacenamiento detectadas:
Categoría A — Técnicas / Estrictamente Necesarias (EXENTAS de consentimiento)
Estas tecnologías son imprescindibles para que el servicio solicitado por el usuario pueda prestarse. Conforme al art. 22.2 LSSI-CE (párrafo segundo, excepción) y a la Guía de Cookies de la AEPD 2023 (apartado "Cookies exentas"), no requieren consentimiento previo ni banner de consentimiento. Sí requieren información al usuario, que se facilita en este documento.
| Nombre / Tecnología | Tipo | Finalidad | Titular | Duración | Tercero |
|---|---|---|---|---|---|
| access_token (JWT) | localStorage / memoria de sesión | Autenticación de la sesión activa del usuario. Firmado con HS256 (15 min de vida). Permite identificar al usuario en cada petición a la API. Sin él, la app no funciona. | Parlo (propio) | 15 minutos (se renueva automáticamente con el refresh token mientras la sesión está activa) | No |
| refresh_token | localStorage / IndexedDB (gestor de sesión PWA) | Renueva el access_token caducado sin obligar al usuario a hacer login de nuevo. Se invalida en cada renovación (rotación de tokens). | Parlo (propio) | 7 días desde la última renovación. Se elimina al cerrar sesión o revocarla remotamente. | No |
| device_id | localStorage / IndexedDB | Identifica el dispositivo vinculado a la sesión (companion device). Permite al usuario ver y revocar sesiones en "Ajustes > Dispositivos". Es necesario para el flujo multi-dispositivo (código de 6 caracteres). | Parlo (propio) | Duración de la vinculación del dispositivo. Se elimina al cerrar sesión o al revocar el dispositivo. | No |
| Caché de recursos PWA (Service Worker) | Cache API / Service Worker cache | Almacena recursos estáticos de la app (HTML, JS, CSS, fuentes autoalojadas, imágenes de interfaz) para que la PWA funcione sin conexión y cargue en < 3 s (requisito LCP del PRD). No contiene datos del usuario ni se usa para rastreo. | Parlo (propio) | Hasta la próxima actualización de la app (el Service Worker invalida la caché al detectar una nueva versión). | No |
| Preferencia de idioma (lang) | localStorage | Almacena el idioma seleccionado por el usuario (ES / EN) para no tener que volver a elegirlo. | Parlo (propio) | Indefinida en el dispositivo. El usuario puede limpiarla desde "Ajustes > Idioma". | No |
| Preferencia de tema (theme) | localStorage | Almacena la preferencia de modo claro / oscuro del usuario. | Parlo (propio) | Indefinida en el dispositivo. El usuario puede cambiarla desde "Ajustes > Apariencia". | No |
| Web Push subscription (VAPID endpoint) | Push API del navegador / FCM token en Android | Identificador único que el navegador o el sistema operativo generan al suscribirse el usuario a notificaciones push. Permite entregar mensajes y notificaciones al dispositivo. Solo se activa si el usuario concede el permiso de notificaciones. | Parlo (propio) + Google (FCM, intermediario técnico de transporte en Android) | Mientras el usuario mantenga activo el permiso de notificaciones. Se elimina al revocar el permiso o al desinstalar la app. | Google (FCM) actúa como transportista técnico de la notificación; no recibe el contenido del mensaje, solo el identificador de destino. |
| Datos de mensajes y conversaciones en caché local | IndexedDB | Almacena mensajes recientes del usuario en el dispositivo para reducir la latencia al abrir la app y permitir lectura offline. Solo accesible por el propio usuario desde su dispositivo. | Parlo (propio) | Hasta que el usuario cierre sesión, borre los datos de la app en el navegador, o se active la temporalidad del mensaje. | No |
Base legal para la exención: art. 22.2 LSSI-CE, segundo párrafo: "Lo anterior no impedirá el posible almacenamiento o acceso de índole técnica al solo fin de efectuar la transmisión de una comunicación por una red de comunicaciones electrónicas o, en la medida que resulte estrictamente necesario, para la prestación de un servicio de la sociedad de la información expresamente solicitado por el destinatario." La Guía AEPD 2023 confirma que las cookies de sesión de usuario, las de carrito, las de preferencia de idioma y las de seguridad de formulario son exentas si respetan el principio de proporcionalidad.
Categoría B — Analítica / Medición (NO activas en el MVP)
En el MVP no existe ninguna herramienta de analítica de terceros ni propia con cookies o identificadores de seguimiento. El PRD (§9 "Fuera de alcance") excluye expresamente el "perfilado de usuarios para analítica" sin consentimiento. Si en el futuro se incorpora una solución de analítica (propia sin cookies, o con consentimiento), se actualizará este apartado antes de activarla.
| Nombre / Tecnología | Estado | Condición de activación |
|---|---|---|
| Analítica propia sin cookies (p.ej. conteo de usuarios activos mediante datos ya recogidos en la API) | No activa | Si se activa: datos anonimizados, sin identificadores de dispositivo, base legal: interés legítimo o consentimiento según el alcance. Se actualizará esta política. |
| Google Analytics / GA4 / Matomo / PostHog o equivalente | No instalado | Si se instala: requiere consentimiento previo granular (ver §4 de esta política) y actualización de esta política antes de activar cualquier script. |
Categoría C — Publicidad / Marketing (FUERA DE ALCANCE, no se activará sin revisión legal)
Parlo no contiene publicidad de ningún tipo. El PRD lo declara explícitamente fuera de alcance como decisión de producto. No existen cookies publicitarias, píxeles de conversión, redes de retargeting ni identificadores de publicidad. Esta categoría queda vacía y solo se incluye para documentar el alcance auditado.
Categoría D — Terceros identificados con presencia técnica
| Tercero | Rol | Datos que recibe | Base legal |
|---|---|---|---|
| Google (FCM) | Transporte de notificaciones push en Android. Intermediario técnico sin acceso al contenido de los mensajes (encriptados en tránsito). | Token FCM del dispositivo + metadato de entrega (timestamp, éxito/error). No recibe el texto del mensaje. | Necesario para la prestación técnica del servicio de notificaciones (art. 22.2 LSSI-CE, exención técnica). El usuario controla este flujo revocando el permiso de notificaciones. |
| Stripe | Pasarela de pago para clientes Business (activa al salir de la fase beta). | Datos de pago del titular de la cuenta Business. No recibe datos de usuarios normales ni cookies de seguimiento. | Ejecución de contrato (RGPD art. 6.1.b). Regulado por DPA firmado con Stripe. |
| MinIO (self-hosted) | Almacenamiento de medios (imágenes, archivos, notas de voz). Autoalojado en el VPS del propio titular de Parlo. | Archivos subidos por los usuarios. | Propio — no hay transferencia a terceros. |
| Whisper.cpp (self-hosted) | Transcripción de notas de voz. Autoalojado. | Audio de la nota de voz durante el procesamiento. No sale del servidor del titular. | Propio — no hay transferencia a terceros. |
| [PENDIENTE: Giphy o Tenor] | Proveedor de GIFs (a elegir). Si se integra, el navegador del usuario puede realizar peticiones directas a sus CDNs al seleccionar un GIF, lo que implica que el proveedor puede ver la IP del usuario. | IP del usuario en el momento de la solicitud del GIF (si la integración es client-side). | Se evaluará antes de activar. Si Giphy/Tenor instala cookies o rastreadores propios, se requerirá consentimiento previo en la categoría analítica/terceros y se actualizará esta política. |
| [PENDIENTE: PhotoDNA / Thorn Safer / Azure Content Moderator] | Detección de CSAM e imágenes NSFW. Se activa como escaneo en el servidor; el usuario final no interactúa directamente con el servicio. | Hash del archivo (PhotoDNA: no envía el archivo, solo el hash) o el archivo (Azure). No almacenan cookies en el dispositivo del usuario. | Obligación legal (DSA art. 16 + CP art. 189). Regulado por DPA. |
4. Régimen de consentimiento
4.1 Situación actual del MVP: solo tecnologías técnicas necesarias
Dado que en el MVP solo existen tecnologías de la Categoría A (técnicas/necesarias), la AEPD y el art. 22.2 LSSI-CE no exigen un banner de consentimiento para estas tecnologías. Basta con informar al usuario, lo que se hace mediante:
1. Esta política, enlazada desde el footer de todas las páginas y desde la pantalla de registro.
2. Una barra informativa discreta en el primer acceso a la landing (parlo.g-weil.com) que indique: "Parlo usa únicamente almacenamiento técnico necesario para el funcionamiento del servicio. [Más información]" — sin botón de aceptar/rechazar, ya que no hay nada que rechazar.
Este enfoque es honesto y proporcional. Un banner con botones "Aceptar / Rechazar" sobre tecnologías exentas crearía una falsa apariencia de opcionalidad y podría inducir al usuario a confusión (lo que la propia Guía AEPD 2023 califica como patrón oscuro potencial si genera expectativas engañosas).
4.2 Protocolo de activación futura (si se añaden tecnologías no necesarias)
Si en el futuro se incorporan herramientas de analítica de terceros, píxeles, SDKs de redes sociales, proveedores de GIFs que instalen cookies propias u otras tecnologías de las Categorías B o C, se deberá implementar un CMP (Consent Management Platform) conforme a los siguientes requisitos, antes de activar cualquier script:
Requisitos obligatorios del banner/CMP (Guía AEPD 2023 + RGPD art. 7):
1. Consentimiento previo: ningún script, cookie, pixel ni SDK no necesario se carga hasta que el usuario haya tomado una decisión activa. Los scripts se bloquean hasta el clic.
2. Tres opciones en igualdad de condiciones: los botones "Aceptar todo", "Rechazar todo" y "Configurar" deben presentarse en el mismo nivel jerárquico, con el mismo tamaño, color y facilidad de acceso. Rechazar no puede ser más difícil que aceptar.
3. Granularidad: el menú "Configurar" presenta categorías por separado (Analítica, Marketing, etc.) con toggles desactivados por defecto (sin casillas premarcadas).
4. Sin patrones oscuros: prohibido ocultar el botón "Rechazar" en una segunda capa, usar colores engañosos, textos confusos o diseños que dificulten el rechazo.
5. Sin muros de cookies: el acceso al servicio no puede condicionarse a la aceptación de cookies no necesarias.
6. Registro del consentimiento: cada decisión (aceptar/rechazar/categorías) se registra con timestamp, versión de la política, categorías aceptadas y el identificador de sesión anónimo, cumpliendo el deber de demostración del RGPD art. 7.1. Este registro se almacena sin identificar al usuario por nombre o email.
7. Revocabilidad: el usuario puede cambiar su decisión en cualquier momento mediante un enlace permanente visible en el footer ("Gestionar mis preferencias de cookies") que abre el panel de configuración del CMP.
8. Caducidad del consentimiento: la AEPD recomienda re-solicitar el consentimiento en un plazo no superior a 24 meses, o antes si cambian las finalidades. El sistema enviará un aviso pasado ese plazo o ante cualquier cambio material en las finalidades o en los terceros implicados.
9. Actualización de esta política: antes de activar cualquier nueva tecnología, este documento debe actualizarse con la nueva fila en la tabla de inventario y notificarse a los usuarios (ver §6).
5. Cómo gestionar o revocar el almacenamiento local
5.1 Desde el panel de la app
- Cerrar sesión: elimina el
access_tokeny elrefresh_tokendel dispositivo actual e invalida la sesión en el servidor en tiempo real. - Cerrar sesión en todos los dispositivos (Ajustes > Dispositivos): revoca todos los tokens de todos los dispositivos vinculados.
- Revocar un dispositivo concreto (Ajustes > Dispositivos > [dispositivo] > Cerrar sesión): elimina el token de ese dispositivo.
- Preferencias de idioma y tema (Ajustes > Idioma / Ajustes > Apariencia): el usuario puede cambiar estas preferencias; el valor se actualiza en localStorage.
- Notificaciones push (Ajustes > Notificaciones): el usuario puede revocar el permiso de notificaciones desde la app o desde los ajustes del sistema operativo / navegador. Al revocar, el endpoint push queda inválido y Parlo deja de enviar notificaciones a ese dispositivo.
5.2 Desde el navegador (web)
La mayoría de navegadores permiten gestionar el almacenamiento local por sitio web:
- Chrome / Edge: Configuración > Privacidad y seguridad > Cookies y otros datos de sitios > Ver todos los permisos y datos del sitio > buscar
parlo.g-weil.com> Eliminar. - Firefox: Configuración > Privacidad y seguridad > Gestionar datos > buscar
parlo.g-weil.com> Eliminar. - Safari (iOS/macOS): Ajustes > Safari > Avanzado > Datos de sitios web > buscar
parlo> Eliminar. - Instrucciones de la AEPD: https://www.aepd.es/es/areas-de-actuacion/internet-y-redes-sociales/derechos-en-internet
Limpiar los datos del sitio desde el navegador cerrará la sesión automáticamente (los tokens quedarán en el dispositivo pero el servidor los rechazará si se intentan reutilizar fuera de su ventana de validez).
5.3 Desde Android (app instalada como PWA o APK)
- Permiso de notificaciones: Ajustes del sistema > Apps > Parlo > Permisos > Notificaciones > Denegar.
- Datos de la app: Ajustes del sistema > Apps > Parlo > Almacenamiento > Borrar datos.
6. Cambios en esta política
Cuando se produzcan cambios materiales (adición de nuevas tecnologías, nuevos terceros, cambio de finalidades), Parlo:
1. Actualizará la fecha y versión de esta política.
2. Notificará a los usuarios registrados por email o mediante un aviso dentro de la app, con al menos 30 días de antelación para cambios que impliquen nuevas finalidades o nuevos terceros que requieran consentimiento.
3. Si el cambio implica pasar de tecnologías exentas a no exentas, implementará el CMP descrito en §4.2 antes de activar cualquier script.
7. Contacto y derechos
Para cualquier consulta sobre esta política o para ejercer los derechos RGPD (acceso, rectificación, supresión, portabilidad, limitación, oposición):
- Email: [PENDIENTE: legal@parlo.es o email del titular]
- Formulario en app: Ajustes > Privacidad > Mis derechos GDPR
- Autoridad de control: Agencia Española de Protección de Datos (AEPD) — www.aepd.es — C/ Jorge Juan, 6, 28001 Madrid.
8. Glosario de referencias normativas
| Referencia | Descripción |
|---|---|
| Art. 22.2 LSSI-CE (Ley 34/2002) | Obliga al consentimiento previo para instalar/recuperar información del dispositivo; establece la excepción técnica. |
| Guía sobre el uso de las cookies, AEPD (junio 2023) | Desarrolla el art. 22.2: define cookies exentas, requisitos del banner, patrones oscuros prohibidos, caducidad del consentimiento (recomendación ≤ 24 meses). |
| RGPD art. 7 | Condiciones del consentimiento: libre, específico, informado, inequívoco, revocable con igual facilidad. |
| RGPD art. 5 | Principios del tratamiento: minimización, limitación de la finalidad, integridad y confidencialidad. |
| Directiva 2002/58/CE (ePrivacy) | Marco europeo de privacidad en comunicaciones electrónicas; art. 5.3 regula el acceso a información en el terminal del usuario. |
| DSA art. 16 | Obligación de notice-and-action (botón Reportar) e informe de transparencia anual. |
Última actualización: 2026-07-14 · Versión: 1.0 · DRI: especialista-cookies (Synthesis Labs) · Bajo revisión del director-legal antes del lanzamiento.