EVStudio Privacy Policy
Last updated: October 19, 2026
Thank you for using EVStudio (the "App"). This policy explains what data the App collects, how it is used, where it is stored, and how it is protected.
This App is an independently developed third-party application and has no affiliation, endorsement, or partnership with Tesla, Inc. "Tesla" is a trademark of Tesla, Inc., used here solely to describe compatibility with Tesla vehicles.
1. Data We Collect
- Account and device identifiers: Free Bluetooth-only and on-device features do not require an account, and the App does not automatically create one on first launch. The App creates an anonymous Supabase account and device-recovery identifier only when you actively buy or restore a Premium subscription, connect Tesla Fleet API, or enable another cloud feature. No name, email address, or password is required; the identifier preserves the account and links subscription entitlement and cloud data.
- Tesla authorization and vehicle identifiers: After Tesla OAuth authorization, the backend retains Tesla-issued access and refresh tokens, granted scopes, and vehicle identifiers (VINs) to call Fleet API on your behalf. The App never receives or stores your Tesla password.
- Vehicle and charging data: Charging state, battery level, power, voltage, energy, battery health, vehicle state, odometer reading at the start of charging, charging time, cost, and charging location for authorized vehicles, used for charging records, curves, statistics, energy-consumption calculations, and App features.
- Trip log (subscription feature): For each drive, the start and park times, odometer readings, battery level, and the vehicle's energy readings (cumulative energy used, regenerated energy, or energy remaining); for periods when a drive could not be fully recorded, only the start and end odometer readings and the time range. No location or route trace is stored. Used to build your trip list, Trip A/B, and energy-consumption statistics. Kept for 13 months.
- Precise location: Vehicle location during charging is linked to your account and charging records. Device location used for navigation and speed-camera alerts is processed in real time by the device and your selected map or routing provider as needed. Location is not used for advertising or cross-app tracking.
- Trip share card (iOS and Android): The trip track (GPS route and speed) is stored only on your device and is never uploaded to the developer's backend. Start and end points are converted to, and shown only at, the district or township level, using the system map service queried from your device (Apple Maps on iOS; the device's Google geocoding service on Android). Content leaves your device only when you share or save a trip card image yourself, and then only what is on the card (route map, start and end districts, and the fields you choose to show, such as distance, time, battery level, and energy use), via the method you choose.
- Navigation search data: The origin, destination, and route options you request are sent to your selected map or routing provider to calculate a route in real time. The developer backend does not retain navigation search history or use it for advertising. On Android, routes are always computed with the Google Routes API (sending the origin = your current location, the destination and waypoint coordinates, and the language) and maps are drawn with the Google Maps SDK; as Google's disclosures describe, these SDKs automatically collect request metadata (OS version, device name/model/make, SDK version), IP address, an SDK-specific pseudonymous identifier, and SDK crash stack traces and performance metrics. On Android the App reads your location on the device through the system location service, and location leaves the device only as coordinates when a route is calculated. The App itself includes no third-party advertising, analytics, or crash-reporting SDK.
- Purchases and subscriptions: Product, transaction, and original-transaction identifiers, subscription status, expiration, and revocation status are used to validate and restore in-app purchases. This is the "Purchase History" category used by App Store Connect; it does not include your Apple Account, credit card, payment method, billing address, or other payment details. On Android, purchases go through Google Play: the App sends only the product ID (product_id) and the purchase token (purchase_token) to the developer backend, which verifies the subscription or one-time purchase with Google; at purchase time the App also passes an irreversible hash derived from your App account to Google as the obfuscated account id, so the purchase stays bound to the same App account. Your payment method, card number, and billing details are handled by Google; the App and its developer never receive them.
- Push identifiers: On iOS, APNs device tokens and Live Activity tokens, used for charging-record updates and live activities. Android has no APNs or Live Activity; it uses Firebase Cloud Messaging (FCM) instead: once you allow notifications and the App has an account for you, the Firebase installation ID (FID) is stored on the developer backend together with your account and a platform marker (android) and used to deliver charging-record updates. As Google's Firebase disclosure describes, the Firebase SDK also sends the FID and SDK-collected data (Firebase user agent: OS version, device make and model, install source, SDK version, plus the App version) to Google automatically. The App turns off Firebase Analytics and FCM auto-initialization and does not use Firebase analytics.
- AI Light Show data (iOS only, and only when you choose to use it): The Android version does not have this feature and sends no audio. Audio you select, directing instructions, generated results, usage, and credit purchase records. Audio is processed by Google Gemini, removed from temporary storage after processing, and abandoned uploads expire after about one hour.
- Feedback (only when you choose to send it): the type, text, and optional email address of reports you submit through the website form or the App's Settings → About & Support → Report a Problem. In-App reports automatically include the App version, device model, and OS version (iOS or Android). If you tick "Attach diagnostic log", the App also sends the tail of its Bluetooth/navigation log file (up to 500 KB), which may contain a sequence of vehicle locations, speeds, and the last characters of the VIN; nothing from the log is sent unless you tick that box. To prevent abuse, the backend stores an irreversible hash of the sender's IP address.
- Sentry footage decryption (iOS and Android, only when you take the action): see Section 2. The authorization code, tokens, and the key information needed for decryption are sent directly to Tesla and do not pass through the developer's servers.
- Speed-camera reports (optional): only when you tap a report such as "Confirm" or "Doesn't exist" on a speed-camera alert are the camera's coordinates, the report type, the App version, and GPS accuracy sent, together with a random identifier stored on your device (replaced about every 30 days and not linked to your account or identity). Downloading the speed-camera database does not send your location.
- OTA software version sharing (optional, off by default): only when your subscription is active and you yourself turn on "Share OTA version" under "Connection Doctor" in the App, the App reads the vehicle software version numbers currently installed and pending on your authorized vehicle, together with the official release notes provided by Tesla, and sends them to the developer’s backend. They are used to help compile the public OTA software update information that we operate (for example, what each version changes). The backend temporarily keeps version observation records tied to your vehicle for internal compilation only; they are not made available to anyone else. Only software version numbers and the official release-note content are made public; your identity, account, VIN, and vehicle location are never published or provided to others.
2. Bluetooth (BLE) Data and Sentry Footage — Processed Locally Only
The Live Dashboard communicates with your vehicle directly over Bluetooth; BLE vehicle state is processed and displayed only on your device and is not uploaded. Sentry Videos reads only files or folders you select, and previews, edits, and exports footage locally. Photo-library access is used only for media you select or for saving exports. These files are not uploaded unless you separately choose to use the AI Light Show feature.
Sentry footage decryption (iOS and Android): the video files themselves are never uploaded. If footage recorded by the vehicle is encrypted, only when you actively tap "Sign in to Tesla" and "Decrypt this event" (or the equivalent decrypt action) does the App complete authorization on Tesla's official sign-in page (auth.tesla.com) and send the authorization code, tokens, and the information in the video header needed to obtain the decryption key (the wrapped key, key ID, timestamp, public key, and the vehicle identification number, VIN) directly to Tesla (auth.tesla.com, dashcam.tesla.com). This data does not pass through the developer's servers. Tokens are kept only on your device (iOS: Keychain, not synced to iCloud; Android: the App's private directory, encrypted with the Android Keystore and excluded from system backup). The App never receives your Tesla password. Tesla's handling of this data is governed by Tesla's own privacy policy.
3. Where Data Is Stored
- Supabase (backend, authentication, database, and private temporary storage): account and device identifiers, Tesla authorization data, VINs, purchase status, push tokens, charging data and location, trip logs, optional AI job records, and feedback reports with any diagnostic log excerpt you consented to attach, plus optional OTA software version observation records (only while "Share OTA version" is on). On Android this also includes Google Play purchase-verification records (product ID, purchase token and its hash, subscription status and expiry) and the Firebase installation ID (FID).
- iCloud (iOS only): some device settings and preferences may sync through your own iCloud account. That data exists only in your personal iCloud storage and is not accessible to the App's developer. The Android version has no iCloud.
- Android system backup (Android only, Pro subscribers): if Android backup is turned on, the charging-record database (vehicles, charging records, favorite destinations) and two charging settings (electricity rates, free-charging locations) are backed up by the Android system to your own Google Account. Google stores and processes this backup; the developer's servers never handle it and the developer cannot access it. BLE keys and pairing, Tesla and Supabase tokens, Sentry footage, and light-show files are not part of the backup. You can turn backup off or manage it in your Android system settings (the exact location varies by device maker).
- On-device: BLE live dashboard data, Sentry footage, App settings, and Sentry decryption tokens.
4. Subscriptions and Payment
Paid subscription features are processed through Apple App Store (In-App Purchase). All credit card numbers and billing information are collected and held directly by Apple. The App and its developer never access or store any of your payment information.
On Android, paid subscriptions and one-time purchases are processed through Google Play; your payment method, card number, and billing details are collected and held by Google. The App sends only the product ID and purchase token to the developer backend, which verifies the entitlement with Google and never handles payment data. To cancel, open Google Play: Play Store › Payments & subscriptions › Subscriptions, choose EVStudio, and cancel; in the App, Settings › Account & Subscription › Manage Google Play Subscription also opens that page.
5. Third-Party Services
The App relies on the following third-party services to provide its features:
- Apple (iOS): In-App Purchase (subscription payments), iCloud (device sync).
- Google Play (Android): subscription and one-time-purchase payments, and purchase verification by the backend through the Google Play Developer API.
- Firebase Cloud Messaging (Android): delivers charging-record update notifications.
- Android system backup (Android, Pro subscribers): Google stores the backup in your own Google Account.
- Supabase: backend storage and sync for account and charging record data.
- Tesla Fleet API: retrieves telemetry for your authorized vehicle(s).
- Google Maps: navigation route planning and map display (on Android, the Google Maps SDK and Google Routes API).
- Google Gemini (iOS): processes audio and directing instructions only when you use the AI Light Show feature.
- Tesla (Sentry footage decryption, iOS and Android): only when you actively sign in and decrypt, the authorization and the decryption-key request go directly to Tesla (auth.tesla.com, dashcam.tesla.com).
- Netlify: hosts this website. Not embedded in the iOS App.
Each service's data handling is additionally governed by its own privacy policy.
6. Data Deletion and Retention
Cloud account data is retained while needed to provide the service. In the App, go to Settings → Account & Subscription → Delete App Account & Cloud Data (in versions before 2.5.0: Settings → Tesla Account; on Android the path is the same: Settings › Account & Subscription › Delete App Account & Cloud Data, which appears only once a cloud account exists, so if it is absent there is no cloud data to delete) to permanently delete the anonymous account and developer-held Tesla access and refresh tokens, VIN mappings, push tokens, subscription-entitlement mapping, cloud charging records, trip logs, location, telemetry, and AI job or temporary-upload data associated only with that account. This cannot be undone. If the same vehicle remains independently authorized by another account, shared vehicle telemetry and the trip logs that account can also see are retained for the account that still has access. To prevent other accounts on the same vehicle from seeing trips that are not theirs, we keep the vehicle's claim start and end times without any account identifier. Charging records and files stored only on the device are not automatically erased with the cloud account; you can clear them manually or by removing the App. If in-app deletion cannot be completed, contact us for assistance.
Deleting the App account does not cancel an Apple or Google Play subscription. Apple or Google manages subscription billing, so cancel separately in Apple's subscription-management screen or, on Android, in Google Play (Play Store › Payments & subscriptions › Subscriptions) if you no longer want the paid service. The service deletes the Tesla OAuth tokens it holds; Tesla's separate third-party-app consent can be revoked in Tesla's access-management page.
Requesting deletion without opening the App: email evstudio.app@gmail.com with the subject "Account deletion request" (add "Android" if you use the Android version), say that you want your App account and cloud data deleted, and include identifying information that lets us find your account: (1) your Google Play order number (starts with GPA., found in the purchase receipt email or Play Store › Payments & subscriptions; available only if you purchased on Android); (2) if you authorized Tesla, the VIN of the authorized vehicle; (3) if you ever sent feedback from the App, the email address you entered. If you cannot provide any of these (for example, you never purchased, authorized, or left an email), we cannot map a request to your anonymous account from outside the App, so please delete it inside the App instead. To prevent impersonation we may ask for additional information to confirm it is you. We complete deletion within 30 days of receiving the request and reply to the sending address; the scope of deletion and what is retained are as described in this section.
Android: what is retained after deletion: Google Play purchase-verification records and the push identifier are deleted with the account. So that you can restore a purchase if you recreate an App account with the same Google Account, and so support can review disputes, we separately keep an irreversibly hashed buyer-ID mapping and a purchase-transfer audit record (only anonymous UUIDs and hashes, with no raw purchase token or payment data), deleted automatically after at most 90 days. Android system backup is stored by Google in your own Google Account and is not affected by in-App deletion; manage it in Android system settings. Google Play's order and payment records are kept by Google under its own rules and we cannot delete them.
Feedback: report text is retained until the issue is resolved and for later comparison; any attached diagnostic log excerpt is deleted automatically 90 days after submission. You can email us at any time to have your reports deleted.
OTA software version sharing: you can turn off "Share OTA version" under "Connection Doctor" in the App at any time. Once it is turned off, or your subscription lapses, the App stops collecting and the private version observation records tied to that vehicle are deleted. The software version numbers and official release-note content already compiled into the public OTA update information are retained; they contain no personal data.
7. Website Hosting and Analytics
This website (evstudio.netlify.app) is hosted on Netlify. Apart from server access logs generated by the hosting service itself, the site uses no third-party analytics and embeds no tracking or advertising code.
8. Children's Privacy
The App is not directed at children under 13 and does not knowingly collect personal data from children.
9. Changes to This Policy
If this policy changes materially, an updated version with a revised date will be posted on this page.
10. Contact Us
For privacy-related questions, or to request help deleting your data, please contact us:
- Email: evstudio.app@gmail.com
- Website: evstudio.netlify.app