‹ Pulso

Pulso

Política de Privacidad

Versión 1.4 · Vigente desde: 19 de octubre 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). Para los problemas con las alertas adjuntamos también recuentos —cuántas alertas se muestran, se apartan o aún no se envían, y cuántas zonas guardó usted, nunca cuáles—, cualquier ajuste que la aplicación no haya podido reconocer y, cuando falla la suscripción a un tema de notificación, ese tema sin su zona (por ejemplo alerts_v2_river_zone).

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 59 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, 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
Si se usan el botón de compartir, el recordatorio de alertas y el widget de la pantalla de inicioshare_app, alerts_promo_shown, alerts_promo_action, widget_open
Qué amenazas puso en pantalla la información, cómo se usan los carruseles de alertas y el botón de aviso, y qué notificaciones eligealert_active, alert_carousel_shown, alert_carousel_swipe, alert_button_open, alert_panel_close, push_received, push_setting_change, push_scope_change, alert_place_change

Tres 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), cómo se eligió (por su ubicación, de la lista, tocando el mapa, el ejemplo de Medellín Centro, o ninguno; nunca cuál), si hay un widget de Pulso en la pantalla de inicio (un sí/no), qué capa del mapa usa más esta instalación, de qué tipos de alerta eligió recibir notificaciones (por ejemplo crecientes y sismos), si esas notificaciones cubren sus zonas o todo el valle, y cuántas zonas guardó (un número, nunca cuáles). En Android, Google Play le indica a Firebase cómo se instaló Pulso: desde la propia tienda, o el origen, el medio y la campaña del enlace que llevó allí (por ejemplo, un enlace de nuestro sitio web).

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: los servidores de Pulso nunca reciben, almacenan ni registran el identificador de su dispositivo. No existe una base de datos de dispositivos, porque el envío por temas no la necesita.

Los temas dependen de lo que usted elija en Ajustes → Notificaciones. Las notificaciones están apagadas hasta que active un tipo de aviso: mientras tanto las alertas solo aparecen dentro de la aplicación, y el dispositivo está suscrito únicamente a un tema general que comparten todas las copias de Pulso, reservado para anuncios excepcionales. Después:

⚠️ 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 con «Solo mis zonas» Google puede saber que este dispositivo escucha los avisos de crecientes de municipios determinados. Es el precio de que su teléfono no suene por avisos de la otra punta del valle. Si prefiere evitarlo, elija «Todo el valle»: el dispositivo se suscribe entonces únicamente al tema de todo el valle, que no dice nada sobre dónde está usted.

Para recibir los mensajes de los temas, la aplicación obtiene un token de notificación del sistema operativo (APNs, en iOS) y de Firebase Cloud Messaging (FCM, en ambas plataformas). Ese token se envía a Google, porque FCM lo necesita para entregar los mensajes de los temas a los que está suscrito el dispositivo; los servidores de Pulso nunca lo reciben. La aplicación lo obtiene haya permitido usted las notificaciones o no, para que las alertas funcionen en cuanto las permita. 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 (opcional)

Esta sección describe las dos únicas formas en que Pulso puede usar su ubicación: para saber su zona y para mostrar dónde está en el mapa.

Cuándo se pide el permiso. Por su cuenta, la aplicación lo pide una sola vez: unos segundos después de que el pronóstico aparezca en pantalla, si nunca lo había pedido, en Android y en iOS. Además, mientras no esté concedido, Ajustes muestra una fila de ubicación: «Usar mi ubicación» abre la petición del sistema y, si usted ya lo negó, «Activar en la configuración del teléfono» le lleva a la página de Pulso en la configuración del teléfono. También puede pedirse, en ambas plataformas, al tocar «Usar mi ubicación» al añadir o editar una zona (Ajustes → Notificaciones → Mis zonas).

Su zona. Con el permiso concedido, la aplicación toma una lectura de su posición cada vez que se inicia, y otra justo después de que usted lo conceda. Compara esa lectura 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é se repite al iniciar. 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 guarda ningún municipio. La aplicación no conserva el que dedujo de una lectura anterior. Unos segundos después de aparecer el pronóstico muestra Medellín Centro como ejemplo, para que la franja del pronóstico describa un lugar real: ese ejemplo nunca se guarda, lo reemplaza cualquier municipio que usted elija, y ni el widget de la pantalla de inicio ni las alertas lo usan. El que usted haya elegido a mano sí se conserva, porque no es una suposición.

Su posición en el mapa. Con el permiso concedido, todos los mapas muestran dónde está usted con un punto azul, un círculo más claro que indica la precisión de la lectura y un cono hacia donde apunta el teléfono. La dirección sale de la brújula del teléfono, que no necesita ningún permiso propio. Para mantener el punto al día, el sistema operativo actualiza la posición mientras la aplicación está abierta en pantalla; las actualizaciones se detienen cuando pasa a segundo plano. La posición solo se dibuja: no se guarda, no se envía a ningún lugar, no mueve el mapa y no se usa para la zona.

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 dirección de la brújula, la hora de cualquier lectura, ni ningún historial. Nada de ello se adjunta a ningún evento de analítica, ni a un reporte de fallo, ni a una sugerencia.

No hay seguimiento. La aplicación no usa localización en segundo plano, ni geocercas, ni región monitorizada, ni actualizaciones significativas de ubicación. Para su zona pide una lectura, la convierte en un nombre y termina; el punto del mapa solo existe en pantalla, y nada de lo que muestra se conserva.

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. Sin permiso, los mapas simplemente no muestran el punto.

En la declaración de privacidad de Apple esto se declara como Precise Location, no como Coarse Location, aunque la lectura de la zona 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_FINE_LOCATION junto con ACCESS_COARSE_LOCATION, de modo que el diálogo del sistema le deja elegir entre ubicación precisa o aproximada, y el formulario de Play declara Precise 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

13. Este sitio web

Las páginas de https://grappe-studio.netlify.app/pulso/ cuentan las visitas con Google Analytics 4 (Google LLC, como encargado del tratamiento), y solo si usted lo acepta en el aviso que aparece en su primera visita. Antes de que elija no se instala ni se envía nada, y si lo rechaza, nada en absoluto.

Si lo acepta, Google Analytics instala sus cookies (_ga y _ga_ seguida de un identificador), limitadas a las páginas de /pulso/ y conservadas unos 13 meses, y registra las páginas que visita, cómo llegó (un buscador, otro sitio web, un enlace compartido), una región aproximada derivada de su dirección IP, el tipo de navegador y de dispositivo, y los clics en enlaces que salen del sitio, como los botones de la App Store y de Google Play. Las funciones publicitarias y las señales de Google están desactivadas. Estos datos se conservan 14 meses y no se vinculan con la aplicación ni con ninguna instalación de la aplicación.

Su elección se guarda solo en su navegador. Puede cambiarla en cualquier momento desde el enlace Cookies al pie de cada página de Pulso; retirar su consentimiento borra esas cookies.