Files
2026-06-14 11:08:00 +01:00

143 lines
6.2 KiB
Markdown

# Privacy Policy for ESP32 ALDL Dashboard
**Android Application**
**Version**: 0.1.0
**Last Updated**: June 14, 2026
---
## Overview
The **ESP32 ALDL Dashboard** is a free, open-source Android application designed for vehicle enthusiasts and tuners. It interfaces with GM OBD1 / ALDL-equipped vehicles (such as the 1986 Pontiac Fiero 1227170 ECM) using a custom ESP32 Bluetooth SPP bridge.
**Core Privacy Principle**:
This app collects **only vehicle engine telemetry data** from your car. All data is processed and stored **locally on your device**. The app makes **no network connections**, sends **no data** to any servers, and contains **no analytics, tracking, or crash reporting**.
---
## Data Collected
### What We Collect
The app receives and decodes the following vehicle diagnostic data via Bluetooth from your paired ESP32-ALDL device:
- Engine speed (RPM)
- Vehicle speed (MPH)
- Coolant temperature (°C / °F)
- Manifold Air Temperature (MAT)
- Manifold Absolute Pressure (MAP)
- Throttle Position Sensor (TPS) voltage
- O2 sensor voltage
- Battery voltage
- Spark advance
- Base Pulse Width (BPW)
- Idle Air Control (IAC) position
- BLM and Integrator fuel trim values
- Status flags (Closed Loop, Rich/Lean, TCC Lockup, A/C Clutch, etc.)
- Active diagnostic trouble codes (DTCs)
**Source**: This data comes exclusively from **your vehicle's Engine Control Module (ECM)** through the ALDL port and the ESP32 Bluetooth bridge you provide and pair.
### What We Do **NOT** Collect
- No personal information (name, email, phone, etc.)
- No device identifiers or advertising IDs
- No location data (location permissions are used only for legacy Bluetooth scanning and are scoped appropriately)
- No user accounts or authentication data
- No photos, contacts, files, or other personal content
- No analytics or usage statistics
- No crash reports sent to third parties
---
## How Data Is Collected
- **Exclusively via Bluetooth Classic SPP** connection to your user-paired ESP32-ALDL device.
- The app never initiates internet connections or uses any network APIs.
- An optional **simulation mode** generates synthetic local data for testing without requiring hardware.
---
## Data Storage and Usage
All data remains **under your full control** on your device:
| Storage Type | Purpose | Location | User Control |
|---------------------------|--------------------------------------|-----------------------------------|-------------------------------|
| Room Database (SQLite) | Session history and telemetry points | Private app storage | Deleted on uninstall |
| DataStore Preferences | Settings (units, thresholds, toggles)| Private app storage | Managed in Settings screen |
| CSV Log Files | TunerPro RT compatible logs | `Downloads/ALDLLogs/` (MediaStore)| User can delete/share |
| Raw Binary (.bin) Files | Raw ALDL stream captures | `Downloads/ALDLLogs/` (MediaStore)| Optional, user-controlled |
- Logging is **optional** and toggleable (auto-log on connect, raw binary recording).
- You can browse, open, or share your own log files directly inside the app using Android's share sheet.
- No data is ever uploaded, synced to the cloud, or transmitted anywhere.
---
## Data Sharing and Disclosure
**The app does not share any data with anyone.**
- We (the developer) never receive any data from the app.
- No third parties (Google, advertisers, analytics providers, etc.) receive any data.
- You may choose to manually export or share your local log files — this is entirely under your control.
---
## Permissions Explained
The app requests only the minimum permissions required for its functionality:
| Permission | Purpose | Notes |
|-----------------------------------------|----------------------------------------------|-------|
| `BLUETOOTH`, `BLUETOOTH_ADMIN` | Connect to ESP32 device (Android ≤ 11) | Legacy, maxSdkVersion=30 |
| `BLUETOOTH_SCAN`, `BLUETOOTH_CONNECT` | Bluetooth scanning and connection (Android 12+) | `neverForLocation` flag used |
| `ACCESS_FINE_LOCATION`, `ACCESS_COARSE_LOCATION` | Required by Android for BT scanning on older versions | Not used for actual location tracking; scoped to maxSdkVersion=30 |
| `FOREGROUND_SERVICE` + `FOREGROUND_SERVICE_CONNECTED_DEVICE` | Keep Bluetooth connection alive in background | Shows persistent notification you can tap to disconnect |
| `POST_NOTIFICATIONS` | Show connection status notification | Required for foreground service on Android 13+ |
No other permissions are requested or used.
---
## Firebase / Crash Reporting Note
Earlier documentation mentioned potential Firebase Crashlytics integration. **This is not present in the current version of the app.** There are no Firebase dependencies, no internet permission, and no crash reporting or analytics of any kind.
---
## Your Rights and Control
- Full transparency — the complete source code is available at:
**https://git.i3omb.com/gronod/esp32-aldl-android**
- You control all logging via the Settings screen.
- You can delete individual log files or clear all data by uninstalling the app.
- No accounts means no data to request deletion of from a server.
---
## Changes to This Policy
We will update this policy if the app's data handling changes. The latest version will always be available in the app (Settings → About) and in the project repository.
Because the app has no servers or user accounts, we cannot notify you directly of changes.
---
## Contact
For questions about this privacy policy or the application, please open an issue in the repository:
https://git.i3omb.com/gronod/esp32-aldl-android
---
## Summary
**ESP32 ALDL Dashboard** is a privacy-first, local-only tool.
It helps you monitor and log your vehicle's engine data via Bluetooth — and nothing leaves your device unless *you* choose to export it.
**No tracking. No cloud. No surprises.**
---
*This privacy policy is provided in good faith based on a thorough review of the application's source code.*
*License: MIT*