-
Notifications
You must be signed in to change notification settings - Fork 0
User it Privacy Profiles Sync
Tankstellen è privacy-first. In concreto significa:
- Niente Google Play Services. Niente Firebase. Niente Google Analytics.
-
Nessun SDK di tracciamento di terze parti. Controlla
pubspec.yamlnel sorgente — zero dipendenze di analytics. - Nessun account richiesto. L'app funziona completamente senza registrazione.
- Nessuna raccolta dati. Nulla lascia il tuo telefono se non abiliti esplicitamente la sincronizzazione o tocchi "Segnala problema".
- Consenso GDPR al primo avvio. Una schermata dedicata spiega ogni permesso prima che l'app prosegua.
- Open source. Licenza MIT. Verifica tu stesso la promessa sulla privacy.
Tutto ciò che l'app usa è memorizzato localmente in database Hive crittografati:
| Box | Contenuti | Crittografato? |
|---|---|---|
settings |
Configurazione app, paese, lingua, unità | Sì (AES) |
profiles |
I tuoi profili di ricerca | Sì |
favorites |
Stazioni salvate + i loro dati | Sì |
cache |
Risposte API in cache, itinerari | Sì |
priceHistory |
Record di prezzo locali a 30 giorni | Sì |
alerts |
Le tue regole di avviso prezzo | Sì |
obd2Baselines |
Baseline di consumo per veicolo | No (non-PII) |
obd2TripHistory |
Log dei viaggi OBD2 + GPS | No (non-PII) |
Le API key (Germania, OpenChargeMap, Supabase) sono salvate nel Keystore Android (hardware-backed) su Android o nella Keychain iOS, non in Hive.
| Permesso | Perché | Posso rifiutare? |
|---|---|---|
| Posizione (durante l'uso) | Ricerca nei dintorni, partenza percorso, registrazione tragitti | Sì — usa il codice postale |
| Bluetooth Scan + Connect | Associazione adattatore OBD2 | Sì — OBD2 è opzionale |
| Notifiche | Avvisi di prezzo | Sì — gli avvisi non si attiveranno |
| Fotocamera | OCR scansione display pompa | Sì — digita manualmente |
| Internet | Chiamate API per i prezzi | Richiesto |
L'app non richiede mai la posizione in background.
Un profilo è un pacchetto di preferenze: paese, tipo carburante predefinito, raggio, schermata iniziale, unità, servizi preferiti, veicolo, raggio di avvicinamento. Usa i profili se cambi contesto spesso:
- "Casa" — Germania, E10, raggio 10 km, preferiti come schermata iniziale
- "Tragitto lavoro" — Francia, Diesel, raggio 25 km, più economici come schermata iniziale
- "Vacanza" — Spagna, E10, schermata iniziale mappa, filtro Apple Pay attivo
Cambia profilo da Impostazioni → Profili o tramite il chip profilo in alto a destra.
Hai sempre almeno un profilo — l'app ne crea uno predefinito al primo avvio.
I profili portano anche le preferenze dell'overlay di avvicinamento (raggio in km + più vicina vs più economica nel raggio). Vedi Consumi e OBD2 → Overlay di avvicinamento.
Impostazioni → Dashboard Privacy è l'unico posto dove vedi tutto ciò che l'app conserva su di te, e dove vivono le superfici di diagnostica.
Il pulsante dell'error-log è etichettato Salva (prima diceva "Copia"). Quando lo tocchi, l'app scrive le tracce di errore recenti — ripulite, senza PII, senza GPS, senza API key — in un singolo file nella tua cartella pubblica Download tramite il foglio di sistema condividi / salva. Da lì puoi allegarlo a un'issue GitHub quando segnali un bug.
Un fallback su clipboard viene usato sulle piattaforme dove il salvataggio fallisce, così l'azione non resta mai silenziosamente senza effetto.
Un pulsante etichettato Prova overlay di avvicinamento spinge uno stato sintetico in-radius per 30 secondi. Se un tragitto è in registrazione (o ne avvii uno), il riquadro PiP passa al layout prezzo per quella stazione di test, ti lascia verificare che si renderizzi e si pulisce automaticamente.
Usalo per confermare che l'overlay di avvicinamento funzioni sul tuo dispositivo — senza dover passare davvero davanti a una stazione reale per testarlo.
Oltre al pulsante Salva, tutte le esportazioni di dati (backup JSON completo, CSV storico prezzi, GPX tragitti) ora scrivono nella cartella Download pubblica così qualsiasi file manager può recuperarli. Lo snackbar a schermo conferma il salvataggio e mostra il nome del file.
TankSync è un backend Supabase opzionale che replica dati selezionati tra i tuoi dispositivi. È opt-in. Disabilitato = nulla lascia il tuo telefono. L'intera UI è tradotta in tutti i 23 locali supportati.
- Istanza community — un progetto Supabase condiviso gestito dalla community. Autenticazione anonima. Setup semplice.
- Self-hosted — distribuisci la tua istanza Supabase (schema SQL + Edge Functions sono nel repo). Mantieni la piena proprietà dei dati e non c'è nessuna terza parte.
Impostazioni → TankSync → Abilita. Poi:
- Community: scansiona il QR code dalla wiki o incolla URL + anon key manualmente.
- Self-hosted: incolla URL del progetto + anon key.
L'anon key è salvata nel Keystore Android.
- Preferiti (stazioni)
- Avvisi di prezzo
- Stazioni ignorate
- Valutazioni (con flag privacy per valutazione: locale / privata-sincronizzata / condivisa pubblicamente)
- Tragitti — viaggi OBD2 + GPS. La sincronizzazione dei tragitti è opt-in anche dopo aver abilitato TankSync — attiva il toggle in Impostazioni → TankSync → Sincronizza tragitti se vuoi che siano replicati. Disattivato per impostazione predefinita; se lo attivi più tardi, solo i viaggi futuri si sincronizzano finché non tocchi anche Backfill.
Il locale vince sempre. Se modifichi un preferito su due telefoni simultaneamente, l'ultima scrittura su ogni telefono è canonica per quel telefono. La sincronizzazione aggiunge/modifica ma non cancella mai silenziosamente — solo la tua azione esplicita di eliminazione attiva una eliminazione server.
Impostazioni → Dati:
- Esporta tutti i dati → singolo JSON salvato in Download
- Esporta storico prezzi → CSV salvato in Download
- Resetta app → cancella ogni box locale e pulisce lo storage sicuro. Irreversibile.
Poiché per impostazione predefinita nessun dato personale lascia l'app, il diritto GDPR all'oblio è soddisfatto disinstallando o tramite Resetta app. Se usi TankSync, vai in Impostazioni → TankSync → Elimina account per cancellare i tuoi dati lato server prima di disinstallare. C'è anche un'azione Dimentica tutti i tragitti sincronizzati che ripulisce solo le righe dei tragitti lasciando intatto il resto.
Vedi PRIVACY.md per la policy privacy completa.
Vedi anche: Primi passi (consenso GDPR al primo avvio) · Consumi e OBD2 (overlay di avvicinamento) Prossimo: Risoluzione problemi e FAQ →
👤 User Guide
🛠️ Developer Guide
Architecture
Code patterns
Quality
Deep dives
Reference
Workflow