Mantenemos los datos sobre ti al mínimo. Esta página enumera cada cookie, entrada de localStorage y de sessionStorage que puede existir en tu dispositivo cuando usas EvoMap, para qué sirve, cuánto dura y la base legal del tratamiento. Puedes revisar o cambiar tu elección en cualquier momento desde el enlace 'Preferencias de cookies' en el pie de cualquier página.
1.Estrictamente necesarias#
Estos elementos son imprescindibles para el funcionamiento del sitio. Se escriben con independencia de tu elección en el banner de cookies; rechazarlos rompería el login, la seguridad, las protecciones antiabuso o la analítica de rendimiento de primera parte. Esta sección también cubre la monitorización de errores: los informes de fallos y caídas se envían a Sentry, un encargado del tratamiento externo, que además recibe una muestra de los tiempos de carga habituales. Tampoco depende del banner; las filas de la tabla que llevan el nombre de Sentry detallan exactamente qué recibe.
| Nombre | Tipo | Propósito | Duración | Base legal |
|---|---|---|---|---|
| evomap_sid | Cookie | Login session token | 30 days (Max-Age in src/lib/cookie.js) | GDPR Art. 6(1)(b) — contract performance |
| evomap_user | localStorage | User profile cache (reduces /me request frequency) | Persistent (cleared on logout) | Art. 6(1)(b) |
| evomap_auth_ts | localStorage | 401 grace-period timestamp (prevents short-network-blip logout) | Persistent | Art. 6(1)(b) |
| evomap_chunk_reload | sessionStorage | Auto-recovery from post-deploy chunk-load errors | Session (cleared on tab close) | Art. 6(1)(f) — legitimate interest (deployment stability) |
| evomap_chunk_reload_reported | sessionStorage | Marks the reload above as already reported, so one post-deploy recovery produces one diagnostic event instead of one per document | Session (cleared on tab close) | Art. 6(1)(f) — legitimate interest (deployment stability) |
| sentryReplaySession | sessionStorage (Sentry SDK) | Session Replay id. The SDK keeps a rolling recording of roughly the last 60 seconds in your browser's memory and it stays there: nothing is uploaded unless a JavaScript error happens, and then that buffered minute is sent so we can see what led up to the crash. An ordinary visit that never errors uploads no replay at all. Throughout, the SDK's masking defaults are left on: every text node and every form input is replaced with a placeholder and all media is blocked, so what we receive is layout and interaction timing, not what you typed or read | Session (cleared on tab close) | Art. 6(1)(f) — legitimate interest (diagnosing crashes) |
| sentry_performance_trace | Third-party transmission to Sentry (sentry.io) — not browser storage | Separately from the error reporting below, a sample of ordinary page loads and in-app navigations (20% in production) is timed and sent to Sentry so we can see when the site gets slower. A trace carries the page URL, timings and the same anon_id / session_id, not page content — no replay is recorded and nothing you typed is included | Per the Sentry project's retention setting; deletable on request | Art. 6(1)(f) — legitimate interest (service performance) |
| sentry_error_event | Third-party transmission to Sentry (sentry.io) — not browser storage | When a page crashes, or a critical path fails for a reason on our side (login, page load, an API call our server could not complete), we send Sentry the error type and stack trace, the page URL, your browser and OS, the preceding interaction breadcrumbs, and the identifiers evomap_anon_id / evomap_session_id plus your account id when you are signed in — the same identifiers our own analytics uses, so one report can be matched to one session. A failure caused by your own input, such as a wrong password or a rate limit, does not create a report of its own; it can still appear as one line of context inside a later report, because we record every failure as a breadcrumb before deciding which ones to send. Sentry's privacy policy: https://sentry.io/privacy/ | Per the Sentry project's retention setting; deletable on request | Art. 6(1)(f) — legitimate interest (service reliability and security) |
| evomap_ai_chat_quota | localStorage | Anti-abuse rate limit for the AI chat surface | Persistent | Art. 6(1)(f) — anti-abuse |
| evomap_storage_warned | sessionStorage | Storage-error telemetry dedupe (≤ 1 warn per 24h per tab) | 24h cooldown; cleared on tab close | Art. 6(1)(f) |
| evomap_consent | localStorage | Your cookie-preference decision (so we don't re-ask every visit) | 90 days | GDPR Art. 7 — consent record |
| evomap_consent_expired | localStorage | Single-shot marker so we know to re-prompt after TTL expiry | Short-lived (cleared on next banner mount) | Art. 7 |
| evomap_exp_evox_beta | Cookie (HttpOnly) | Keeps you on one version of the EvoX download page across visits and languages while we compare two layouts — first-party, anonymous, never shared with third parties | 90 days | Art. 6(1)(f) — first-party content variant (D-7 Plan X, extended) |
| evomap_anon_id | localStorage | Anonymous identifier for site performance improvement. It is not shared with advertising or analytics third parties, and it is never sold; the one processor that receives it is our error monitor (see the sentry_error_event row), so that a crash report can be matched to the session it came from | Persistent | Art. 6(1)(f) — first-party analytics (ICO / AEPD position) |
| evomap_im_ref | Cookie | First-party Impact.com affiliate click id (`im_ref`) for last-click conversion attribution — never shared with third parties from the browser; forwarded only on our own auth/billing requests. When an attributed conversion completes, our server submits the click id together with conversion identifiers and amounts to Impact.com's conversion reporting API, to settle the partner's commission. | 90 days | Art. 6(1)(f) — first-party attribution (affiliate conversion) |
| evomap_session_id | sessionStorage | First-party session identifier — rotates every 30 min of inactivity | 30 minutes idle; cleared on tab close | Art. 6(1)(f) |
| evomap_session_ts | sessionStorage | Last-activity timestamp paired with evomap_session_id (drives idle rotation) | 30 minutes idle; cleared on tab close | Art. 6(1)(f) |
| evomap_utm | sessionStorage | Marketing-campaign entry attribution — current session only | Session (cleared on tab close) | Art. 6(1)(f) |
| evomap_pending_credit_purchase | sessionStorage | Temporary checkout-return context for credit top-ups: selected credit amount, USD amount, and Hub order id. It never stores card numbers, payment tokens, or provider secrets. | Session; removed after the credit-purchase result return is processed | Art. 6(1)(f) — payment attribution and support diagnostics |
2.Funcionales#
Elementos que guardan preferencias que tú elegiste activamente (idioma, tema, historial del chat con IA).
| Nombre | Tipo | Propósito | Duración | Base legal |
|---|---|---|---|---|
| evomap_locale | Cookie + localStorage | Your selected language | 1 year | Art. 6(1)(a) — user-initiated preference |
| evomap_theme | Cookie + localStorage | Your selected theme | 1 year | Art. 6(1)(a) |
| evomap_ai_chat | localStorage | AI chat history (local only — never uploaded) | Persistent | Art. 6(1)(b) — user-generated content |
| evomap_onboarding | localStorage | Onboarding-tour completion state | Persistent | Art. 6(1)(f) |
3.Analítica (terceros — desactivable)#
Cookies de Google Analytics 4. Denegadas por defecto en regiones estrictas (UE/EEE/Reino Unido/Suiza, microestados de la UE, dependencias de la Corona británica, Brasil, Corea del Sur, Japón, Türkiye, Israel — y cualquier visitante cuyo país no pueda resolverse); otorgadas por defecto en el resto, sin mostrar banner. Los visitantes de regiones estrictas alternan desde el banner; otros pueden abrir el panel desde el enlace 'Preferencias de cookies' del pie de página. También almacenamos un hash irreversible del correo electrónico que introduces al registrarte en nuestra propia base de datos de origen para el análisis del embudo de conversión; este hash nunca se comparte con Google.
| Nombre | Tipo | Propósito | Duración | Base legal |
|---|---|---|---|---|
| _ga | Cookie (Google SDK, written on our domain) | Google Analytics 4 visitor identifier | 2 years | Art. 6(1)(a) — explicit consent (banner) |
| _ga_<id> | Cookie (Google SDK, written on our domain) | Google Analytics 4 property-scoped session | 2 years | Art. 6(1)(a) |
| _gid | Cookie (Google SDK, written on our domain) | Google Analytics 4 short-term visitor distinguisher | 24h | Art. 6(1)(a) |
| analytics_event_client_ip | Server-side database field (evomap_behavior_events.properties.client_ip — plaintext IP address) | The visitor IP address our edge resolved for the request that reported the event, stored so abuse and traffic-quality investigations can identify the originating network. Recorded only when the ingress can vouch for the address; internal and gateway addresses are never stored. Not forwarded to Google. | Retained for the analytics table's retention window; deletable on request | Art. 6(1)(f) — legitimate interest (fraud prevention and service security) |
| analytics_event_geo_country | Server-side database field (evomap_behavior_events.geo_country — ISO alpha-2) | Country our edge resolved for the request that reported the event, used for traffic-quality and funnel analysis by region. | Retained for the analytics table's retention window; deletable on request | Art. 6(1)(f) — legitimate interest (product analytics) |
| analytics_event_email_hash | Server-side database field (evomap_behavior_events.properties.email_sha256 — irreversible SHA-256 hash) | Irreversible hash of the email entered at registration intent / completion (register_button_click, register_create_account_result) for conversion-funnel analysis. Stored only in our first-party database; the plaintext email is never persisted to analytics and never forwarded to Google. | Retained until account deletion; deletable on request | Art. 6(1)(f) — legitimate interest (product analytics) |
4.Publicidad (terceros — desactivable)#
Cookies de seguimiento de conversiones de Google Ads, divididas en tres ejes independientes de Google Consent Mode v2 (ad_storage, ad_user_data, ad_personalization) que puedes alternar por separado, y cookies del Píxel de Meta (_fbp, _fbc). Misma política por defecto que la analítica. Meta es un responsable del tratamiento independiente y queda fuera de Google Consent Mode, por lo que tiene su propio interruptor en el eje ad_storage: desactivar «Publicidad» también revoca el consentimiento de Meta. A diferencia de las cookies de Google anteriores, _fbp y _fbc existen precisamente para vincular tu actividad aquí con tus clics en anuncios en las plataformas de Meta, entre sitios.
| Nombre | Tipo | Propósito | Duración | Base legal |
|---|---|---|---|---|
| _gcl_aw | Cookie (Google Ads SDK) | Google Ads conversion attribution | 90 days | Art. 6(1)(a) |
| _gcl_au | Cookie (Google Ads SDK) | Google Ads conversion linking | 90 days | Art. 6(1)(a) |
| _gcl_dc | Cookie (Google Ads SDK) | Google Ads display network | 90 days | Art. 6(1)(a) |
| _fbp | Cookie (Meta Pixel) | Meta ads conversion attribution — browser identifier | 90 days | Art. 6(1)(a) |
| _fbc | Cookie (Meta Pixel) | Meta ads click attribution — set when arriving via an ad click | 90 days | Art. 6(1)(a) |
5.Conectores de cuentas de terceros (Google Drive y Gmail)#
Cuando conectas una cuenta de Google Drive o Gmail a tu cuenta de EvoMap desde la consola de EvoX, solicitamos los permisos indicados en la pantalla de consentimiento OAuth de Google, donde puedes ver cada uno y decidir si lo concedes. La conexión solo ocurre cuando pulsas Conectar, y puedes desconectarla en cualquier momento.
- A qué accedemos: Google Drive — metadatos, contenido y permisos de archivos, en modo solo lectura (drive.readonly), además de los archivos que esta app crea o abre por sí misma (drive.file), permiso que también permite a EvoX crear y copiar archivos en tu Drive cuando se lo pides. Gmail — acceso de solo lectura a hilos, cuerpos de mensajes, etiquetas y borradores (gmail.readonly); EvoX no puede enviar, modificar ni eliminar tu correo. También recibimos la dirección de correo de tu cuenta de Google (openid, email), utilizada únicamente para etiquetar la conexión y que puedas distinguir entre varias cuentas conectadas. Tus datos se leen bajo demanda solo cuando inicias en EvoX una tarea que los necesita, y únicamente para completar esa tarea; cualquier acción que modifique algo en tu Drive requiere una confirmación tuya cada vez.
- Dónde se guarda: los tokens de autorización se almacenan cifrados en los servidores de EvoMap; nunca se escriben en tu dispositivo ni aparecen en los registros. El contenido de archivos y correos pasa por nuestros servidores solo mientras se atiende tu solicitud y no se conserva allí; el servidor guarda un resumen de auditoría (un hash) de cada operación, no el contenido. El propio registro de conexión conserva la etiqueta de correo de tu cuenta, los permisos que concediste y cuándo se usó por última vez. El contenido devuelto por una herramienta aparece en tu historial de conversación, que se guarda dentro de la app EvoX en tu propia máquina.
- Durante cuánto tiempo: los tokens de acceso y de actualización se conservan hasta que desconectas, para que no tengas que volver a autorizar en cada dispositivo. Al desconectar, ambos se eliminan de nuestros sistemas de inmediato.
- Cómo revocar: pulsa Desconectar en la página Plugins de la consola de EvoX en cualquier momento. Primero borramos nuestra copia de tus tokens y después pedimos a Google que revoque la autorización; si Google la rechaza, te lo indicamos en lugar de mostrarte una desconexión que no se completó del todo. También puedes revocar el acceso directamente desde la página de acceso de terceros de tu cuenta de Google. Tras desconectar no conservamos ningún token de acceso ni de actualización utilizable.
- Sin compartir: los datos obtenidos de las API de Google nunca se venden, alquilan ni facilitan a terceros, ni se usan para publicidad. El uso y la transferencia por parte de EvoMap a cualquier otra app de la información recibida de las API de Google se ajustará a la Política de datos de usuario de los servicios de API de Google, incluidos los requisitos de Uso limitado.
6.Tus derechos#
Conforme al RGPD puedes retirar el consentimiento en cualquier momento, solicitar una copia de tus datos, su eliminación y presentar reclamación ante una autoridad de control. Escríbenos a [email protected] para cualquier solicitud.
7.Contacto#
Operador: EVOMAP PTE. LTD. Consultas generales y solicitudes de datos: [email protected].