Legal
Política de privacidad
Última actualización: 1 de junio de 2026 · versión 1.0
Esta política explica qué datos personales trata Xero Trace (en adelante, "Vigilancia" o "la app"), con qué base legal, durante cuánto tiempo y con quién se comparten. Está escrita para leerse de principio a fin en cinco minutos. Si algo no queda claro, escríbenos a privacy@xero-trace.com.
1. Responsable del tratamiento
Xero Trace es operada por una persona física, desarrollador independiente residente en España, sin actividad mercantil registrada en este momento. Si necesitas su identificación completa (nombre, DNI/NIE y dirección postal) para ejercer cualquiera de los derechos del art. 8 de esta política, te la facilitaremos por escrito en respuesta a tu solicitud al buzón de privacidad.
Contacto para asuntos de privacidad: privacy@xero-trace.com. No tenemos delegado de protección de datos designado al no ser obligatorio según el art. 37 RGPD para nuestro volumen de tratamiento, pero la dirección anterior es punto único de contacto para todas las cuestiones de privacidad.
2. Qué datos tratamos y con qué finalidad
Vigilancia es una app de detección de emergencias. Tratamos los mínimos datos necesarios para que funcione, agrupados según su propósito:
2.1 Cuenta
- Email — identificador único. Guardado en claro para enviarte correos de servicio (verificación, restablecer contraseña, avisos críticos de seguridad).
- Contraseña — guardada únicamente como hash bcrypt con sal aleatoria. Nunca la vemos ni podemos recuperarla; solo restablecerla.
- Nombre para mostrar (opcional) — el que ponemos en los saludos dentro de la app.
- Avatar (opcional) — imagen JPEG de hasta 512×512 px que tú subes. Se guarda en Backblaze B2 (UE/EE. UU. — ver §5) bajo una URL aleatoria.
- Segundo factor (2FA / TOTP) — guardamos el secreto cifrado y los códigos de recuperación hasheados. Solo se descifran para verificar tu código.
- Token de dispositivo (FCM) — identificador opaco emitido por Firebase Cloud Messaging para entregarte avisos push. No identifica al dispositivo físico de forma estable: cambia con reinstalaciones.
2.2 Datos cifrados extremo a extremo
Los siguientes datos viajan y se almacenan ya cifrados con una clave derivada de tu contraseña en tu móvil. El servidor recibe un blob ilegible — no podemos descifrarlo ni bajo requerimiento judicial:
- Contactos de emergencia — nombre, teléfono, relación, notas. El nombre opcional "etiqueta" (p. ej. "Madre") sí va en claro porque debe verse mientras la app está bloqueada.
- Tarjeta médica — grupo sanguíneo, alergias, medicación, condiciones, contacto médico. Todo opcional; solo lo subes si quieres.
2.3 Eventos de emergencia
- Metadatos del evento — tipo (caída, SOS manual, etc.), nivel de confianza, marca de tiempo, qué lo disparó (detector / botón manual). Sin audio, vídeo ni texto libre.
- Ubicación en el momento — latitud y longitud capturadas cuando confirmas el SOS o expira el cuenta atrás. Necesarias para mostrar al respondedor dónde estás y para incluir un enlace de mapa en el SMS a tus contactos.
- Nivel de batería — un entero 0–100 que indica si la víctima tiene margen de comunicación.
- Triage del detector — cuando el evento viene del detector de caídas, añadimos el pico de impacto (m/s²) y la clasificación (humanLikely, deviceLikely, ambiguous) para ayudar al respondedor a decidir si acudir.
2.4 Red de respondedores (si te apuntas)
- Heartbeat de ubicación — cada cinco minutos mientras tienes el modo activado, tu ubicación aproximada (latitud/longitud + precisión) y un timestamp. Se almacena cifrada en reposo y se descarta tras 15 minutos sin renovar.
- Visibilidad para otros — antes de aceptar una alerta, otros respondedores solo ven tu posición agregada a una celda geohash6 (≈1,2 × 0,6 km). Tu ubicación exacta se revela únicamente tras aceptar explícitamente la alerta.
2.5 Reportes de errores (opt-in)
- Descripción libre que tú escribes (te recomendamos no incluir datos personales), stack del error, ruta dentro de la app, versión, plataforma e idioma. Se envía solo si pulsas "ENVIAR REPORTE".
2.6 Antiabuso e infraestructura
- IP truncada en intentos de login (los tres primeros octetos en IPv4) para limitar fuerza bruta sin guardar PII completa.
- Lista de espera (waitlist) — si te apuntas en la web, guardamos email y un hash de IP con sal específica para detectar abuso.
3. Bases legales (RGPD art. 6)
- Ejecución del contrato (art. 6.1.b): cuenta, contactos, médica, eventos de emergencia, red de respondedores. Sin estos datos la app no puede prestar su servicio.
- Consentimiento (art. 6.1.a): avatar, modo respondedor, reportes de errores. Puedes retirarlo en cualquier momento desde Ajustes sin afectar al resto de la cuenta.
- Interés legítimo (art. 6.1.f): IP truncada y waitlist con hash de IP, para prevención de abuso del servicio.
- Obligación legal (art. 6.1.c): conservación de logs de acceso el tiempo mínimo exigible si una autoridad nos requiere información.
4. Datos sensibles (categorías especiales)
La tarjeta médica contiene datos de salud (categoría especial, art. 9 RGPD). La base legal específica es tu consentimiento explícito (art. 9.2.a). Para minimizar el riesgo:
- Se cifra extremo a extremo antes de salir de tu móvil; el servidor ve un blob aleatorio.
- Si olvidas tu contraseña no podemos recuperarla; tendrás que volver a introducirla.
- Solo se descifra al confirmar una emergencia, y solo para generar un enlace temporal accesible por personal sanitario.
5. Encargados del tratamiento y subprocesadores
Para operar el servicio recurrimos a las siguientes terceras partes. Todas tienen contrato de encargado del tratamiento o cláusulas contractuales tipo de la Comisión Europea cuando aplica:
- Neon (Países Bajos / UE) — base de datos PostgreSQL. Todos los datos cifrados E2E y la mayoría del resto residen aquí.
- Render (EE. UU.) — hosting de la API y de las páginas web (xero-trace.com y admin.xero-trace.com). Solo procesa tráfico en tránsito; no persiste contenido personal.
- Cloudflare (EE. UU. / global) — CDN, WAF y enrutado de correo. Configurado para no almacenar contenido personal y para enmascarar la IP origen.
- Google Firebase Cloud Messaging (EE. UU.) — entrega de avisos push. Recibe un token opaco asociado a tu cuenta y el contenido de la notificación (mínimo: "Alguien necesita ayuda cerca"). No recibe tus contactos, tu médica ni el contenido del SMS que se envía localmente.
- Backblaze B2 (EE. UU.) — almacenamiento del avatar. Acceso mediante URLs firmadas temporales emitidas por nuestra API.
- Proton Mail (Suiza) — buzón de soporte y privacidad. Cuando nos escribes a hello@ o privacy@, tu correo se entrega aquí vía Cloudflare Email Routing.
No vendemos datos a terceros ni los compartimos con anunciantes, brokers o redes publicitarias. No tenemos identificadores publicitarios, ni cookies de seguimiento, ni SDKs de analítica externa.
Transferencias internacionales: los proveedores estadounidenses (Render, Cloudflare, Google FCM, Backblaze) están adheridos al EU–US Data Privacy Framework o protegidos por Cláusulas Contractuales Tipo. Donde es posible (Neon, Proton Mail), el tratamiento ocurre íntegramente en territorio europeo o suizo.
6. Dónde se almacenan tus datos
Base de datos principal en la Unión Europea (Frankfurt). El cifrado en tránsito (TLS 1.2+) y en reposo es obligatorio para todos los componentes. Los servidores aplicación residen en la UE cuando el proveedor lo permite; cuando no (Render), el servidor procesa los datos en memoria pero no los persiste.
7. Cuánto tiempo los guardamos
- Cuenta y datos cifrados E2E — hasta que elimines la cuenta. Tras la eliminación, se borran de forma permanente en un plazo máximo de 30 días (la pequeña ventana cubre backups en rotación).
- Eventos de emergencia — 90 días desde el evento, salvo que los borres antes desde Historial. Los metadatos agregados (recuento de eventos por tipo, sin asociar a usuarios) pueden conservarse más tiempo con fines estadísticos.
- Heartbeat de respondedor — se descarta automáticamente a los 15 minutos si no se renueva.
- Reportes de errores — 90 días desde el reporte. Se borran automáticamente cuando marcamos el reporte como resuelto y han pasado 30 días.
- Logs de acceso e intentos de login — 90 días.
- Token FCM — hasta que cierres sesión o la app emite un nuevo token (rotación automática del SDK).
8. Tus derechos
Como titular de los datos tienes derecho a:
- Acceder a una copia de los datos personales que tratamos sobre ti.
- Rectificar datos inexactos. La mayoría puedes hacerlo tú mismo desde Ajustes y /perfil.
- Suprimir ("derecho al olvido") tu cuenta y todos los datos asociados. Puedes hacerlo desde Ajustes ▸ Borrar cuenta o escribiendo a privacy@xero-trace.com.
- Portar tus datos en un formato legible por máquina (JSON).
- Oponerte al tratamiento basado en interés legítimo.
- Limitar el tratamiento mientras revisas una solicitud.
- Retirar el consentimiento en cualquier momento para los datos basados en él (avatar, modo respondedor, reportes de errores).
Para ejercer cualquiera de estos derechos escribe a privacy@xero-trace.com desde el email asociado a tu cuenta. Responderemos en un plazo máximo de 30 días.
Si consideras que no tratamos tus datos conforme al RGPD, puedes presentar reclamación ante la Agencia Española de Protección de Datos o ante la autoridad de control de tu Estado miembro de residencia.
9. Qué NO tratamos
Diseñamos la app para mantenerse al margen de información que no necesita conocer:
- Audio y vídeo — no se graba ni se envía. El análisis para detectar gritos (cuando esté disponible) corre íntegramente en tu móvil.
- Ubicación continua — fuera del modo respondedor (que tú activas), solo se captura durante una emergencia activa.
- Libreta de contactos del sistema — la consultamos solo cuando pulsas "Importar de la libreta", y el contacto importado se cifra antes de salir del móvil.
- Datos biométricos — las huellas o el rostro que la app usa para desbloquear tu contraseña local los maneja Android, nunca salen del dispositivo y nosotros nunca los recibimos.
- Contenido de SMS a contactos — el SMS de emergencia lo manda tu propio móvil mediante la app de mensajería del sistema. No pasa por nuestros servidores.
- Cookies de seguimiento, identificadores publicitarios y analítica de terceros: ninguno.
10. Menores de edad
Vigilancia no está dirigida a menores de 14 años, ni recogemos a sabiendas datos de personas en esa franja sin consentimiento de los titulares de la patria potestad o tutela. Si crees que un menor de 14 años ha creado una cuenta, escríbenos a privacy@xero-trace.com y la eliminaremos.
11. Seguridad
Aplicamos las medidas técnicas y organizativas razonables para el nivel de riesgo: cifrado en tránsito (TLS 1.2+) y reposo, hashing bcrypt de contraseñas, 2FA opcional con TOTP, cifrado extremo a extremo de contactos y médica con AES-256-GCM, rate limiting agresivo en endpoints sensibles, verificación contra la base Have I Been Pwned al elegir contraseña y revisiones periódicas del código (incluida revisión de seguridad asistida).
Ningún sistema es invulnerable. Si detectamos una brecha que afecte a tus datos personales y suponga un riesgo probable para tus derechos, te lo notificaremos sin demora indebida en cumplimiento del art. 34 RGPD.
12. Cambios en esta política
Si actualizamos esta política te avisaremos con al menos 30 días de antelación por correo a la dirección de tu cuenta y mediante banner en la app. La fecha de última actualización aparece arriba del documento y el historial completo de versiones está disponible en nuestro repositorio público de releases.
13. Cookies
Esta web utiliza únicamente cookies técnicas estrictamente necesarias (sin necesidad de consentimiento previo según guía AEPD). Sin analítica externa, sin píxeles publicitarios. Detalle en /cookies.