Versão 1.4 · Vigente desde: 19 de outubro de 2026
Responsável pelo tratamento: grAppe, Colômbia Contato: grappestudio@gmail.com
O Pulso é um aplicativo gratuito que exibe informações públicas de chuva, nível dos rios, qualidade do ar, clima e mobilidade para o Vale do Aburrá (Medellín, Colômbia). Esta política explica quais dados o aplicativo trata, com que finalidade e quais opções você tem.
Este documento é uma tradução. A versão em espanhol (Colômbia) no endereço https://grappe-studio.netlify.app/pulso/es/privacy.html prevalece em caso de divergência.
O Pulso não tem contas nem cadastro. Existe um recurso pelo qual você pode nos enviar informações, e é sempre você quem o inicia.
Em Ajustes → Enviar uma sugestão ou relatar uma falha (também disponível na aba Informações) você pode nos escrever. Antes do envio, o aplicativo mostra exatamente o que será enviado, com os valores reais, em um bloco expansível chamado «O que é enviado».
Enviado:
Não enviado, deliberadamente:
Como nenhum identificador é enviado, não temos como saber quais relatos são seus, nem ligá-los a você ou entre si. Isso é intencional, e tem uma consequência que vale dizer com clareza: também não podemos recuperar nem apagar um relato específico a seu pedido (veja a seção 8).
Para evitar abusos, nosso servidor processa momentaneamente o endereço IP de onde um relato chega, apenas para limitar quantas mensagens uma mesma origem pode enviar. Esse endereço não é guardado junto com o relato; ele vira um valor com hash de mão única que muda diariamente e é descartado em algumas horas.
Os relatos são mantidos por no máximo 400 dias (veja a seção 7).
Se você escrever voluntariamente para grappestudio@gmail.com, tratamos seu endereço e sua mensagem apenas para responder a você.
O Pulso usa serviços do Firebase, da Google LLC, que atua como nosso encarregado do tratamento.
Quando o aplicativo fecha inesperadamente ou registra um erro, um relatório é enviado contendo o rastreamento da falha, o modelo do dispositivo, a versão do sistema operacional, a versão do aplicativo, o estado de memória e disco, e um identificador de instalação gerado pelo Firebase.
Anexamos três chaves próprias para que uma falha possa ser reproduzida: a camada do mapa ativa (layer), a versão do aplicativo (app_version) e o idioma do dispositivo (locale). Para problemas com alertas, anexamos também contagens — quantos alertas são mostrados, deixados de lado ou ainda não enviados, e quantas zonas você salvou, nunca quais —, qualquer ajuste que o aplicativo não tenha conseguido reconhecer e, quando falha a inscrição em um tópico de notificação, esse tópico sem a sua zona (por exemplo alerts_v2_river_zone).
Finalidade: corrigir erros. Base legal: interesse legítimo em manter o aplicativo funcionando.
Tempo de inicialização do aplicativo, tempo de renderização de tela e duração das requisições de rede, com dados técnicos do dispositivo e da rede, tudo coletado automaticamente pelo SDK.
O Pulso acrescenta duas traces próprias, que medem apenas durações:
| Trace | O que cronometra |
|---|---|
layer_time_to_data | quanto tempo uma camada do mapa levou para mostrar seus dados, marcada com qual camada e se os dados vieram da rede, do cache no aparelho, de um arquivo incluído no aplicativo, ou já estavam carregados |
siata_refresh | quanto tempo levou uma atualização completa dos dados |
Nenhuma das duas carrega qualquer coisa que você tenha digitado, nem a sua localização.
Isso é regido pelo mesmo interruptor da analítica de uso: Ajustes → Privacidade → «Compartir estadísticas de uso» também desativa a coleta de desempenho, incluindo a parte automática descrita acima.
Finalidade: detectar lentidão e requisições que falham.
O Pulso registra 59 eventos próprios. Nenhum deles contém nada que você tenha digitado, e nenhum contém a sua localização nem qualquer coisa derivada dela.
| O que mede | Eventos |
|---|---|
| Qual camada ou tela você está vendo, e por quanto tempo | layer_switch, layer_dwell, slot5_swap, bar_expand, screen_view, settings_open, info_open, alerts_open, splash_complete |
| No que você toca no mapa | callout_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 |
| Se os dados realmente carregaram, para distinguir «tudo tranquilo» de «não tínhamos dados» | refresh, data_outcome, overlay_empty, notice_shown, layer_hidden_remote, rc_unknown_layer_key |
| Quanto tempo as coisas levaram | request_timing, layer_time_to_data |
| Se os alertas chegam até você e são úteis | alert_banner_shown, alert_navigate, alert_dismiss, push_open, push_suppressed, push_permission |
| Permissões e preferências | location_primer_shown, location_result, home_zone_set, setting_change |
| Saúde do aplicativo e bloqueio de versão | info_link_tap, diagnostics_open, feedback_open, feedback_submit, update_required_shown, update_required_tap, review_prompt_requested |
| Se o botão de compartilhar, o lembrete de alertas e o widget da tela inicial são usados | share_app, alerts_promo_shown, alerts_promo_action, widget_open |
| Quais riscos os dados colocaram na tela, como são usados os carrosséis de alertas e o botão de alerta, e quais notificações você escolhe | alert_active, alert_carousel_shown, alert_carousel_swipe, alert_button_open, alert_panel_close, push_received, push_setting_change, push_scope_change, alert_place_change |
Três deles merecem ser detalhados, porque são os que você razoavelmente se preocuparia:
home_zone_set registra apenas como um município foi escolhido: por uma leitura de localização ou pela lista. Ele não registra qual. Nada derivado da sua localização é jamais anexado a um evento de analítica.feedback_submit registra apenas que uma mensagem foi enviada e se deu certo. Nunca contém a mensagem.alert_place_change registra apenas como a sua lista de zonas mudou (adicionada, editada, removida) e quantas zonas estão salvas. Nunca registra qual zona, nem o nome que você lhe deu.request_timing registra quanto tempo levou uma requisição a uma fonte de dados pública. O endereço é primeiro reduzido a um padrão (qualquer query string é descartada e quaisquer dígitos são substituídos), de modo que identifica o endpoint, nunca uma requisição específica, e não pode carregar nenhum token.Também anexamos a esta instalação um pequeno número de propriedades de usuário para que os números possam ser lidos por segmento: suas preferências de aparência, temperatura e unidades, se as permissões de notificação e localização foram concedidas, se um município de referência está definido (um sim/não, nunca qual), como ele foi escolhido (pela sua localização, pela lista, tocando no mapa, o exemplo de Medellín Centro, ou nenhum; nunca qual), se há um widget do Pulso na tela inicial (um sim/não), qual camada do mapa esta instalação mais usa, sobre quais tipos de alerta você escolheu ser notificado (por exemplo cheias e sismos), se essas notificações cobrem as suas zonas ou todo o vale, e quantas zonas você salvou (um número, nunca quais). No Android, o Google Play informa ao Firebase como o Pulso foi instalado: pela própria loja, ou a origem, o meio e a campanha do link que levou até lá (por exemplo, um link do nosso site).
Você pode desativar tudo isso. Ajustes → Privacidade → «Compartir estadísticas de uso». Vem ativado por padrão, e desativá-lo impede que o Firebase Analytics colete qualquer coisa desta instalação, incluindo os eventos automáticos descritos no parágrafo seguinte. Os relatórios de falhas (§3.1) são separados e continuam ativos, para que uma falha que você encontre ainda possa ser corrigida.
Você também deve saber que o próprio SDK do Firebase Analytics coleta, por conta própria e de forma padrão, eventos automáticos (primeira abertura, sessões, atualização do aplicativo), características do dispositivo, e uma localização aproximada de nível de país ou região derivada do endereço IP, não do GPS. Essa dedução é feita pela Google, não pelo Pulso, e não dá ao Pulso a sua localização.
Os eventos são associados a um identificador de instância do aplicativo criado pelo Firebase. Ele não está vinculado ao seu nome, email ou conta, e é redefinido se você desinstalar e reinstalar o aplicativo.
Finalidade: entender quais partes do aplicativo são usadas, para decidir o que melhorar.
O aplicativo consulta periodicamente uma configuração no servidor (quais camadas mostrar, se há um aviso de manutenção, se os alertas estão ativados). A requisição transmite o identificador de instalação e dados técnicos do dispositivo. Nada sobre seu uso é enviado.
Os alertas do Pulso são difusões por tópico: o dispositivo se inscreve e o servidor publica uma mensagem para todos os inscritos.
Isso tem uma consequência deliberada a seu favor: os servidores do Pulso nunca recebem, armazenam nem mantêm nenhum registro do identificador do seu dispositivo. Não existe um banco de dados de dispositivos, porque a entrega por tópicos não precisa de um.
Os tópicos dependem do que você escolhe em Ajustes → Notificações. As notificações ficam desligadas até você ativar um risco: até lá, os alertas aparecem apenas dentro do aplicativo, e o aparelho fica inscrito somente em um tópico geral compartilhado por todas as cópias do Pulso, reservado a anúncios excepcionais. Depois:
alerts_v2_seismic. O Metro tem um tópico por linha, por exemplo alerts_v2_metro_a, e o seu interruptor inscreve em todos;alerts_v2_river; com «Só minhas zonas», um tópico por zona salva em «Minhas zonas», por exemplo alerts_v2_river_envigado, e nenhum enquanto não houver zonas salvas;alerts_v2_general enquanto algum risco estiver ativado.⚠️ Você deve saber o que isso implica. O Pulso não recebe essa informação, mas a inscrição é feita junto ao Firebase Cloud Messaging (Google), de modo que com «Só minhas zonas» a Google pode saber que este aparelho ouve alertas de cheia de municípios específicos. Esse é o preço de o seu telefone não tocar por alertas do outro extremo do vale. Se preferir evitar isso, escolha «Todo o vale»: o aparelho então se inscreve apenas no tópico de todo o vale, que não diz nada sobre onde você está.
Para receber as mensagens dos tópicos, o aplicativo obtém um token de notificação do seu sistema operacional (APNs, no iOS) e do Firebase Cloud Messaging (FCM, nas duas plataformas). Esse token é enviado ao Google, porque o FCM precisa dele para entregar as mensagens dos tópicos em que o dispositivo está inscrito; os servidores do Pulso nunca o recebem. O aplicativo o obtém quer você tenha permitido as notificações ou não, para que os alertas funcionem assim que você os permitir. Ele só aparece nas versões internas de desenvolvimento, na tela Informações, para que se possa enviar uma notificação de teste manualmente; copiá-lo é uma ação sua, nunca automática. As versões publicadas não o mostram em nenhuma tela.
Em versões publicadas, o iOS usa o App Attest da Apple para certificar ao nosso servidor que uma requisição vem de uma cópia autêntica do Pulso e não de um script. É uma verificação criptográfica do dispositivo; não identifica uma pessoa.
Esta seção descreve as duas únicas formas pelas quais o Pulso pode usar sua localização: para saber sua zona e para mostrar onde você está no mapa.
Quando a permissão é pedida. Por conta própria, o aplicativo a pede uma única vez: alguns segundos depois que a previsão aparece na tela, se nunca a pediu antes, no Android e no iOS. Além disso, enquanto ela não estiver concedida, Ajustes mostra uma linha de localização: «Usar minha localização» abre o pedido do sistema e, se você já recusou, «Ativar nas configurações do telefone» leva você à página do Pulso nas configurações do telefone. Ela também pode ser pedida, nas duas plataformas, tocando em «Usar minha localização» ao adicionar ou editar uma zona (Ajustes → Notificações → Minhas zonas).
Sua zona. Com a permissão concedida, o aplicativo faz uma leitura de posição cada vez que é iniciado, e outra logo depois que você a concede. Ele compara essa leitura com os limites municipais incluídos no aplicativo, obtém o nome da zona (envigado, por exemplo) e descarta a coordenada na hora.
Por que a leitura se repete ao iniciar. Porque um município salvo fica desatualizado: quem se mudou, ou quem certa vez tocou em outro município no mapa por curiosidade, continuava vendo aquela previsão para sempre, mesmo com a permissão concedida. Cada leitura substitui a anterior: elas não se acumulam, nenhuma é armazenada e nenhuma sai do telefone. O que você escolhe à mão, no seletor ou tocando no mapa, prevalece pelo resto da sessão.
Se você não conceder a permissão, nenhum município é salvo. O aplicativo não mantém o que deduziu de uma leitura anterior. Alguns segundos depois de a previsão aparecer, ele mostra Medellín Centro como exemplo, para que a faixa da previsão descreva um lugar real: esse exemplo nunca é salvo, qualquer município que você escolher o substitui, e nem o widget da tela inicial nem os alertas o usam. O que você escolheu à mão é mantido, porque não é um palpite.
Sua posição no mapa. Com a permissão concedida, todos os mapas mostram onde você está com um ponto azul, um círculo mais claro que indica a precisão da leitura e um cone para a direção para a qual o telefone aponta. A direção vem da bússola do telefone, que não precisa de nenhuma permissão própria. Para manter o ponto atualizado, o sistema operacional atualiza a posição enquanto o aplicativo está aberto na tela; as atualizações param quando ele vai para segundo plano. A posição só é desenhada: não é armazenada, não é enviada a lugar nenhum, não move o mapa e não é usada para a zona.
O que é guardado: o nome da zona, no aparelho. O que nunca é armazenado nem transmitido: a coordenada, a altitude, a precisão, a velocidade, a direção da bússola, a hora de qualquer leitura, ou qualquer histórico. Nada disso é anexado a um evento de analítica, a um relatório de falha ou a uma sugestão.
Não há rastreamento. O aplicativo não usa localização em segundo plano, nem geocercas, nem monitoramento de região, nem atualizações por mudança significativa. Para sua zona ele pede uma leitura, transforma em nome, e para; o ponto do mapa só existe na tela, e nada do que ele mostra é guardado.
Você pode evitar isso completamente. A mesma tela permite escolher lugares em uma lista de treze zonas sem conceder nenhuma permissão, e funciona exatamente igual nas duas plataformas. Sem permissão, os mapas simplesmente não mostram o ponto.
Na declaração de privacidade da Apple isso é declarado como Precise Location, não Coarse Location, mesmo que a leitura da zona peça precisão de cem metros: esse número é uma dica para o sistema, não um limite, e a Apple exige declarar o dado mais granular que o código poderia receber. No Android o aplicativo solicita ACCESS_FINE_LOCATION junto com ACCESS_COARSE_LOCATION, de modo que o diálogo do sistema deixa você escolher entre localização precisa ou aproximada, e o formulário do Play Data Safety declara Localização precisa.
Nunca transmitidos a lugar nenhum, e removidos quando você desinstala o aplicativo:
envigado), nunca uma coordenada. Ao contrário da zona do mapa, tocar no mapa não a altera.envigado,bello), nunca como coordenadas, cada uma com o nome que você quiser dar a ela («Casa», «Casa da mamãe»). Você as escolhe de uma lista; nas duas plataformas você também pode usar sua localização uma única vez para preencher uma, e apenas a zona resultante é guardada (veja 3.7). ⚠️ A lista e os seus nomes nunca saem do aparelho, mas com «Só minhas zonas» as zonas determinam em quais tópicos de notificação o aparelho se inscreve: veja o aviso em 3.5.No Android, os backups estão desativados (allowBackup="false"), de modo que nada disso é enviado ao Google Drive.
O Pulso obtém os dados diretamente das fontes públicas. Ao fazê-lo, esses servidores recebem, como em qualquer requisição de internet, o endereço IP do seu dispositivo e informações técnicas de conexão. O Pulso não lhes envia nada além disso.
| Servidor | Para quê | Operado por |
|---|---|---|
siata.gov.co, geoportal.siata.gov.co | chuva, radar, níveis dos rios, qualidade do ar, clima | SIATA / Área Metropolitana del Valle de Aburrá |
www.metrodemedellin.gov.co | estações e linhas do Metrô | Metro de Medellín |
www.datos.gov.co | conjuntos de dados abertos | Governo da Colômbia |
api.citybik.es | estações e bicicletas EnCicla | CityBikes (provedor privado) |
| Serviços Google/Firebase | analítica, falhas, configuração, notificações | Google LLC |
| SDK do Google Maps (apenas Android) | o mapa base | Google LLC |
| MapKit (apenas iOS) | o mapa base | Apple Inc. |
Esses terceiros tratam esses dados sob suas próprias políticas, que não controlamos:
O Pulso não tem relação oficial com o SIATA, a Área Metropolitana del Valle de Aburrá, o Metro de Medellín ou a EnCicla. Usa seus dados públicos com atribuição.
O Firebase processa e armazena os dados descritos na seção 3 em servidores da Google fora da Colômbia, principalmente nos Estados Unidos. A Google se apoia em cláusulas contratuais padrão e nos marcos de transferência aplicáveis. Ao usar o Pulso, você aceita essa transferência, que é necessária para o funcionamento dos serviços de relatórios de falhas e analítica.
Conforme a Lei 1581 de 2012 e o Decreto 1377 de 2013 da Colômbia, você tem direito a conhecer, atualizar, retificar e excluir seus dados pessoais, a solicitar prova da autorização concedida, a ser informado sobre como foram usados, a apresentar reclamações à Superintendencia de Industria y Comercio e a revogar sua autorização.
Se você estiver no Espaço Econômico Europeu ou no Reino Unido, tem também os direitos do RGPD de acesso, retificação, exclusão, limitação, portabilidade e oposição.
Uma advertência honesta sobre como exercê-los: o Pulso não guarda nenhum dado que identifique você, de modo que na prática não podemos localizar os "seus" dados dentro da analítica ou dos relatórios de falhas, mesmo que você peça. Por design, são anônimos em relação a você. O que você pode fazer, com efeito imediato:
Para qualquer solicitação ou dúvida: grappestudio@gmail.com. Respondemos em até quinze (15) dias úteis, conforme a Lei 1581.
O Pulso não é dirigido a crianças menores de 13 anos e não coleta intencionalmente seus dados. Não há conteúdo gerado por usuários, nem mensagens, nem compras integradas.
Todas as conexões do aplicativo usam HTTPS. O aplicativo não armazena credenciais. O acesso administrativo ao projeto Firebase é restrito e protegido com autenticação de dois fatores; as regras do banco de dados permitem apenas leitura pública de um único documento de estado do serviço e negam toda escrita pelos clientes.
Nenhum sistema é infalível: não podemos garantir a segurança absoluta de nenhuma transmissão pela internet.
Se esta política mudar de forma substancial, publicaremos a nova versão em https://grappe-studio.netlify.app/pulso/es/privacy.html com uma data de vigência atualizada e, quando a mudança o justificar, anunciaremos dentro do aplicativo. O uso continuado após a data de vigência constitui aceitação da versão revisada.
grAppe Colômbia grappestudio@gmail.com
As páginas de https://grappe-studio.netlify.app/pulso/ contam as visitas com o Google Analytics 4 (Google LLC, como operador), e somente se você aceitar no aviso exibido na sua primeira visita. Nada é instalado nem enviado antes da sua escolha, e nada mesmo se você recusar.
Se você aceitar, o Google Analytics instala os seus cookies (_ga e _ga_ seguido de um identificador), limitados às páginas de /pulso/ e mantidos por cerca de 13 meses, e registra as páginas visitadas, como você chegou (um buscador, outro site, um link compartilhado), uma região aproximada derivada do seu endereço IP, o tipo de navegador e de dispositivo, e os cliques em links que saem do site, como os botões da App Store e do Google Play. Os recursos de publicidade e os sinais do Google estão desativados. Esses dados são mantidos por 14 meses e não são vinculados ao aplicativo nem a nenhuma instalação do aplicativo.
A sua escolha fica guardada apenas no seu navegador. Você pode alterá-la a qualquer momento pelo link Cookies no rodapé de cada página do Pulso; retirar o consentimento apaga esses cookies.