DE EN FR ES NL

Política de privacidad

Esta política de privacidad explica qué datos personales trata la app «SurvKit». Abarca las versiones para iOS y Android y se aplica exclusivamente a la propia app.

Esta traducción se ofrece para tu comodidad. En caso de discrepancia, prevalece la versión alemana.

SurvKit está construida estrictamente según el principio de protección de datos desde el diseño (art. 25 del RGPD): la app trata los datos personales exclusivamente en local, en tu dispositivo. No hay servidor, ni cuenta, ni nube, ni telemetría, ni SDK de analítica. Las únicas excepciones son el formulario de comentarios voluntario, la tramitación de la compra dentro de la app y los informes de fallos, que se pueden desactivar; las tres se describen en detalle más abajo.

La versión para Android trata menos datos. No tiene formulario de comentarios ni informes de fallos; solo se conecta para dos cosas, y ambas las activas tú: la compra dentro de la app, que gestiona Google Play, y la descarga de paquetes de mapas sin conexión. El apartado específico Versión para Android, más abajo, enumera cada diferencia.

Responsable del tratamiento

El responsable del tratamiento en el sentido del Reglamento General de Protección de Datos (RGPD) es la persona física que publica «SurvKit» como desarrollador independiente:

  • Nombre: Bo Niehaus
  • Dirección: Allerstraße 26, 12049 Berlín, Alemania
  • Correo electrónico: survkit@borisniehaus.de

Los datos de contacto completos figuran también en el aviso legal (en alemán).

Delegado de protección de datos

«SurvKit» la publica una sola persona como desarrollador independiente. Por tanto, la designación de un delegado de protección de datos no es legalmente obligatoria y no se ha designado ninguno.

Sin cuenta, sin servidor, sin transmisión

SurvKit no requiere registro y no opera ningún backend. Todos los datos que introduces se guardan exclusivamente en local en tu dispositivo y no se transmiten a nadie (única excepción: el formulario de comentarios, véase más abajo):

  • Perfil de emergencia (p. ej., grupo sanguíneo, alergias, contactos de emergencia) - en local, protegido por la protección de datos de iOS
  • Caja fuerte de documentos - en local, cifrada con AES-256-GCM, con la clave guardada en el llavero de iOS
  • Ubicación y recorridos - se mantienen en memoria, o se guardan en local cuando inicias una grabación
  • Provisiones, notas, listas de comprobación, progreso de aprendizaje - en local
  • Mensajes de la mensajería - cifrados de extremo a extremo (Curve25519 + ChaChaPoly), enviados directamente a un dispositivo dentro del alcance de Bluetooth / Wi-Fi, sin ningún servidor intermedio

La base jurídica de este tratamiento puramente local es la prestación de las funciones que solicitas (art. 6, apartado 1, letra b), del RGPD).

Conexiones a internet solo a petición tuya

La app solo se conecta a internet cuando tú lo activas. Por motivos técnicos, el tercero correspondiente recibe tu dirección IP y un user agent:

  • Paquetes de mapas sin conexión (GitHub Releases): el nombre del archivo solicitado; datos cartográficos © OpenStreetMap (ODbL)
  • Artículos de Wikipedia (API REST de Wikipedia): los títulos de los artículos solicitados
  • Meteorología (Open-Meteo): coordenadas redondeadas para la previsión
  • Consulta de códigos de barras de alimentos (OpenFoodFacts): el número del código de barras escaneado
  • Modelo de IA local (Hugging Face): descarga única del archivo del modelo
  • Manuales de vehículos: apertura del portal del fabricante que hayas seleccionado

No registramos estas solicitudes; no se transmite ningún identificador más allá de lo técnicamente necesario. La base jurídica es la prestación de la función que has solicitado expresamente (art. 6, apartado 1, letra b), del RGPD). El contenido descargado funciona después sin conexión.

Formulario de comentarios (Supabase)

En Perfil → Enviar comentarios puedes enviarnos un mensaje. Es la única vía por la que un contenido que introduces sale del dispositivo, y solo se activa cuando pulsas «Enviar»: no se transmite nada en segundo plano.

Se transmiten: el texto de tu comentario, una dirección de correo electrónico opcional (solo si deseas una respuesta) y, para ayudar a clasificar el aviso, la versión de la app y de la compilación, la versión de iOS, el modelo del dispositivo y el ajuste de idioma. No se transmiten tu perfil de emergencia, el contenido de la caja fuerte, tu ubicación, tus provisiones, tus notas ni ningún otro dato de la app. El destinatario es una base de datos de Supabase (Supabase Inc.); la clave incluida en la app solo permite insertar datos, no leerlos. La base jurídica es la tramitación de tu solicitud (art. 6, apartado 1, letra b), del RGPD).

Compra dentro de la app «SurvKit Pro» (Apple / RevenueCat)

SurvKit se puede usar sin restricciones durante siete días; después, las secciones ampliadas se desbloquean mediante una única compra dentro de la app (sin suscripción). Las funciones básicas de emergencia siguen siendo gratuitas de forma permanente. La compra en sí la tramita Apple (StoreKit / App Store); para mostrar el precio, validar la compra y restaurar compras, la app utiliza el SDK del proveedor de servicios RevenueCat, Inc.

RevenueCat recibe un identificador de usuario anónimo generado por RevenueCat, los datos del recibo del App Store, la versión de la app, el tipo de dispositivo y el ajuste de idioma; ni nombre, ni dirección de correo electrónico, ni ID de Apple. El estado de la compra se almacena en caché en local; la app no hace comprobaciones en segundo plano. La base jurídica es la ejecución del contrato (art. 6, apartado 1, letra b), del RGPD). Más detalles: política de privacidad de RevenueCat.

Informes de fallos (Sentry)

Si la app se cierra de forma inesperada, envía un informe técnico de errores en el siguiente inicio. Esta función está activa tras la instalación. El paso de privacidad del primer inicio la menciona expresamente y muestra el interruptor correspondiente justo al lado; puedes desactivarla allí y en cualquier momento posterior en Perfil → Acerca de la app → Diagnóstico. La desactivación surte efecto de inmediato: el SDK de Sentry se detiene y ya no abre ninguna conexión.

Solo se transmiten detalles técnicos sobre el fallo: mensaje de error y pila de llamadas (stack trace), la posición en el código del programa, la versión de la app y de la compilación, la versión de iOS, el modelo del dispositivo, el ajuste de idioma y la zona horaria, además de un identificador de instalación seudónimo que el SDK de Sentry asigna a cada dispositivo. No se transmiten: capturas de pantalla, tu ubicación GPS ni ningún contenido del perfil de emergencia, de la caja fuerte de documentos, de la lista de provisiones o de las notas. No se registra el comportamiento de uso ni se crea ningún perfil de usuario.

Sobre la dirección IP: la app no la envía. Al entregarse el informe, el servidor de Sentry la ve inevitablemente; eso no se puede impedir desde la app. Para este proyecto está activada la opción «Prevent Storing of IP Addresses», de modo que la dirección no se almacena. Sí queda guardada con el evento una ubicación aproximada derivada de ella (país y ciudad); es una función de Sentry en el lado del servidor y no se puede desactivar.

El encargado del tratamiento es Functional Software, Inc. («Sentry»), San Francisco, California, EE. UU. Los informes se envían a la región de la UE del servicio (ingest.de.sentry.io) y se almacenan en centros de datos situados en la Unión Europea. La base es un contrato de encargo del tratamiento (Data Processing Addendum como parte de las condiciones del servicio); para eventuales transferencias a EE. UU. se aplican las cláusulas contractuales tipo de la Comisión Europea. Los informes se eliminan automáticamente al vencer los plazos de conservación de Sentry. Más detalles: política de privacidad de Sentry.

La base jurídica es nuestro interés legítimo en una app estable y sin errores (art. 6, apartado 1, letra f), del RGPD). Los errores que solo se producen en determinados dispositivos o en determinados idiomas son prácticamente imposibles de encontrar de otro modo. Puedes oponerte a este tratamiento en cualquier momento desactivando el interruptor (art. 21 del RGPD).

Permisos

SurvKit solo solicita permisos del sistema (ubicación, cámara, micrófono, notificaciones, red local / Bluetooth) cuando una función los necesita, por ejemplo la cámara para el escáner de documentos o la ubicación para el mapa y la brújula. Los datos procedentes de estos permisos se tratan exclusivamente en local y nunca se transmiten. Las notificaciones son puramente locales (p. ej., fechas de caducidad de tus provisiones): no hay servidores push. Esta lista describe la versión para iOS; qué permisos solicita la versión para Android, y para qué, se enumera uno por uno en Versión para Android.

Versión para Android

La versión para Android de SurvKit tiene un alcance más reducido que la de iOS, y eso vale también para el tratamiento de datos. Para ella rige lo siguiente:

  • La app se conecta para los paquetes de mapas sin conexión, para la meteorología y para la compra. Las tres cosas las activas tú; nada sale por sí solo. Descargas los paquetes de mapas pulsando «Descargar» en el mapa; los archivos están alojados en GitHub Releases, que por motivos técnicos recibe tu dirección IP, un user agent y el nombre del archivo solicitado (datos cartográficos © OpenStreetMap, ODbL). Después, el mapa funciona completamente sin conexión: no se carga nada mientras lo consultas. La meteorología se obtiene de Open-Meteo cuando abres la pantalla del tiempo y has concedido el permiso de ubicación. Lo que se transmite son coordenadas redondeadas a dos decimales: precisas hasta aproximadamente un kilómetro, suficientes para una previsión y demasiado imprecisas para una dirección. Para la compra está integrada la biblioteca Play Billing de Google; esta incorpora los permisos INTERNET y ACCESS_NETWORK_STATE para comunicar las compras a Google. No hay forma de vender en la tienda de Google sin ella. El lector de códigos no consulta nada: descodifica en el dispositivo.
  • A dónde puede conectarse la app queda fijado en el propio programa. Cada solicitud pasa por un único punto que permite exactamente estos seis destinos y rechaza todo lo demás: github.com (paquetes de mapas), api.open-meteo.com (meteorología), wikipedia.org (artículos), world.openfoodfacts.org (códigos de barras de alimentos), www.ema.europa.eu (prospectos) y huggingface.co (descarga única de un modelo de IA que después se ejecuta en el dispositivo). Wikipedia, los prospectos y el modelo de IA corresponden a funciones que la versión para Android todavía no tiene; ya figuran aquí para que este texto no vaya por detrás de la app. El escáner de alimentos, en cambio, sí está: envía el número del código de barras a OpenFoodFacts y recibe el nombre, la marca, la cantidad y la lista de ingredientes. La comparación con tu perfil de alérgenos se hace en el dispositivo: tu lista de alérgenos nunca se transmite. Una vez cargado, un producto sigue disponible sin conexión. Solo se transmite lo que compone la solicitud: un nombre de archivo, coordenadas redondeadas, el título de un artículo, un número de código de barras. La app no envía cookies, ni identificadores de dispositivo, ni identificadores publicitarios; el user agent indica la app y su versión, porque las interfaces públicas lo exigen. No hay ningún servicio que cargue datos en segundo plano.
  • La mensajería Bluetooth no usa internet. Conecta tu teléfono directamente con un dispositivo cercano, por Bluetooth LE o por la Wi-Fi local, sin ningún servidor intermedio, y funciona aunque no haya ninguna conexión a internet. Los mensajes están cifrados de extremo a extremo (X25519 para el intercambio de claves, HKDF-SHA256, ChaCha20-Poly1305); para confirmar que el dispositivo con el que hablas es el que crees, se puede comparar un número de seguridad de seis grupos de cuatro dígitos, que debe ser idéntico en ambos teléfonos. Lo que ven los dispositivos dentro del alcance, mientras la pantalla está abierta, es el nombre visible que tú mismo eliges; no pongas ahí tu nombre real si prefieres evitarlo. El historial se queda en tu dispositivo; los mensajes que envías acaban también en el dispositivo del destinatario, y sobre eso no tenemos ningún control.
  • Sin formulario de comentarios (sin Supabase), sin informes de fallos (sin Sentry) y sin RevenueCat. La compra única se realiza directamente a través de Google Play; no interviene ningún otro tercero. El pago lo gestiona Google (Google Ireland Limited, Gordon House, Barrow Street, Dublín 4, Irlanda); no vemos ni tu nombre ni tus datos de pago, solo si esta cuenta del dispositivo posee el producto. Ese valor de sí o no se queda en el dispositivo.
  • El periodo de prueba lo mide el propio dispositivo. Los siete días gratuitos son una fecha en el almacenamiento propio de la app. No hay cuenta, ni identificador, ni consulta alguna a nosotros: no sabemos si usas la app ni cuándo.
  • Los permisos, nombrados uno por uno. La app declara trece entradas en su manifiesto, que se reducen a siete cosas. Cada una se solicita solo cuando abres la función que la necesita; ninguna al iniciar:
  • Notificaciones (POST_NOTIFICATIONS) para el recordatorio de las provisiones que caducan. Se solicita solo cuando introduces tu primera fecha de caducidad; la notificación se crea en el dispositivo, sin ningún servidor push.
  • Inicio tras reiniciar (RECEIVE_BOOT_COMPLETED) para que esos recordatorios sobrevivan a un reinicio del teléfono.
  • Ubicación (ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION) para mostrar la posición en la brújula (coordenadas, altitud, UTM y MGRS), para tu propia posición en el mapa, para la grabación de recorridos y para la meteorología. En todos los casos menos uno, la posición se queda en el dispositivo: se muestra, o se guarda allí si inicias una grabación. La única excepción es la meteorología: se envían a Open-Meteo coordenadas redondeadas a dos decimales, porque una previsión sin lugar no es una previsión. La brújula y el mapa funcionan también sin este permiso, simplemente sin la posición. Por debajo de Android 12, la búsqueda por Bluetooth exige además la ubicación; es una norma del sistema y sirve allí para encontrar dispositivos, no para localizarte.
  • Micrófono (RECORD_AUDIO) para el medidor de ruido. No se graba nada. La app calcula el volumen a partir de la señal en directo y la descarta de inmediato; nada de ello se guarda ni se envía.
  • Cámara (CAMERA) para el lector de códigos y el escáner de documentos. El lector de códigos analiza la imagen en el dispositivo y la descarta; el escáner de documentos pone la captura directamente en la caja fuerte cifrada de tu dispositivo. Ninguna imagen sale del teléfono.
  • Bluetooth (BLUETOOTH_SCAN, BLUETOOTH_CONNECT, BLUETOOTH_ADVERTISE; por debajo de Android 12, BLUETOOTH y BLUETOOTH_ADMIN) para la mensajería Bluetooth. Se solicita cuando abres esa pantalla. La búsqueda lleva el indicador neverForLocation: sirve para encontrar dispositivos y no se usa para deducir tu ubicación. Si lo rechazas, la mensajería sigue funcionando por la Wi-Fi local. El Bluetooth no es un requisito de la app: si el dispositivo no lo tiene, solo falta esa pantalla.
  • Servicio en primer plano (FOREGROUND_SERVICE, FOREGROUND_SERVICE_LOCATION) para dos funciones: la grabación de recorridos en el mapa y la baliza de posición de la sección SOS, que recuerda dónde estás con el intervalo que tú fijas. Son las dos únicas cosas que siguen funcionando con la app cerrada, y cada una solo mientras la hayas iniciado: de «iniciar» a «detener», nunca de forma automática, nunca tras un reinicio del teléfono. Una notificación con un botón de detener permanece visible en la barra de estado todo el tiempo. El recorrido y los puntos se guardan en el dispositivo y no se envían a ninguna parte; puedes borrar ambos en la app. La baliza no transmite nada por sí misma: cuando pulsas, coloca un texto con la hora, las coordenadas y un enlace de OpenStreetMap en el menú de compartir de tu teléfono, y a dónde va lo decides tú en el paso siguiente.
  • Las bibliotecas añaden: com.android.vending.BILLING, INTERNET y ACCESS_NETWORK_STATE para la compra, además de USE_BIOMETRIC y USE_FINGERPRINT para el bloqueo de la app y la caja fuerte.
  • Cifrado mediante el Android Keystore. La caja fuerte de documentos cifra con AES-256-GCM; la clave maestra reside en el keystore del dispositivo y no se puede extraer. Se puede anteponer la huella dactilar, el rostro o el código del dispositivo. Donde el texto anterior menciona la protección de datos de iOS y el llavero, el Android Keystore ocupa ese lugar.
  • La copia de seguridad y la exportación funcionan como se ha descrito: solo cuando las activas, cifradas con tu contraseña y guardadas donde tú las pongas.

El mapa sin conexión, la meteorología, la mensajería Bluetooth y el escáner de alimentos ya están incluidos y descritos más arriba. En cuanto la versión para Android incorpore otra de las funciones que por ahora solo tiene la versión para iOS (Wikipedia, prospectos o el asistente de IA), este apartado se actualizará previamente. Los seis destinos que entran en consideración para ello ya figuran arriba en su totalidad.

Plazo de conservación y eliminación

Todos los datos residen exclusivamente en tu dispositivo y permanecen guardados hasta que los elimines en la app o la desinstales. Una exportación cifrada (copia de seguridad) solo se realiza cuando tú la activas, y se guarda donde tú elijas.

Tus derechos

Te asisten los derechos previstos en los arts. 15 a 21 del RGPD (acceso, rectificación, supresión, limitación, oposición, portabilidad de los datos), así como el derecho a presentar una reclamación ante una autoridad de control (art. 77 del RGPD). Como todos los datos residen en local en tu dispositivo, puedes ejercer el acceso, la rectificación y la supresión en cualquier momento directamente en la app. Para cualquier pregunta, escribe a survkit@borisniehaus.de.

Apple y Google como plataformas de distribución

SurvKit se distribuye a través del App Store de Apple y de Google Play. La obtención de la app en cualquiera de las dos tiendas está sujeta al tratamiento de datos propio de Apple o de Google (p. ej., en el marco de tu cuenta y de la descarga), se rige por sus políticas de privacidad y queda fuera del ámbito de influencia del responsable del tratamiento.

Cookies y rastreo

SurvKit no utiliza cookies, no realiza rastreo y no integra SDK de analítica ni de publicidad. No hay identificadores publicitarios, ni elaboración de perfiles, ni reconocimiento entre dispositivos. El único SDK de diagnóstico integrado es Sentry para los informes de fallos: limitado a los fallos, sin comportamiento de uso y desactivable en cualquier momento (véase más arriba). La versión para Android ni siquiera contiene eso.

Última actualización

2026-09-15

← Volver a la página de la app