BacktestLab Privacy Policy
Effective: October 31, 2026
What BacktestLab (the “app”) sends, where it goes, and what it never sends.
1. Accounts
The app has no accounts. It never asks for your name, email or phone number.
2. What stays on your device
Your plans, holdings (shares and average price), buy records and saved runs are stored only in a database on this device. They are not sent to our server, and deleting the app deletes them.
Backup files you create are not encrypted and stay only where you save them (Files, another app, etc.). We never receive them.
3. Anonymous usage stats (Google Firebase Analytics)
Sent only while “Send usage stats” is on in Settings.
- Sent: which screens you open, how often you use features (e.g. creating a plan, recording a buy), app version, device and OS model — tied to a random ID used only for this install. Firebase can infer your approximate country from the connection.
- Never sent: tickers, amounts, holdings, plan contents, or the advertising identifier (IDFA). Ad storage, ad user data and ad personalisation consent are always set to denied.
- When it starts: in the EEA, the UK and Switzerland you are asked once, after your first plan, and stats are sent only if you agree. Elsewhere it starts after your first plan, with a one-line notice on that screen. Nothing is sent when you first open the app.
- Turn off: Settings → “Send usage stats”. It stops immediately.
4. Crash and error reports (Firebase Crashlytics)
While “Send crash reports” is on in Settings (on by default), only the following is sent:
- When the app crashes: where it stopped (stack trace), device and OS model, and app version.
- Non-crash problem reports: a price download failed (data_fetch_failed), which screen showed an error (user_visible_failure), and how often a notification could not be filled in on the device (nse_fallback).
- No user ID, numbers you typed, tickers or amounts are attached. Turning it off stops it immediately.
5. Market-close summary and price alerts
If the summary is on, only a push token (Apple APNs), the app language and whether it is a test build are sent to our server so the notification can reach you. No plans, tickers or amounts are sent; the text is filled in on the device.
Turning the summary off deletes the token from the server. Otherwise the token is deleted automatically 90 days after it was last registered.
For price alerts, only the tickers in your plans are sent with the token, never amounts or holdings. Turning an alert off deletes them from the server. This is not used for tracking.
6. Prices
Prices are requested directly from the device to the market-data provider (currently Yahoo Finance). The ticker being looked up is sent and, as with any internet request, the provider can see your device's IP address. What you hold, and how much, is not sent.
7. Ads (Google AdMob)
- Where the law asks for your choice (EEA, UK and similar), Google's consent form (UMP) asks first, and you can change it any time under “Ad personalisation” in Settings.
- On iPhone, App Tracking Transparency asks. If you allow tracking, ads may be personalised with the advertising identifier (IDFA); if you don't, ads are shown without it.
- While an ad is shown, Google's ad SDK collects the advertising identifier (if allowed), device and usage details, approximate location and diagnostics. No feature in this app uses location, and the app does not receive or keep it.
- How Google uses data: https://policies.google.com/technologies/partner-sites
8. Sharing
When you share a result, only what is printed on the image created at that moment leaves the app.