The short version
- You sign in with an email and password. We keep your account — email, username, profile, your garage, and anything you post in the community (Paddock) — in our Supabase backend so your membership and content work across devices.
- Most diagnostic data stays on your phone. Live engine data, fault-code history, Sonic Pulse audio and Personal Library files are processed on-device.
- The AI engineers are a membership feature. If you use our hosted AI, your question and the relevant car context are sent through our server to Google Gemini (or, rarely, Anthropic) to generate the answer. You can instead add your own AI key in Settings for a direct, unlimited connection that doesn't pass through us.
- No ads. No data sales. No third-party advertising trackers.
What the app stores on your device
Everything below lives locally on your phone. We cannot see it, and it never syncs to our servers.
| Data | Where it lives | How it's used |
|---|---|---|
| Garage profiles, VINs, service history, custom photos | AsyncStorage and on-device SQLite | Display in your Garage screen, calculate maintenance reminders |
| Live engine data and fault codes | In-memory during session, optional snapshots local | Show vitals and DTC results, build your fault history |
| Pack Drive route logs (GPS, timestamps) | Local SQLite | Display the drive on a map; sync only to riders you invited |
| Sonic Pulse audio captures | Local file system | Run acoustic analysis on-device, then deleted unless you save the result |
| Personal Library DTC packs (BYOC) | Local SQLite | Private reference lookup only — never uploaded |
| API keys for Gemini, Anthropic, etc. | iOS Keychain via expo-secure-store | Sent directly to the AI provider when you ask Hans something |
| App preferences (theme, units, AI toggles) | AsyncStorage | Make the app behave the way you want |
If you delete the app from your phone, all of this is gone with it. We can't recover it.
Your account and community
The Analogue requires an account so your membership and content follow you across devices. Through our Supabase backend we store:
- Your email address and password (the password is hashed — we never see the plain text)
- Your username, display name, chosen brand/vehicle and avatar colour
- Your membership tier (so the app knows what to unlock)
- Anything you choose to post in the community (Paddock) — posts, threads, replies, direct messages, and meetups you create
- If you opt into Pack Drives, your approximate location while a drive is active (see Location below)
You can delete your account and all of this data at any time from Settings → Account → Delete Account. We do not sell account data, show ads, or use it for advertising.
What we send to our servers
Besides your account, our Supabase backend supports a community dictionary of fault codes that benefits every user.
When you encounter a fault code the app's built-in dictionary doesn't recognise, the AI engineer (Hans) will research it and offer to save what it learned. If you have the toggle "Help improve the community dictionary" enabled in Settings, the saved record is submitted to our server. Each submission contains:
- The fault code (hex and SAE format)
- The BMW chassis code (e.g. "E90") and engine code (e.g. "N54") — model-identifying, not vehicle-identifying
- The first three characters of your VIN (the "WMI" — the same three characters every car of that brand and country shares)
- The AI's research output (the description, fix hints, sources cited)
- An anonymous random submission ID
What we do not send
- The full VIN
- Your name, email, IP, or phone identifier
- Your location
- Any other vehicle history
If you turn the toggle off, no submissions ever happen. The toggle is off until you explicitly enable it.
This data is used only to improve The Analogue's public DTC dictionary, which ships back to all users in future app updates. We never sell it, never share it with third parties, never use it for advertising.
What we send to AI providers when you use Hans
The AI engineers (Hans and the others) use Large Language Models from Google (Gemini) and, in rare deep-research cases, Anthropic. There are two ways the AI runs, and you choose:
- Hosted (default for members): your question and the relevant context (vehicle, recent fault codes, the relevant section of our dictionary) are sent from your phone to our server, and our server forwards it to Google Gemini using our key. We pass the answer back to you. We do not store the conversation beyond what's needed to generate the reply and to count your monthly usage (a token total — not the message text).
- Your own key (optional, unlimited): if you add your own AI key in Settings, your question goes directly from your phone to the AI provider and never passes through us.
Either way, the AI provider processes that traffic under their privacy policy:
- Google AI / Gemini: policies.google.com/privacy
- Anthropic: anthropic.com/legal/privacy
We do not sell your conversations, use them for advertising, or train our own models on them.
What we send during web searches
When Hans needs information outside its training data (e.g. an obscure fault code), it may perform a real-time web search using the AI provider's built-in search tool. The query is sent through the AI provider as part of the same conversation described above.
We do not cache, store, or log web search results on our servers. What Hans tells you is processed in-conversation and shown to you. If you ask Hans the same question twice, it searches again.
Information we never collect
To be explicit, The Analogue does not collect or have access to:
- Your iCloud, Apple ID, or device advertising identifier
- Your location, except when actively using Pack Drives or route logging
- Your contacts, calendar, photo library, or files
- Your browsing history outside the app
- Crash reports or analytics — we do not run Sentry, Firebase, Mixpanel, Amplitude, or any similar third-party advertising SDK
We do collect the account information you give us (below). We never sell any of it or use it for advertising.
Bluetooth and your OBD-II adapter
When you connect to an OBD-II adapter (ELM327, OBDLink CX/MX, Veepeak, etc.), the connection is a direct local Bluetooth link between your iPhone and the adapter. The data flows from your car's diagnostic port to the adapter to your phone, and stops there.
No vehicle data is transmitted to The Analogue's servers as a side effect of connecting an adapter. The adapter and the app communicate using standard OBD-II protocols documented by the SAE (J1979, J2012) and reverse-engineered BMW protocols (DS2 over K-line, UDS over CAN) that the enthusiast community has shared publicly for decades.
Microphone — Sonic Pulse
Sonic Pulse records a short clip of your engine running and analyses the acoustic signature for known failure modes (e.g. timing chain rattle on a high-mileage N54).
- The microphone activates only when you explicitly press the "Record" button on the Sonic Pulse screen.
- The recording is processed locally on your phone — not uploaded to our servers or to any AI provider.
- The raw audio file is deleted from your device when you exit the Sonic Pulse screen, unless you choose to save the analysis result to your garage history. Even if saved, the audio itself does not leave the phone.
Location — Pack Drives
The Analogue uses location for two purposes:
- Route logging during a Pack Drive — a community group drive that you join or organise. Location is recorded only while a Pack Drive is active. Logging stops when the drive ends.
- Sharing drive routes with other Pack members is optional and opt-in per drive. When you share a drive, the route is sent to the specific other users you invited, via Supabase, and stored only long enough to deliver it.
Location data is never used for advertising, analytics, profiling, or any other purpose. Pack Drive history stays on your phone unless you share it.
Forum content
When Hans references forum content (e.g. quoting a known fix discussed on BimmerForums), the lookup is performed live via the AI provider's search tool. The Analogue does not scrape, cache, or store forum content on its servers. Any forum quote you see is fetched fresh at the moment Hans answers your question.
Children
The Analogue is intended for adult vehicle owners and enthusiasts. We do not knowingly direct the app to children under 13, and we do not knowingly collect any data from children under 13.
California residents (CCPA)
You have the right to know what personal information we collect (your account details and any community content, described above), to delete it (use Settings → Account → Delete Account, or email us), and to opt out of any sale of your personal information (we don't sell information; full stop).
To exercise any of these rights or ask a question, email support@theanalogue.app.
European users (GDPR)
Your account data is processed under the legal basis of performance of a contract (providing the app and your membership). The anonymous DTC submission data is processed under legitimate interest (improving the community dictionary) and is anonymised at the point of submission. You can delete your account and associated data at any time from Settings → Account → Delete Account, or by emailing us.
For any GDPR-related question, email support@theanalogue.app.
Security
- API keys are stored in the iOS Keychain via expo-secure-store, encrypted by the operating system.
- All network requests use HTTPS / TLS.
- The Supabase backend is configured with Row-Level Security so anonymous submissions cannot be read or modified by other users.
No system is perfectly secure. If you discover a security issue, please report it to support@theanalogue.app before public disclosure.
Changes to this policy
If we make material changes, we will update the "Last updated" date at the top of this page and surface a notice inside the app. Material changes will not take effect retroactively for data already on your device.
The Analogue is an independent enthusiast project, not affiliated with, endorsed by, or sponsored by Bayerische Motoren Werke AG (BMW). All trademarks belong to their respective owners.