‹ Pulso

Pulso

Política de Privacidad

Versión 1.0 · Vigente desde: 30 de agosto de 2026

Responsable del tratamiento: grAppe, Colombia — grappestudio@gmail.com Contacto: grappestudio@gmail.com

Pulso es una aplicación gratuita que muestra información pública de lluvia, nivel de ríos, calidad del aire, clima y movilidad para el Valle de Aburrá. Esta política explica qué datos trata la aplicación, con qué finalidad, y qué opciones tiene usted.

Escrita en español (Colombia), que es la versión que prevalece en caso de discrepancia con cualquier traducción.

1. Resumen

2. Datos que usted nos proporciona

Pulso no tiene cuentas ni registro. Hay una sola función en la que usted puede enviarnos información, y siempre es usted quien la inicia.

2.1 Sugerencias y reportes de fallos

Desde Ajustes → Enviar sugerencia o reportar un fallo (también disponible en la pestaña Información) usted puede escribirnos. Antes de enviar, la app le muestra exactamente lo que se va a enviar, con los valores reales, en un bloque desplegable llamado «Qué se envía».

Se envía:

No se envía, y esto es deliberado:

Como no se envía ningún identificador, no podemos saber qué reportes son suyos, ni relacionarlos con usted ni entre ellos. Eso es intencional, y tiene una consecuencia que conviene decir claramente: tampoco podemos recuperar ni borrar un reporte concreto a petición suya (véase la sección 8).

Para evitar abusos, nuestro servidor procesa momentáneamente la dirección IP desde la que llega el reporte, únicamente para limitar cuántos mensajes puede enviar un mismo origen. Esa dirección no se guarda junto al reporte; se convierte en un valor cifrado de un solo sentido que cambia cada día y se descarta a las pocas horas.

Los reportes se conservan como máximo 400 días (véase la sección 7).

2.2 Correo electrónico

Si usted nos escribe voluntariamente a grappestudio@gmail.com, trataremos su correo y el contenido de su mensaje únicamente para responderle.

3. Datos que se recogen automáticamente

Pulso utiliza servicios de Firebase, de Google LLC, que actúa como encargado del tratamiento. Estos servicios recogen lo siguiente:

3.1 Informes de fallos (Firebase Crashlytics)

Cuando la aplicación se cierra inesperadamente o registra un error, se envía un informe que incluye la traza del fallo, el modelo del dispositivo, la versión del sistema operativo, la versión de la aplicación, el estado de memoria y disco, y un identificador de instalación generado por Firebase.

Adjuntamos además tres claves propias para poder reproducir el fallo: la capa del mapa que estaba activa (layer), la versión de la aplicación (app_version) y el idioma del dispositivo (locale).

Finalidad: corregir errores. Base legal: interés legítimo en mantener la aplicación funcionando.

3.2 Rendimiento (Firebase Performance Monitoring)

Duración del arranque, del renderizado de pantallas y de las peticiones de red, junto con datos técnicos del dispositivo y la red — todo ello recogido automáticamente por el SDK.

Pulso añade dos trazas propias, que miden únicamente duraciones:

TrazaQué mide
layer_time_to_datacuánto tardó una capa del mapa en mostrar sus datos, con la capa y si los datos vinieron de la red, de la caché del dispositivo, de un archivo incluido en la app, o ya estaban cargados
siata_refreshcuánto tardó una actualización completa de datos

Ninguna contiene texto escrito por usted ni su ubicación.

Se rige por el mismo interruptor que la analítica de uso: Ajustes → Privacidad → «Compartir estadísticas de uso» desactiva también la recolección de rendimiento, incluida la parte automática descrita arriba.

Finalidad: detectar lentitud y peticiones que fallan.

3.3 Analítica de uso (Firebase Analytics)

Pulso registra 47 eventos propios. Ninguno contiene texto escrito por usted, ni su ubicación ni nada derivado de ella.

Qué mideEventos
Qué capa o pantalla está viendo, y por cuánto tiempolayer_switch, layer_dwell, slot5_swap, bar_expand, screen_view, settings_open, info_open, alerts_open, splash_complete
Qué toca en el mapacallout_open, map_sample, radar_play, radar_scrub, radar_jump_live, radar_expand, forecast_slot_change, air_submetric_change, bike_intent_change, bus_route_select, metro_line_reveal, transit_list_toggle
Si los datos realmente cargaron, para distinguir «todo despejado» de «no teníamos datos»refresh, data_outcome, overlay_empty, notice_shown, layer_hidden_remote, rc_unknown_layer_key
Cuánto tardaron las cosasrequest_timing, layer_time_to_data
Si las alertas le llegan y le sirvenalert_banner_shown, alert_navigate, alert_dismiss, alert_pref_change, push_open, push_suppressed, push_permission
Permisos y preferenciaslocation_primer_shown, location_result, home_zone_set, setting_change
Salud de la app y bloqueo por versióninfo_link_tap, diagnostics_open, feedback_open, feedback_submit, update_required_shown, update_required_tap, review_prompt_requested

Dos merecen decirse en detalle, porque son los que con razón le preocuparían:

También asociamos unas pocas propiedades de usuario a esta instalación para poder leer las cifras por segmento: sus preferencias de apariencia, temperatura y unidades, si los permisos de notificación y ubicación están concedidos, si hay un municipio de referencia guardado (un sí/no, nunca cuál) y qué capa del mapa usa más esta instalación.

Puede desactivar todo esto. Ajustes → Privacidad → «Compartir estadísticas de uso». Viene activado, y al desactivarlo Firebase Analytics deja de recoger absolutamente nada de esta instalación, incluidos los eventos automáticos descritos en el párrafo siguiente. Los informes de fallos (§3.1) son aparte y siguen activos, para poder corregir el error que usted encuentre.

Debe saber además que el propio SDK de Firebase Analytics recoge, por su cuenta y de forma estándar, eventos automáticos (primera apertura, sesiones, actualización de la aplicación), características del dispositivo, y una ubicación aproximada de nivel país o región derivada de la dirección IP — no del GPS. Esa deducción la hace Google, no Pulso, y no le da a Pulso su ubicación.

Los eventos se asocian a un identificador de instancia de aplicación creado por Firebase. Ese identificador no está vinculado a su nombre, su correo ni su cuenta, y se restablece si usted desinstala y vuelve a instalar la aplicación.

Finalidad: entender qué partes de la aplicación se usan, para decidir qué mejorar.

3.4 Configuración remota (Firebase Remote Config)

La aplicación consulta periódicamente una configuración en el servidor (qué capas mostrar, si hay un aviso de mantenimiento, si las alertas están habilitadas). La consulta transmite el identificador de instalación y datos técnicos del dispositivo. No se envía nada sobre su uso.

3.5 Notificaciones (Firebase Cloud Messaging y APNs)

Las alertas de Pulso son difusiones a un tema: el dispositivo se suscribe y el servidor publica un mensaje para todos los suscriptores.

Esto tiene una consecuencia deliberada y favorable para usted: Pulso no almacena, no transmite y no lleva ningún registro del identificador de su dispositivo. No existe una base de datos de dispositivos, porque el envío por temas no la necesita.

El nombre del tema depende de lo que usted elija en la pantalla Alertas:

⚠️ Conviene que sepa lo que esto implica. Pulso no recibe esa información, pero la suscripción se hace ante Firebase Cloud Messaging (Google), de modo que Google puede saber que este dispositivo escucha los avisos de crecientes de un municipio determinado. Es el precio de que su teléfono no suene por avisos de la otra punta del valle. Si prefiere evitarlo, no guarde lugares: sin lugares guardados el dispositivo se suscribe únicamente al tema general del valle, que no dice nada sobre dónde está usted.

El sistema operativo genera un token de notificación (FCM en Android, APNs en iOS) que permanece en el dispositivo. Solo aparece en las versiones internas de desarrollo, en la pantalla Información, para poder enviar una notificación de prueba a mano; copiarlo es una acción suya, nunca automática. Las versiones publicadas no lo muestran en ninguna pantalla.

3.6 Verificación de la aplicación (Firebase App Check — solo iOS)

En las versiones publicadas, iOS utiliza App Attest de Apple para certificar ante nuestro servidor que la petición viene de una copia auténtica de Pulso y no de un script. Es una comprobación criptográfica del dispositivo; no identifica a la persona.

3.7 Ubicación (una lectura puntual, opcional)

Esta sección describe la única forma en que Pulso puede usar su ubicación.

Qué ocurre. La aplicación puede pedir permiso para tomar una lectura de su posición. En iOS esto ocurre al tocar «Usar mi ubicación» en la pantalla de Alertas, y al abrir la aplicación en el pronóstico si ya tenía el permiso concedido. En Android ocurre la primera vez que se abre el pronóstico, si usted lo permite. Si lo concede, la aplicación solicita una lectura de posición, la compara con los límites municipales que vienen incluidos en la aplicación, obtiene el nombre de la zona —por ejemplo envigado— y descarta la coordenada inmediatamente.

Por qué iOS la repite al abrir. Porque el municipio guardado envejece: quien se mudó, o quien tocó una vez otro municipio en el mapa por curiosidad, seguía viendo ese pronóstico para siempre aunque el permiso de ubicación estuviera concedido. Cada lectura sustituye a la anterior — no se acumulan, no se guardan, y ninguna sale del teléfono. Lo que usted elija a mano en el selector o tocando el mapa manda durante esa sesión: la ubicación no le lleva la contraria.

Si no concede el permiso, no se elige ningún municipio. La aplicación no adivina uno, y tampoco conserva el que dedujo de una lectura anterior: el pronóstico aparece sin municipio, con el texto «Selecciona un municipio primero», hasta que usted elija uno. El que usted haya elegido a mano sí se conserva, porque no es una suposición.

Qué se guarda: el nombre de la zona, en el dispositivo. Qué no se guarda ni se transmite jamás: la coordenada, la altitud, la precisión, la velocidad, la hora del posicionamiento, ni ningún historial. No se adjunta a ningún evento de analítica, ni a un reporte de fallo, ni a una sugerencia.

No hay seguimiento continuo. La aplicación no usa localización en segundo plano, ni geocercas, ni región monitorizada, ni actualizaciones significativas de ubicación. Pide una lectura, la convierte en un nombre y termina.

Puede prescindir de ella por completo. La misma pantalla permite elegir los lugares de una lista de trece zonas, sin conceder ningún permiso. Funciona exactamente igual de bien en ambas plataformas.

En la declaración de privacidad de Apple esto se declara como Precise Location, no como Coarse Location, aunque la aplicación pida una precisión de cien metros: esa cifra es una indicación para el sistema, no un límite, y Apple exige declarar el dato más granular que el código podría recibir. En Android la aplicación solicita ACCESS_COARSE_LOCATION (solo aproximada), por lo que el formulario de Play declara Approximate location.

4. Datos que se guardan únicamente en su dispositivo

Nunca se envían a ningún servidor y desaparecen al desinstalar la aplicación:

En Android, las copias de seguridad están desactivadas (allowBackup="false"), de modo que nada de lo anterior se sube a Google Drive.

5. Terceros a los que su dispositivo se conecta directamente

Pulso obtiene los datos directamente de las fuentes públicas. Cuando lo hace, esos servidores reciben, como en cualquier petición de internet, la dirección IP de su dispositivo y la información técnica de la conexión. Pulso no les envía nada más.

ServidorPara quéResponsable
siata.gov.co, geoportal.siata.gov.colluvia, radar, nivel de ríos, calidad del aire, climaSIATA / Área Metropolitana del Valle de Aburrá
www.metrodemedellin.gov.coestaciones y líneas del MetroMetro de Medellín
www.datos.gov.coconjuntos de datos abiertosGobierno de Colombia
api.citybik.esestaciones y bicicletas de EnCiclaCityBikes (proveedor privado)
Servicios de Google/Firebaseanalítica, fallos, configuración, notificacionesGoogle LLC
SDK de Google Maps (solo Android)el mapa baseGoogle LLC
MapKit (solo iOS)el mapa baseApple Inc.

Estos terceros tratan esos datos bajo sus propias políticas, que no controlamos:

Pulso no tiene relación oficial con SIATA, el Área Metropolitana del Valle de Aburrá, el Metro de Medellín ni EnCicla. Utiliza sus datos públicos con atribución.

6. Transferencias internacionales

Los servicios de Firebase procesan y almacenan los datos descritos en la sección 3 en servidores de Google fuera de Colombia, principalmente en Estados Unidos. Google se acoge a las cláusulas contractuales tipo y a los marcos de transferencia aplicables. Al usar Pulso, usted acepta esta transferencia, que es imprescindible para el funcionamiento de los servicios de fallos y analítica.

7. Conservación

8. Sus derechos

Conforme a la Ley 1581 de 2012 y al Decreto 1377 de 2013 de Colombia, usted tiene derecho a conocer, actualizar, rectificar y suprimir sus datos personales, a solicitar prueba de la autorización otorgada, a ser informado sobre el uso que se les ha dado, a presentar quejas ante la Superintendencia de Industria y Comercio y a revocar la autorización.

Si usted se encuentra en el Espacio Económico Europeo o el Reino Unido, dispone además de los derechos de acceso, rectificación, supresión, limitación, portabilidad y oposición previstos en el RGPD.

Una advertencia honesta sobre cómo ejercerlos: Pulso no guarda ningún dato que le identifique, de modo que en la práctica no podemos localizar "sus" datos dentro de la analítica ni de los informes de fallos, ni siquiera si usted nos lo pide. Son anónimos respecto de usted por diseño. Lo que sí puede hacer, con efecto inmediato:

Para cualquier solicitud o consulta: grappestudio@gmail.com. Responderemos en un plazo máximo de quince (15) días hábiles, conforme a la Ley 1581.

9. Menores de edad

Pulso no está dirigida a menores de 13 años y no recoge conscientemente datos de menores. No hay contenido generado por usuarios, ni mensajería, ni compras dentro de la aplicación.

10. Seguridad

Todas las conexiones de la aplicación usan HTTPS. La aplicación no almacena credenciales. El acceso administrativo al proyecto de Firebase está restringido y protegido con autenticación de dos factores; las reglas de la base de datos permiten únicamente la lectura pública de un documento de estado del servicio, y deniegan toda escritura desde los clientes.

Ningún sistema es infalible: no podemos garantizar la seguridad absoluta de una transmisión por internet.

11. Cambios en esta política

Si esta política cambia de forma sustancial, publicaremos la nueva versión en https://grappe-studio.netlify.app/pulso/es/privacy.html con una fecha de vigencia actualizada, y — cuando el cambio lo amerite — lo anunciaremos dentro de la aplicación. El uso continuado tras la fecha de vigencia implica la aceptación de la versión revisada.

12. Contacto

grAppe Colombia grappestudio@gmail.com