Privacy Policy for BMS Pal
Effective Date: October 13, 2026
1. What We Never Collect
BMS Pal has no user accounts and no sign-in. We do not collect, and the app does not transmit, any of the following — ever:
- Names, email addresses, or contact information.
- Location data.
- Advertising identifiers, analytics, usage tracking, or crash reports.
- Anything in the background: the app makes no automatic or scheduled network transmissions. The only network activity, other than the App Store or Google Play services that deliver and license the app, happens when you explicitly tap a button, as described below.
2. Your Data on Your Device
Battery telemetry (voltages, current, temperature, state of charge, and history), your device profiles and groups, and saved sanity-check reports live only in the app’s local storage on your device. You can delete any saved device, its history, and its saved reports in the app at any time. If you use your device’s own backup (iCloud Backup on Apple devices, or Android Backup to your Google Account), the app’s local data may be included in that backup like any other app’s; the backup belongs to your Apple or Google account and is never sent to us.
To keep the free trial fair across reinstalls, the app stores a single trial-start timestamp — in your device’s Keychain on Apple devices, in the app’s private storage on Android. It contains no personal information and is never sent to us. Purchases are handled entirely by Apple through the App Store or by Google through Google Play; we never see your payment details.
3. Battery Data & Bluetooth
BMS Pal uses Bluetooth Low Energy strictly to communicate locally with your battery hardware. Bluetooth data is not sent anywhere else.
On Android, the app requests only the Bluetooth scan and connect permissions; the scan permission is declared as never used to derive your location, and the app holds no location permission at all. While a battery is connected, live monitoring runs as a foreground service with a visible notification (the app may ask for permission to show it), and that service ends when the connection does.
4. Data You Can Choose to Share With Us
The app has optional features that send data to our service at api.bmspal.app only when you explicitly tap a Share / Send / Check button:
- Sanity Check — sends your BMS configuration and a live telemetry snapshot so a review report can be generated.
- Confirm Device Support — sends your device’s protocol details and a telemetry snapshot to confirm compatibility and improve the supported-device list.
- Report a Problem / Send Feedback — sends the text you write, a diagnostic summary of the app and your connected devices, and, only if you attach them, screenshots you choose.
The share screen offers a copy-to-clipboard of the exact payload sent, so you can inspect precisely what was shared. The service is account-free: no user accounts, no install identifiers, and no per-user identifiers of any kind in these payloads. A sanity-check request includes your preferred report language (for example “en-US”) so the report reads in your language — a coarse preference, not an identifier. Screenshots are entirely your choice; please avoid including personal information in them.
Our service runs on Cloudflare’s infrastructure. As with any internet service, network metadata such as your IP address is processed transiently to deliver a request you make; BMS Pal’s own records do not store your IP address.
5. AI Processing of Shared Data
Sanity Check reports and support triage of problem reports (including any screenshots and diagnostics you attach) are generated by large-language-model providers we select on the server. All AI traffic is routed through Cloudflare. As of this policy’s Effective Date, Sanity Check reports use OpenAI, reached through OpenRouter (a model-routing service), with a Cloudflare-hosted Meta Llama model as an automatic backup, and Anthropic (Claude) may also be selected; problem reports are triaged by Anthropic (Claude), reached through Cloudflare’s AI gateway. For traffic routed through OpenRouter, we have configured it to disallow providers that train on submitted inputs, to disable request logging at the routing layer, and to require zero-data-retention endpoints for the Anthropic, OpenAI, and Google provider families. No account or user identifier accompanies any AI request. If we materially change which providers can process shared data, we will update this policy first.
6. EcoFlow Sign-In (Optional)
If you add an EcoFlow device, the app offers a “Sign in to EcoFlow” step, because EcoFlow devices require an account-derived key to communicate. When you tap it, the email and password you type are sent once, directly to EcoFlow’s own login service (api-*.ecoflow.com). BMS Pal never stores, logs, or reuses your credentials; only the account token and numeric account ID EcoFlow returns are kept, in your device’s secure credential storage (the Keychain on Apple devices; Android’s Keystore-encrypted app storage, which is excluded from Android backups), to unlock communication with your own device. Where your EcoFlow device reports through EcoFlow’s cloud, the app uses that token to read your device’s data from EcoFlow’s servers over an encrypted connection; that data is shown on your device and is never sent to us. Nothing happens unless you use this feature and tap sign in, and signing out in Settings deletes the stored token.
7. Retention and Deletion
Shared data is kept only as long as it is useful, then deleted automatically:
- Sanity-check and device-confirmation requests: deleted within 7 days.
- Problem reports, their message threads, and attached screenshots: kept while the report is open, then deleted 90 days after it is resolved. Screenshot uploads never attached to a report are deleted within an hour.
- Anonymous device-compatibility statistics (protocol and model identifiers only — no telemetry, no personal data) are retained to build the supported-device list.
Every problem report shows a reference code (a “bugRef”) in the app. To have a report and its data deleted early, contact us with that code — it is a support handle, not an identity.
8. Your Rights (GDPR, CCPA, PIPEDA, and similar)
Because BMS Pal holds no account and no identity for you, most privacy rights are directly in your hands: on-device data is yours to view and delete in the app, and shared data is deleted on the schedule above — or earlier on request using your reference code. We do not sell data, we do not profile users, and we hold nothing that links shared data to you as a person.
9. Children
BMS Pal is a hardware utility not directed at children, and we knowingly collect no data from anyone, including children.
10. Data Security
Shared payloads travel over TLS and carry an integrity signature to prevent tampering. Our service stores only the minimum described above, on Cloudflare infrastructure. You remain responsible for securing your own devices.
11. Changes to This Policy
We may update this policy from time to time; changes are reflected by the Effective Date at the top of this page. If a change materially expands what can be shared or who processes it, the policy update lands before the change ships.
12. Contact
Questions or deletion requests: email hello@support.bmspal.app, use Settings → Support and Feedback in the app (reachable without a purchase), or contact the developer through the App Store or Google Play support channel.