Política de cookies y almacenamiento local
Versión 2026-10-18 · Vigente desde el 18 de octubre de 2026
Versiones publicadas: 2026-10-18
01 Objeto, alcance y definiciones
Esta Política explica qué tecnologías usa CORD para guardar o consultar información en el dispositivo de quien visita cordhq.app y sus subdominios, usa la aplicación o abre un enlace que un negocio comparte por medio de CORD, para qué las usa y cómo puede elegir. «Flouvia», «Cliente», «CORD» y los demás términos definidos tienen el significado que les dan los Términos y Condiciones de CORD. El responsable del tratamiento y los derechos de las personas se describen en el Aviso de Privacidad.
En esta Política, «cookie» incluye las cookies HTTP, localStorage, sessionStorage, los scripts, las etiquetas y cualquier tecnología que almacene o consulte información en el dispositivo. Que una herramienta no use cookies no decide por sí solo su régimen.
CORD usa dos categorías: las tecnologías necesarias para la autenticación, la seguridad, las preferencias y los flujos que la persona pide, y la analítica opcional. La analítica depende de una sola elección del aviso de cookies: con “Aceptar todas” se activan PostHog (uso del producto), Vercel Web Analytics (visitas) y Vercel Speed Insights (rendimiento de la página); con “Solo necesarias” no se carga ninguna de las tres. Es una sola elección porque el consentimiento se pide por finalidad, y las tres sirven a la misma: medir el uso y el rendimiento de CORD. Ninguna se trata como exenta por no usar cookies: las tres ejecutan código en el navegador y leen datos del dispositivo, como el navegador, el sistema, el tipo de dispositivo o las métricas de carga.
CORD no usa tecnologías de publicidad conductual ni comparte datos de navegación con redes publicitarias.
02 Tecnologías necesarias y de preferencias
| Nombre | Finalidad | Duración |
|---|---|---|
__Host-cord_session (antes cord_session), cord_auth_hint |
Sesión autenticada y señal visual que no autentica. El prefijo __Host- impide que otro subdominio la sustituya. |
30 días, renovable; la sesión vence a los 180 días como máximo |
cord_active_org |
Organización activa elegida por el usuario. | 1 año; 30 días en billing.cordhq.app |
cord_public_lang, cord_local_lang |
Idioma del sitio público elegido. | 1 año |
cord_market |
País del sitio elegido por el visitante. | 1 año |
cord_cookie_consent |
Recordar la elección de analítica, con la versión del aviso y el día en que se dio. | 6 meses |
cord_test_mode |
Mantener el entorno de prueba elegido; la aplicación guarda una copia con el mismo nombre en localStorage. |
1 año; la copia, hasta que se borran los datos del navegador |
Cookies de OAuth (cord_oauth_state, cord_oauth_verifier, cord_oauth_redirect, cord_oauth_link, cord_apple_state, cord_apple_nonce, cord_apple_redirect), SAML (cord_saml_flow), llaves de acceso (passkey_challenge, passkey_auth_challenge), verificación en dos pasos (cord_2fa_challenge) y aceptación legal (cord_signup_legal_intent) |
Estado, nonce, PKCE, reto o intención de un solo uso; la página a la que se vuelve después de entrar, y la vinculación de una cuenta de Google o Apple con la sesión abierta. | 5 minutos las llaves de acceso y la verificación en dos pasos; 10 minutos OAuth y SAML; 15 minutos la aceptación legal |
cord_signup |
Abrir sesión al confirmar el correo solo en el navegador que pidió el enlace. | 24 horas |
Cookies de Cord Ops (__Host-cord_ops_*, cord_ops_theme) |
Sesión del panel interno de Flouvia, sus retos, su tema y, en cordhq.app, la vista de solo lectura de una organización que abre su equipo (__Host-cord_ops_view). |
Sesión hasta 8 horas; retos 5 minutos; vista 30 minutos; tema 1 año |
cord_capture_device |
Vincular temporalmente el dispositivo de captura de identidad. | 1 hora |
cord_analytics_internal |
Solo en navegadores del equipo de Cord: marcar su actividad como interna para excluirla de los informes. Se guarda también en localStorage. |
1 año; en localStorage, hasta que se borran los datos del navegador |
__stripe_mid, __stripe_sid |
Prevenir el fraude en el cobro. Las pone Stripe.js, del procesador de pagos Stripe, cuando se abre la página de pago de una cotización o cuando la persona paga una factura o desde el portal del cliente, verifica una cuenta bancaria o contrata o cambia el plan de CORD. | 1 año y 30 minutos |
| Vercel BotID | Comprobar que quien usa el cotizador público es una persona y no un programa automatizado. Al abrir el cotizador, un script de Vercel lee señales técnicas del navegador y del dispositivo solo para esa comprobación; no se usa para analítica ni para identificar a la persona, y se carga sin esperar la elección del aviso porque protege la herramienta de abusos. | Lo que dura la visita al cotizador |
En localStorage: cord.theme, cord.devmode, cord.sb.collapsed, cord.recent.v1, cord.onb.v1, cord.wb.v2, cord.wb.shell.v1:<organización>, cord.tareas.<vista>.scope, cord.cobros.nudge.dismissed, cord.<página>.v1 y cord.<página>.range.v1; en sessionStorage: cord.sb.scroll, cord.flash y cord.cobros.recarga |
En la aplicación: tema, modo desarrollador, barra lateral, últimos destinos del buscador, cómo se muestra la guía de configuración, estado del panel de Desarrolladores y las últimas 15 peticiones de su consola de la API, vista de tareas, avisos cerrados, orden, tamaño y periodo de los widgets de cada página e informe, el aviso que se muestra después de cambiar de página y el control que evita recargar la página de cobros más de una vez por minuto. | En localStorage, hasta que se borran los datos del navegador; en sessionStorage, hasta cerrar la pestaña |
cord.editor.<tipo>.new (localStorage) |
Copia local de la cotización o la factura nueva que la persona todavía no guarda, o de la cotización que el cotizador público pasa al editor al crear una cuenta, para ofrecer recuperarla. | Se borra al guardar el documento; si no, deja de usarse a los 7 días |
cord.cotizador.v1, cord.cotizador.historial.v1, cord.cotizador.precios.v1 (localStorage) |
En el cotizador público: la cotización en curso y el logotipo, las últimas 20 cotizaciones y los precios usados. | Hasta que se borran los datos del navegador; la cotización en curso deja de usarse a los 14 días |
En localStorage: cord.aviso-mercado.cerrado, cord.demo.guia.cerrada, cord_docs_tab_choice, cord_docs_feedback:<ruta> y cord-dev-console:history; en sessionStorage: cord.geo, langSwapScroll y cord-docs-nav:<sección> |
En el sitio público, la documentación y el blog de desarrolladores: que el aviso de país y la guía de la demo no vuelvan a aparecer una vez cerrados, la pestaña elegida en los ejemplos de la documentación, la respuesta de la persona a si una página le sirvió, los últimos comandos de la consola del blog de desarrolladores, el país que sugiere el aviso de país, para no consultarlo otra vez, la posición de la página al cambiar de idioma y las secciones abiertas del menú de la documentación. | En localStorage, hasta que se borran los datos del navegador; en sessionStorage, hasta cerrar la pestaña |
En localStorage: cord-ops-views:<ruta>; en sessionStorage: ops-sp-flash, ops-status-flash y ops-cm-flash |
En Cord Ops: las vistas de filtros que guarda el equipo de Flouvia y el aviso que se muestra después de una acción. | En localStorage, hasta que se borran los datos del navegador; en sessionStorage, hasta cerrar la pestaña |
Las cookies de sesión y de los retos de acceso son HttpOnly, llevan el atributo SameSite que corresponde a cada flujo y, en producción, el atributo Secure; vencen en los plazos de la tabla. Las preferencias de idioma, país, consentimiento y modo de prueba son legibles por el navegador. Estas tecnologías siempre están activas y no pueden desactivarse desde el aviso de cookies. Flouvia no las usa para analítica ni para publicidad; la única relacionada con la analítica es cord_analytics_internal, que solo se escribe en navegadores del equipo de Cord.
Además de las cookies, la tabla lista lo que el navegador guarda en localStorage y sessionStorage: preferencias de la interfaz, como el tema o el estado de la barra lateral; copias locales de los borradores que la persona todavía no guarda, y, en el cotizador público, la cotización en curso, el logotipo, las últimas cotizaciones y los precios usados. Esos datos no salen del dispositivo salvo que la persona los guarde en su cuenta.
03 Enlaces que reciben los clientes del negocio
Los enlaces de cotización, de factura y del portal del cliente, y los embeds que un negocio comparte con su cliente, se sirven con Referrer-Policy: no-referrer, para que su dirección, que funciona como una credencial, no viaje como referente a la página siguiente ni a terceros. La medición de la actividad que el negocio ve en esos enlaces no guarda cookies ni otros datos en el dispositivo de quien los abre, y depende de dónde se encuentra esa persona:
- Espacio Económico Europeo, Reino Unido, Quebec y territorios con reglas equivalentes. Para quien abre el enlace desde el Espacio Económico Europeo o el Reino Unido, la página no ejecuta ninguna medición desde el navegador: ni la presencia, ni el tiempo de lectura, ni las secciones revisadas, ni el aviso de que está escribiendo. Lo mismo aplica a Gibraltar, Jersey, Guernsey y la Isla de Man, a la provincia de Quebec, en Canadá, a quien llega sin un país identificable y a quien llega desde Canadá sin una provincia identificable; el Espacio Económico Europeo incluye aquí las regiones ultraperiféricas de la Unión Europea y las islas Åland. El país y, en Canadá, la provincia se toman de los que el proveedor de alojamiento asocia a la conexión. El negocio solo ve cuándo se abrió el enlace por primera vez, que el servidor de Cord registra al servir la página, sin contar las aperturas del equipo del negocio, de los bots ni las precargas del navegador. En una cotización, la página se lo indica a quien la abre.
- Demás visitantes. La página abierta informa la presencia, el tiempo de lectura por sección, acciones como abrir el PDF y si el visitante está escribiendo; el equipo del negocio y los bots no cuentan como cliente. Para contar cuántos dispositivos abren un enlace, el servidor calcula en cada petición un identificador con una función HMAC sobre la organización, el enlace, la red de la IP truncada (/24 en IPv4, /48 en IPv6) y el navegador, con una sal derivada de una llave del servidor que cambia cada día civil en la zona horaria del negocio. Ni la IP ni el navegador del cliente se guardan, y el identificador de un día no se puede relacionar con el de otro. El mismo dispositivo cuenta como otro visitante al día siguiente, en otra red o con otro navegador, y dos dispositivos con el mismo navegador en la misma red pueden contar como uno.
La cookie cord_q_visitor, que se usó hasta el 15 de octubre de 2026, ya no se escribe y se borra si un navegador todavía la envía. En los enlaces de cotización y de factura, quien los abre ve el aviso de cookies como en el resto del sitio, y la analítica opcional de la sección 5 solo se carga con su aceptación; el portal del cliente, las páginas de cobranza y los embeds no la cargan nunca.
04 Consentimiento
Antes de aceptar, el navegador no descarga el SDK de PostHog ni los scripts de Vercel Web Analytics y Speed Insights. PostHog se inicia solo con la aceptación y con las opciones opt_out_capturing_by_default y opt_out_persistence_by_default activadas, de modo que sin una aceptación vigente no captura ni escribe cookies o almacenamiento. El aviso presenta “Solo necesarias” y “Aceptar todas” con el mismo peso visual, y rechazar no bloquea el servicio.
La elección se guarda en la cookie cord_cookie_consent, con SameSite=Lax, path=/ y, en los dominios de Cord, Domain=.cordhq.app, de modo que vale en todos los subdominios. Su valor registra la decisión, la versión del aviso y el día UTC en que se dio, por ejemplo accepted.2026-10-15.2026-10-15, y no contiene identificadores ni datos personales. Una cookie de otra versión, o el valor anterior sin versión, no cuenta como decisión y el aviso vuelve a preguntar. La versión cambia cuando cambian las finalidades, los proveedores o el texto del aviso. Al registrar la elección, el servidor de Cord vuelve a fijar la misma cookie con el mismo valor para que el navegador no recorte su duración (Safari limita a 7 días las cookies escritas desde una página). El servidor no guarda la elección: la constancia es la que conserva el propio navegador.
Al aplicar la elección, Cord guarda la marca de aceptación de PostHog en localStorage bajo cord_ph_consent, y la fija o la borra a partir de cord_cookie_consent antes de iniciar PostHog.
05 Analítica del navegador
PostHog. Tras la aceptación, PostHog mide las vistas y el uso de las funciones. En la aplicación identifica a la persona y a su organización solo con sus identificadores internos, el plan, el rol y la fecha de alta de la organización; no recibe el correo, el nombre de la persona ni el nombre o el nombre comercial de la organización. Guarda su estado en la cookie ph_<token>_posthog (180 días, compartida entre los subdominios de Cord) y en localStorage y sessionStorage, bajo claves que empiezan por ph_. Las organizaciones de prueba, de demostración e internas llevan marcas para excluirse de los informes.
Antes de cada envío, Cord quita las consultas y sustituye los identificadores en toda dirección o ruta del evento y del perfil (página actual, referente, página de entrada de la sesión, página anterior y sus valores iniciales), y vuelve a leer la cookie de consentimiento: si la aceptación ya no está vigente, el evento no sale, aunque se haya retirado en otra pestaña o subdominio. En los enlaces que el negocio comparte con su cliente (cotización, factura, portal, embeds, cobranza, invitaciones y captura de identidad), PostHog no registra clics, grabaciones ni mapas de calor, y la vista no lleva el título de la página.
Vercel Web Analytics y Speed Insights. Según la documentación de Vercel, Web Analytics no usa cookies de terceros, identifica al visitante con un hash de la petición que se descarta a las 24 horas y registra la ruta, el referente, la geolocalización aproximada, el sistema, el navegador y el tipo de dispositivo. Speed Insights registra métricas de rendimiento (Web Vitals) con la ruta, la velocidad de red, el navegador, el sistema, el tipo de dispositivo y el país, sin asociarlas a un visitante. Antes de cada envío, Cord elimina las consultas y reemplaza los identificadores en las rutas de clientes, documentos, disputas, inicio de sesión único, invitaciones, enlaces públicos y captura de identidad.
Las páginas que no cargan analítica, como el portal del cliente, las páginas de cobranza y los embeds, no cargan ninguna de estas herramientas. El proveedor de alojamiento sigue procesando la petición técnica necesaria para servir el sitio.
06 Analítica del servidor
Por separado, el servidor de Cord registra en PostHog eventos comerciales y del servidor MCP, como una cotización enviada o un pago confirmado. Ese tratamiento no depende de la cookie ni de la preferencia del navegador y no lee ni escribe nada en el dispositivo. Su fundamento es el interés legítimo de Flouvia en medir y mejorar el servicio, no el consentimiento del aviso, y “Aceptar todas” no lo cubre. Cualquier persona puede oponerse escribiendo a legal@flouvia.com.
Los eventos se refieren a la organización, sin perfil de persona, con dos excepciones: el alta de una cuenta, que se registra con el identificador interno de la persona para saber de dónde llegan las altas, y los eventos del cotizador público, que se unen al identificador de PostHog del navegador solo si la persona aceptó la analítica; sin esa aceptación se registran con un identificador fijo y anónimo. Ningún evento lleva correos, nombres, teléfonos, identificadores fiscales, direcciones ni notas escritas por una persona; la anulación de una factura, por ejemplo, viaja como motivo codificado.
07 Cambiar o retirar la elección
La primera visita sin una decisión vigente muestra las dos opciones. Para cambiar la elección, el enlace “Preferencias de cookies” del pie de cordhq.app y del pie de la documentación (docs.cordhq.app), el botón del mismo nombre en Ajustes › Preferencias de la aplicación y el enlace “Administrar preferencias de cookies” del Aviso de Privacidad vuelven a abrir el aviso. Como la elección vale para todos los subdominios, cambiarla en uno la cambia en los demás.
Retirar la aceptación tiene efecto inmediato en la página abierta: PostHog deja de capturar y se borran su cookie y su almacenamiento, Web Analytics y Speed Insights dejan de enviar y, en las páginas siguientes, no se cargan. Mientras no haya una aceptación vigente, Cord borra los rastros de PostHog que encuentre en el dispositivo. No hay una elección separada por proveedor. Borrar las cookies o el almacenamiento del navegador hace que Cord vuelva a preguntar.
Retirar el consentimiento no afecta las tecnologías necesarias ni elimina por sí solo los datos ya enviados; para eso, la persona puede ejercer sus derechos conforme al Aviso de Privacidad.
08 Terceros, cambios y disposiciones finales
PostHog y Vercel reciben datos en las condiciones de esta Política. Los proveedores de inicio de sesión, como Google o Apple, y los de pago, como Stripe (con su verificación antifraude y la autenticación del banco del pagador) o Mercado Pago, pueden fijar tecnologías en sus propios dominios durante el flujo que la persona elige, y ahí aplican sus propias políticas. Flouvia no controla las cookies que colocan los sitios externos enlazados.
Antes de usar una finalidad, un proveedor, una cookie o un almacenamiento nuevos, o de cambiar de forma relevante la finalidad, la duración o el alcance de los existentes, Flouvia actualizará esta Política y, cuando el cambio afecte la analítica opcional, subirá la versión del aviso para volver a pedir la elección.
Esta Política se interpreta junto con el Aviso de Privacidad, el Acuerdo de tratamiento de datos, el documento de Terceros y subencargados y la Política de conservación. El consentimiento a la analítica opcional no es una aceptación contractual, y la analítica del servidor no depende de la cookie del navegador ni queda cubierta por ella. La ley aplicable y la jurisdicción son las de la sección 16 de los Términos, y las modificaciones siguen su sección 17.