-
Notifications
You must be signed in to change notification settings - Fork 0
User es Privacy Profiles Sync
Tankstellen pone la privacidad primero. En concreto:
- Sin Google Play Services. Sin Firebase. Sin Google Analytics.
-
Sin SDKs de rastreo de terceros. Revisa
pubspec.yamlen el código fuente — cero dependencias de analítica. - Sin cuenta obligatoria. La app funciona del todo sin registro.
- Sin recopilación de datos. Nada sale de tu móvil salvo que actives explícitamente la sincronización o pulses "Reportar problema".
- Consentimiento RGPD en el primer arranque. Una pantalla dedicada explica cada permiso antes de que la app continúe.
- Código abierto. Licencia MIT. Verifica la promesa de privacidad por ti mismo.
Todo lo que la app utiliza se guarda localmente en bases de datos Hive cifradas:
| Caja | Contenido | ¿Cifrada? |
|---|---|---|
settings |
Configuración de la app, país, idioma, unidades | Sí (AES) |
profiles |
Tus perfiles de búsqueda | Sí |
favorites |
Estaciones guardadas + sus datos | Sí |
cache |
Respuestas de API en caché, itinerarios | Sí |
priceHistory |
Registros locales de precio de 30 días | Sí |
alerts |
Tus reglas de alerta de precio | Sí |
obd2Baselines |
Líneas base de consumo por vehículo | No (no PII) |
obd2TripHistory |
Registros de trayecto OBD2 + GPS | No (no PII) |
Las claves API (Alemania, OpenChargeMap, Supabase) se guardan en el Android Keystore (respaldado por hardware) en Android o en el iOS Keychain, no en Hive.
| Permiso | Para qué | ¿Puedo denegarlo? |
|---|---|---|
| Ubicación (en uso) | Búsqueda cerca, inicio de ruta, registro de trayecto | Sí — usa el código postal en su lugar |
| Bluetooth Scan + Connect | Emparejamiento del adaptador OBD2 | Sí — el OBD2 es opcional |
| Notificaciones | Alertas de precio | Sí — las alertas no dispararán |
| Cámara | OCR del panel del surtidor | Sí — teclea manualmente |
| Internet | Llamadas a APIs de precios | Obligatorio |
La app nunca pide ubicación en segundo plano.
Un perfil es un paquete de preferencias: país, combustible por defecto, radio, pantalla de inicio, unidades, servicios preferidos, vehículo, radio de aproximación. Usa perfiles si cambias de contexto a menudo:
- "Casa" — Alemania, E10, 10 km de radio, favoritos como pantalla de inicio
- "Trayecto al trabajo" — Francia, Diesel, 25 km de radio, más barata como inicio
- "Vacaciones" — España, E10, inicio en mapa, filtro Apple Pay activo
Cambia de perfil desde Ajustes → Perfiles o mediante el chip de perfil arriba a la derecha.
Siempre tienes al menos un perfil — la app crea uno por defecto en el primer arranque.
Los perfiles también llevan las preferencias de superposición de aproximación (radio en km + más cercana vs. más barata en el radio). Consulta Consumo y OBD2 → Superposición de aproximación.
Ajustes → Panel de privacidad es el único sitio donde ves todo lo que la app guarda de ti, y donde viven las superficies de diagnóstico.
El botón de registro de errores se llama Guardar (antes decía "Copiar"). Al pulsarlo, la app escribe las trazas de error recientes — saneadas, sin PII, sin GPS, sin claves API — en un único archivo en tu carpeta pública Descargas mediante la hoja del sistema para compartir/guardar. Desde ahí puedes adjuntarlo a una issue de GitHub cuando reportes un bug.
Se usa un fallback al portapapeles en plataformas donde la operación de guardado falla, para que la acción nunca se quede en silencio sin hacer nada.
Un botón llamado Probar superposición de aproximación emite un estado sintético "dentro del radio" durante 30 segundos. Si se está grabando un trayecto (o inicias uno), la pieza PiP cambia a la disposición de precio para esa estación de prueba, te deja verificar que se renderiza y se limpia automáticamente.
Usa esto para confirmar que la superposición de aproximación funciona en tu dispositivo — sin necesidad de conducir realmente cerca de una estación real para probarla.
Más allá del botón Guardar, todas las exportaciones de datos (copia de seguridad completa en JSON, CSV del histórico de precios, GPX de trayectos) escriben ahora en la carpeta pública Descargas para que cualquier gestor de archivos pueda recogerlas. El snackbar en pantalla confirma el guardado y muestra el nombre del archivo.
TankSync es un backend Supabase opcional que replica datos seleccionados entre tus dispositivos. Es opt-in. Si lo dejas desactivado, no sale nada de tu móvil. Toda la interfaz está traducida a los 23 idiomas soportados.
- Instancia comunitaria — un proyecto Supabase compartido mantenido por la comunidad. Autenticación anónima. Configuración sencilla.
- Autohospedado — despliega tu propia instancia Supabase (el esquema SQL + Edge Functions están en el repositorio). Conservas la plena propiedad de los datos y no hay ningún tercero implicado.
Ajustes → TankSync → Activar. Después:
- Comunidad: escanea el código QR del wiki o pega la URL + clave anon manualmente.
- Autohospedado: pega tu URL de proyecto + clave anon.
La clave anon se guarda en el Android Keystore.
- Favoritos (estaciones)
- Alertas de precio
- Estaciones ignoradas
- Valoraciones (con marca de privacidad por valoración: local / privado-sincronizado / compartido públicamente)
- Trayectos — viajes OBD2 + GPS. La sincronización de trayectos es opcional incluso con TankSync activado — activa el interruptor en Ajustes → TankSync → Sincronizar trayectos si quieres que se repliquen. Desactivado por defecto; si lo activas más tarde, solo se sincronizan los viajes futuros hasta que pulses también Backfill.
Local siempre gana. Si cambias un favorito en dos móviles a la vez, la última escritura en cada móvil es la canónica para ese móvil. La sincronización añade y modifica, pero nunca borra en silencio — solo tu acción explícita de borrado dispara un borrado en el servidor.
Ajustes → Datos:
- Exportar todos los datos → único JSON guardado en Descargas
- Exportar histórico de precios → CSV guardado en Descargas
- Restablecer app → borra todas las cajas locales y limpia el almacenamiento seguro. Irreversible.
Como no salen datos personales de la app por defecto, el derecho de supresión del RGPD se satisface desinstalando o con Restablecer app. Si usas TankSync, ve a Ajustes → TankSync → Eliminar cuenta para borrar tus datos del lado del servidor antes de desinstalar. También hay una acción Olvidar todos los trayectos sincronizados que elimina solo las filas de trayectos dejando el resto intacto.
Consulta PRIVACY.md para la política de privacidad completa.
Ver también: Primeros pasos (consentimiento RGPD en el primer arranque) · Consumo y OBD2 (superposición de aproximación) Siguiente: Solución de problemas y FAQ →
👤 User Guide
🛠️ Developer Guide
Architecture
Code patterns
Quality
Deep dives
Reference
Workflow