-
Notifications
You must be signed in to change notification settings - Fork 0
User pt Privacy Profiles Sync
A Tankstellen coloca a privacidade em primeiro lugar. Significado concreto:
- Sem Google Play Services. Sem Firebase. Sem Google Analytics.
-
Sem SDKs de rastreio de terceiros. Verifica o
pubspec.yamlno código fonte — zero dependências de analytics. - Não é necessária conta. A aplicação funciona totalmente sem registo.
- Sem recolha de dados. Nada sai do teu telemóvel a menos que ativem explicitamente a sincronização ou toques em "Reportar problema".
- Consentimento RGPD no primeiro arranque. Um ecrã dedicado explica cada permissão antes de a aplicação prosseguir.
- Código aberto. Licença MIT. Verifica tu mesmo a afirmação de privacidade.
Tudo o que a aplicação usa é guardado localmente em bases de dados Hive encriptadas:
| Box | Conteúdo | Encriptada? |
|---|---|---|
settings |
Configuração da aplicação, país, idioma, unidades | Sim (AES) |
profiles |
Os teus perfis de pesquisa | Sim |
favorites |
Estações guardadas + os seus dados | Sim |
cache |
Respostas API em cache, itinerários | Sim |
priceHistory |
Registos locais de preços de 30 dias | Sim |
alerts |
As tuas regras de alerta de preço | Sim |
obd2Baselines |
Linhas base de consumo por veículo | Não (sem PII) |
obd2TripHistory |
Registos de viagens OBD2 + GPS | Não (sem PII) |
Chaves API (Alemanha, OpenChargeMap, Supabase) são guardadas no Android Keystore (suportado por hardware) em Android ou no iOS Keychain, não em Hive.
| Permissão | Porquê | Posso recusar? |
|---|---|---|
| Localização (enquanto em uso) | Pesquisa de proximidade, início de rota, gravação de trajeto | Sim — usa código postal em alternativa |
| Pesquisa + Ligação Bluetooth | Emparelhamento de adaptador OBD2 | Sim — OBD2 é opcional |
| Notificações | Alertas de preço | Sim — os alertas não disparam |
| Câmara | Digitalização OCR do mostrador da bomba | Sim — escreve manualmente |
| Internet | Chamadas API para preços | Obrigatório |
A aplicação nunca pede localização em segundo plano.
Um perfil é um conjunto de preferências: país, tipo de combustível predefinido, raio, ecrã inicial, unidades, comodidades preferidas, veículo, raio de aproximação. Usa perfis se mudas de contexto com frequência:
- "Casa" — Alemanha, E10, raio de 10 km, favoritos como ecrã inicial
- "Trajeto para o trabalho" — França, Diesel, raio de 25 km, mais baratas como ecrã inicial
- "Férias" — Espanha, E10, ecrã inicial mapa, filtro Apple Pay ativo
Alterna perfis em Definições → Perfis ou através do chip de perfil no canto superior direito.
Tens sempre pelo menos um perfil — a aplicação cria um por defeito no primeiro arranque.
Os perfis também carregam as preferências de sobreposição de aproximação (raio em km + mais próxima vs. mais barata no raio). Vê Consumo e OBD2 → Sobreposição de aproximação.
Definições → Painel de privacidade é o único local onde vês tudo o que a aplicação guarda sobre ti, e onde vivem as superfícies de diagnóstico.
O botão de registo de erros está rotulado Guardar (costumava ser "Copiar"). Quando tocado, a aplicação escreve os rastreios de erros recentes — saneados, sem PII, sem GPS, sem chaves API — para um único ficheiro na pasta pública Transferências através da folha de partilha / guardar do sistema. Daí podes anexá-lo a uma issue do GitHub ao reportar um bug.
Existe um fallback para a área de transferência em plataformas em que guardar falha, para que a ação nunca falhe silenciosamente.
Um botão rotulado Testar sobreposição de aproximação empurra um estado sintético dentro do raio durante 30 segundos. Se um trajeto estiver a ser gravado (ou iniciares um), a janela PiP muda para o layout de preço dessa estação de teste, deixa-te verificar que renderiza e limpa automaticamente.
Usa isto para confirmar que a sobreposição de aproximação funciona no teu dispositivo — sem necessidade de conduzir mesmo por uma estação real para a testar.
Além do botão Guardar, todas as exportações de dados (backup completo JSON, CSV do histórico de preços, GPX de viagem) escrevem agora para a pasta pública Transferências para que qualquer gestor de ficheiros os possa abrir. O snackbar no ecrã confirma a gravação e mostra o nome do ficheiro.
TankSync é um backend Supabase opcional que espelha dados selecionados entre os teus dispositivos. É opt-in. Desativado = nada sai do teu telemóvel. Toda a interface está traduzida em todas as 23 localizações suportadas.
- Instância da comunidade — um projeto Supabase partilhado mantido pela comunidade. Autenticação anónima. Configuração simples.
- Auto-hospedado — implementa a tua própria instância Supabase (o esquema SQL + Edge Functions estão no repositório). Mantém total propriedade dos dados e não há terceiros envolvidos.
Definições → TankSync → Ativar. Depois:
- Comunidade: digitaliza o código QR do wiki ou cola o URL + chave anónima manualmente.
- Auto-hospedado: cola o URL do teu projeto + chave anónima.
A chave anónima é guardada no Android Keystore.
- Favoritos (estações)
- Alertas de preço
- Estações ignoradas
- Avaliações (com flag de privacidade por avaliação: local / privada-sincronizada / partilhada publicamente)
- Trajetos — viagens OBD2 + GPS. A sincronização de trajetos é opt-in mesmo depois de o TankSync estar ativado — alterna o interruptor em Definições → TankSync → Sincronizar trajetos se os quiseres espelhar. Desativado por defeito; se ligares mais tarde, apenas as viagens futuras sincronizam até também tocares em Backfill.
O local ganha sempre. Se mudares um favorito em dois telemóveis em simultâneo, a última escrita em cada telemóvel é canónica para esse telemóvel. A sincronização adiciona/altera mas nunca elimina silenciosamente — apenas a tua ação explícita de eliminar despoleta uma eliminação no servidor.
Definições → Dados:
- Exportar todos os dados → JSON único guardado em Transferências
- Exportar histórico de preços → CSV guardado em Transferências
- Repor aplicação → apaga todas as boxes locais e limpa o armazenamento seguro. Irreversível.
Como nenhum dado pessoal sai da aplicação por omissão, o direito ao apagamento do RGPD é satisfeito desinstalando ou através de Repor aplicação. Se usas o TankSync, vai a Definições → TankSync → Eliminar conta para apagar os teus dados do lado do servidor antes de desinstalar. Há também uma ação Esquecer todos os trajetos sincronizados que limpa apenas as linhas dos trajetos, deixando o resto intacto.
Vê PRIVACY.md para a política de privacidade completa.
Ver também: Começar (consentimento RGPD no primeiro arranque) · Consumo e OBD2 (sobreposição de aproximação) Seguinte: Resolução de problemas e FAQ →
👤 User Guide
🛠️ Developer Guide
Architecture
Code patterns
Quality
Deep dives
Reference
Workflow