Avaliação de Impacto sobre a Proteção de Dados (DPIA)
1. Responsável pelo tratamento
- Entidade: Trilho (projeto de fundador único; entidade jurídica a constituir).
- Contacto: feedback@trilhoapp.com.
- Encarregado de proteção de dados: não designado nesta fase (abaixo dos limiares do art. 37.º, n.º 1). A reavaliar quando o número de utilizadores ativos mensais ultrapassar 250 000.
2. Descrição do tratamento
O Trilho é uma aplicação móvel multimodal de planeamento de viagens em transportes públicos portugueses. Para melhorar o produto, recolhemos eventos anónimos agregados — nenhum identificador pessoal é processado.
Dados recolhidos
| Categoria | Item | Origem | Finalidade |
|---|---|---|---|
| Identificador anónimo | anon_device_id (UUID v4 gerado no dispositivo) | App | Deduplicação de eventos por dispositivo, sem ligação à identidade |
| Geográfico | sim_country (código ISO de 2 letras, p. ex. «PT») | Sistema operativo | Distinguir utilização residente vs. turística no agregado |
| Temporal | day_bucket_iso (AAAA-MM-DD, fuso Europe/Lisbon) | Relógio do dispositivo | Tendências diárias agregadas |
| Comportamental | event_type (vocabulário fixo: app_open, search, chain_selected, ticket_buy_tap, push_received, push_opened, saved_route_created, onboarding_completed) + props (baldes de baixa cardinalidade: código de operador, persona, opção tarifária) | App | Compreender que funcionalidades são utilizadas |
Dados não recolhidos (compromisso explícito)
- Localização GPS precisa. A app usa GPS preciso no dispositivo para «paragens perto de ti», mas as coordenadas não são recolhidas: os pedidos são processados efemeramente no servidor e
lat/lonsão redigidos dos registos. - Identificadores de paragens específicas (
stop_id). - Texto introduzido pelo utilizador (pesquisas, etiquetas de trajetos guardados, comentários).
- Identificadores de dispositivo do sistema operativo (Android ID, IDFA, IDFV).
- Endereço IP, além do que o servidor regista para fins operacionais (retido 7 dias).
- Histórico de viagens (permanece exclusivamente no dispositivo).
3. Base legal (RGPD, art. 6.º)
Consentimento (art. 6.º, n.º 1, al. a), apresentado na primeira utilização com informação clara e revogável a qualquer momento em Definições → «Anónimo · partilhar uso». Quando revogado, a fila local de eventos é apagada de imediato e nenhum novo evento é gerado. A escolha do consentimento em vez do interesse legítimo é deliberada: preferimos um opt-in claro, ainda que reduza a cobertura da telemetria.
4. Princípios aplicados (RGPD, art. 5.º)
| Princípio | Como cumprimos |
|---|---|
| Licitude | Consentimento explícito e opt-out a um toque. |
| Limitação da finalidade | Os eventos servem apenas a análise interna de produto. Nenhuma revenda de eventos individuais. Qualquer exportação agregada a terceiros respeita um mínimo de 25 dispositivos por célula. |
| Minimização | Vocabulário de eventos fixo, baldes de baixa cardinalidade, sem texto livre, sem identificadores específicos. |
| Exatidão | Não aplicável — dados anonimizados não são revisíveis pelo titular. |
| Limitação da conservação | Eventos agregados quando uma célula atinge 25 dispositivos; registos originais apagados aos 90 dias; registos técnicos do servidor aos 7 dias. |
| Integridade e confidencialidade | TLS em trânsito. O servidor está alojado na Hetzner Online GmbH (Nuremberga, Alemanha, UE). Não existe base de dados persistente com dados pessoais: as agregações vivem apenas em memória até atingirem o limiar de 25 dispositivos. Exportação agregada, quando ativa, para o PostHog EU Cloud (Frankfurt), onde os dados brutos são apagados aos 90 dias. |
| Responsabilidade | Esta DPIA, o estado de consentimento guardado localmente e registos de auditoria no servidor. |
5. Subcontratantes
| Subcontratante | Função | Localização | Estado |
|---|---|---|---|
| Hetzner Online GmbH | Alojamento do servidor | Nuremberga, DE | Ativo |
| Cloudflare, Inc. | DNS, alojamento do site trilhoapp.com, reencaminhamento de e-mail | UE / global | Ativo (não vê o tráfego da app) |
| Sentry (Functional Software, Inc.) | Relatórios de erros | Frankfurt, DE (região UE) | Quando ativado; sem PII, sem localização |
| PostHog Inc. | Análise agregada | Frankfurt, DE (EU Cloud) | Quando ativado; DPA disponível |
6. Avaliação de risco
| Risco | Probabilidade | Impacto | Mitigação |
|---|---|---|---|
| Reidentificação por cruzamento com outras fontes | Baixa | Médio | Sem PII, sem GPS, sem tempo preciso, sem identificadores de paragens. O conjunto (anon_device_id, day_bucket, event_type) não identifica um indivíduo sem acesso ao dispositivo físico. |
| Fuga através dos registos do servidor | Baixa | Baixo | Registos HTTP retidos apenas 7 dias; o identificador é registado truncado (8 caracteres), sem reversibilidade. |
| Reidentificação por agrupamento de operadores raros | Muito baixa | Baixo | Limiar de 25 dispositivos antes de qualquer agregação ser exportada; células com menos dados são suprimidas. |
| Subcontratante de análise (PostHog EU) | Baixa | Médio | Acordo de tratamento de dados; dados na UE; declarado nesta DPIA. |
Risco residual: baixo. O perfil de tratamento classifica-se como «não de alto risco» no quadro da CNPD — DPIA documentada por boas práticas, não por obrigação.
7. Direitos do titular (RGPD, arts. 15.º–22.º)
Por desenho, não existem dados pessoais identificáveis associados a um utilizador específico. Em consequência: acesso, retificação e portabilidade não têm objeto (não há identidade a reconciliar); apagamento e oposição cumprem-se localmente — desligar o toggle nas Definições apaga de imediato a fila local e suspende o tratamento. Questões: feedback@trilhoapp.com, resposta no prazo máximo de 30 dias (art. 12.º, n.º 3). Reclamações: CNPD.
8. Compromissos
- Republicar esta DPIA sempre que o vocabulário de eventos cresça ou um subcontratante seja adicionado.
- Notificar a CNPD apenas se ocorrer uma violação que afete o
anon_device_idem conjunto com outro dado que permita reidentificação — cenário considerado improvável dada a minimização. - Manter este documento em trilhoapp.com/privacy/dpia enquanto a aplicação estiver disponível, em português e inglês.
Histórico
- 1.1 — 2026-09-11: alojamento migrado para a Hetzner (UE); subcontratantes listados; contacto passa a feedback@trilhoapp.com.
- 1.0 — 2026-05-24: versão inicial.