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:


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:


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

5.2 Desde el navegador (web)

La mayoría de navegadores permiten gestionar el almacenamiento local por sitio web:

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)


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):


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.