Versão 1.0 · Vigente desde: 30 de agosto 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).
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 47 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, alert_pref_change, 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 |
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.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), e qual camada do mapa esta instalação mais usa.
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 (alerts_v1): o dispositivo se inscreve e o servidor publica uma mensagem para todos os inscritos.
Isso tem uma consequência deliberada a seu favor: o Pulso não armazena, não transmite e não 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.
O nome do tópico depende do que você escolhe na tela Alertas:
alerts_v1_river;alerts_v1_river_envigado.⚠️ 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 a Google pode saber que este aparelho ouve alertas de cheia de um município específico. Esse é o preço de o seu telefone não tocar por alertas do outro extremo do vale. Se preferir evitar isso, não salve lugares: sem lugares salvos, o aparelho se inscreve apenas no tópico de todo o vale, que não diz nada sobre onde você está.
O seu sistema operacional gera um token de notificação (FCM no Android, APNs no iOS) que fica no dispositivo. 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 a única forma pela qual o Pulso pode usar sua localização.
O que acontece. O aplicativo pode pedir permissão para fazer uma leitura de posição. No iOS, isso acontece quando você toca «Usar minha localização» na tela de Alertas, e ao abrir o aplicativo na previsão se a permissão já tiver sido concedida. No Android, acontece na primeira vez que você abre a previsão, se permitir. O aplicativo então 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 o iOS repete ao abrir. 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 é selecionado. O aplicativo não adivinha um nem mantém um deduzido de uma leitura anterior: a previsão abre sem município até que você escolha. O que você escolheu à mão é mantido, porque não é um palpite.
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 hora da 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 contínuo. O aplicativo não usa localização em segundo plano, nem geocercas, nem monitoramento de região, nem atualizações por mudança significativa. Ele pede uma leitura, transforma em nome, e para.
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.
Na declaração de privacidade da Apple isso é declarado como Precise Location, não Coarse Location, mesmo que o aplicativo 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_COARSE_LOCATION (apenas aproximada), então o formulário do Play Data Safety declara Localização aproximada.
Nunca transmitidos a lugar nenhum, e removidos quando você desinstala o aplicativo:
envigado,bello — nunca como coordenadas. Você os escolhe de uma lista; nas duas plataformas você também pode usar sua localização uma única vez para preencher um, e apenas a zona resultante é guardada (veja 3.7). ⚠️ A lista em si nunca sai do aparelho, mas determina 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