Legal
Privacy policy
Last updated August 22, 2026
The short version: DriveDecode has no accounts, no advertising and no analytics in it. Your live engine data stays on your phone unless you press the button that asks for an analysis, which sends a snapshot of the scan to be read. What leaves, and when, is listed below item by item, and we do not sell any of it.
This policy covers the DriveDecode app and this website, both operated by Miller Tech Solutions, a division of Miller Warehouse, LLC.
The DriveDecode app
What the app sends us
Trouble codes and your vehicle make
- When
- When you scan for codes
- Why
- To look up what each code means and return the explanation
- How long we keep it
- Not stored against you. The lookup is cached by code, the same for everyone
Your VIN
- When
- When the app reads your vehicle identity
- Why
- To decode year, make, model and engine, so codes are matched to your car
- How long we keep it
- Stored with the decode result for 24 months, then deleted
A snapshot of your scan, when you ask for an analysis
- When
- Only when you press Analyse this scan or Explain in depth. Never on its own
- Why
- To read your codes together with the car and the conditions, and answer what they mean as a set
- How long we keep it
- The answer is cached for ten minutes so a second tap does not pay twice, then dropped. Nothing in the snapshot is stored
Your activation code and an install identifier
- When
- First run, and on later licence checks
- Why
- To activate your licence and enforce the two-device limit
- How long we keep it
- While the licence is active, plus a short period after you release it
A device integrity check
- When
- On every request to our servers
- Why
- To confirm the request comes from a genuine copy of the app
- How long we keep it
- Not stored. It is verified and discarded
There is no account to create. We do not ask for your name, your address or your phone number, and the app never asks you to sign in. Nothing in the list above is tied to your identity unless you separately write to us from your email address.
What never leaves your phone
- Live sensor data, in normal use. Gauges, fuel trims, freeze frame, readiness monitors, acceleration runs and battery readings are read from your car, shown to you, and discarded. The app does not log them, does not upload them in the background and keeps no history of them. The one exception is the analysis button, described below, which you have to press.
- Reports. A PDF or CSV report is built on your device. It goes nowhere unless you choose to print or share it, and then it goes where you send it.
- Your settings, your remembered adapter, and the install identifier, which is generated on your device and held in the iOS Keychain or Android Keystore.
When you ask for an analysis
Two buttons in the app send data to be read by a language model: "Analyse this scan" and "Explain in depth" on a single code. Nothing happens until you press one. There is no automatic analysis, and no screen triggers one by being opened.
Explain in depth on one code sends that code, its status, and the decoded description of your car: make, model, year, trim, body style, engine size, cylinders, fuel type and drive type. No live readings, no freeze frame, no measurements. That question is the same for everyone who ever asks it, so the answer is cached and reused for thirty days against the code and the make, with nothing in it that belongs to one car.
Analyse this scan sends more, because the whole point is to read the pieces together: your codes and their status, whether the check-engine light is on, the freeze frame, a snapshot of live readings taken at that moment, which monitors are ready, the app's own fuel trim, battery and acceleration results, the list of readings your car supports, the protocol the adapter negotiated and the engine computer's calibration ID. That answer is cached for ten minutes, against your install identifier and a fingerprint of the request, so a second tap or a retry does not pay for the same answer twice. Then it goes.
Your VIN is never part of either one. The app decodes it and sends the decoded fields, so the model provider receives a description of a vehicle and never a number that identifies yours. This is enforced field by field in the app and asserted by a test on the server.
What we keep is the accounting, not the content: a count of how many analyses your install has run today, and a cost record of which codes were asked about, which model answered and how many tokens it took. The snapshot, the answer, the live readings and the VIN are not written to our database at all.
Permissions the app asks for
Bluetooth is the only permission the app genuinely needs. It is used to find and talk to your OBD-II adapter, and nothing else.
On Android 11 and older the system also requires location permission before any app is allowed to scan for Bluetooth devices. That is an Android rule, not a DriveDecode one. The app does not request your location, does not read it, and does not store it. On Android 12 and newer the permission is not requested at all, and our Bluetooth scan is flagged so the system knows we are not using it to derive location.
The app does not use the camera, the microphone, your photos, your contacts or your files.
What is not in the app
No analytics or measurement SDK. No crash-reporting SDK. No advertising, no advertising identifier and no third-party trackers. There is no code in DriveDecode whose job is to watch how you use it.
Trying it without an adapter
Sample-data mode runs the app against a simulated vehicle. It reads nothing from any car, sends nothing to our servers, and writes nothing to your device's secure storage.
This website
We use Cloudflare Web Analytics to count page views. It is cookieless and does not fingerprint you or follow you between sites, which is why there is no consent banner here. There are no advertising pixels, no session recording, no chat widgets and no third-party embeds.
If you send the support form, we store your email address, the topic you picked, your message, the two-letter country code Cloudflare derives from your connection, and the time. A copy is emailed to us so somebody actually reads it, and a copy is emailed to you as a receipt. We keep support messages for 24 months.
If you ask to be told when the app ships, we store your email address, the platform you chose, that same country code, the page you came from, and the time. You get one email at launch. The list is not used for anything else and is not shared.
Your IP address is used in the moment, to deliver the page and to stop one connection flooding the forms. It is not written into our records.
Who else handles your data
Each of these processes data only to provide its service to us, and none of them are permitted to use it for their own purposes.
- Cloudflare: hosting, network delivery and our API.
- Supabase: the database behind that API.
- Google: Firebase App Check, which confirms a request came from a real copy of our app using Play Integrity on Android and App Attest on Apple devices. It checks the app, not you.
- The US National Highway Traffic Safety Administration: VINs are decoded through its public vPIC database, which is where the year, make, model and engine come from.
- OpenAI: the language model behind the analysis buttons. It receives the snapshot described above, never your VIN, and only when you press the button.
- Resend: sends the support emails described above.
- Apple and Google: distribute the app and handle any purchase. Their own privacy policies cover that.
Our servers keep diagnostic logs of requests so we can find faults. Those logs do not contain your VIN or your trouble codes.
What we never do
- Sell or rent your personal information. We have never done this and have no plans to.
- Share your vehicle data with insurers, dealers, lenders or marketers.
- Track you across other websites or apps.
- Use your data to train anything.
Your choices
Write to [email protected] to ask what we hold about you, to have it corrected, or to have it deleted. Tell us the VIN or the activation code involved, because without one of those we have no way to find your records. We answer within 30 days.
California residents have the right to know what personal information is collected and to have it deleted, and the right not to be discriminated against for asking. Since we do not sell or share personal information, there is no opt-out to offer you and no financial incentive attached to any of this. The same requests are handled the same way whoever asks.
Deleting your activation record releases your licence seats. You will need your activation code to set the app up again, so keep the card.
Children
DriveDecode is not directed at children under 13 and we do not knowingly collect information from them. If you believe a child has given us information, write to us and we will remove it.
Changes
If this policy changes in a way that affects what we collect or how long we keep it, we will update the date at the top and say what changed. We will not quietly widen what we collect.
Contact
Miller Tech Solutions, a division of Miller Warehouse, LLC. [email protected]