Privacy Policy
Last updated 11 October 2026
This policy explains what the PV Master web app collects, why, who else handles it, and how long it stays. It describes what the service does today; if that changes, this page changes first.
1. Who we are
The PV Master web app is run by BigBalli Consulting ("we", "us"). We decide what personal data the web app collects and why, which makes us the controller. You can reach us at [email protected].
This policy covers the web app at bigballi.com/PVMaster/app and its servers. The PV Master iPhone app is a separate product covered by the BigBalli apps privacy policy.
2. What we collect, feature by feature
The sample property
Without an account you can explore a sample property. It needs no personal data: we see your IP address, as every website does, and use it only to protect the service.
Signing in
You sign in with your email address and a one-time link we send you. We store your email address, a hash of the link token, a hash of a browser cookie that ties the link to the browser that asked for it, the time and your IP address. We never store the raw token.
When you sign in we create a session. We store a hash of the session ID, when it was created and expires, your IP address and the first 300 characters of your browser's user agent string, and we record when you were last seen.
Your account
We keep your email address, a SHA-256 hash of it, when the account was created, your answers to the start questions (who you are, your goal, how far along you are) and your settings (panel wattage, metres or feet, Celsius or Fahrenheit). Before you sign in, those answers and settings live only in your browser.
Your location and the properties you look up
A lookup needs a place. If you choose "Use my location", your browser asks your permission and gives us your coordinates. If you decline or it fails, we estimate a rough location from your IP address through our IP location service, which may ask an IP geolocation provider. If you search for an address, the text you type goes from your browser to Google Maps Platform to suggest addresses.
For each lookup we store the coordinates, the address, how the place was chosen, and the results: building data, climate history, current weather and the figures we derive from them. To get those results our server sends the coordinates, and no account details, to Google Maps Platform (building data), OpenWeather (weather) and NASA POWER (climate, coordinates rounded to about 1 km). Building data is deleted after 30 days, as Google's terms require; the rest of the lookup stays until you delete your account.
The map itself is drawn by Google Maps in your browser, so Google receives the map position and the technical details any browser sends.
The advisor
When you ask the advisor a question, our server sends OpenAI your question, your earlier questions and answers about the same property, and that property's data: its address, coordinates, building data, climate and weather. We do not send your email address, account ID or any other account detail. We store the conversation, tied to the lookup, until you delete your account, so you can reopen it. We keep a daily count of advisor calls and their cost, which holds no personal data. OpenAI states that it does not use data sent through its API to train its models.
Payments
Purchases are made through Link (Stripe) as merchant of record. Link collects your card or wallet details, billing address and any tax information, issues receipts, and handles tax, refunds and disputes. We never see or store your card number.
When you start checkout we pass Link your email address, your account ID, the plan and a network label (the first three parts of your IPv4 address, or the first part of your IPv6 address). We store the Stripe customer ID, subscription ID, plan, status, period dates, whether cancellation is set, and the charge ID of a lifetime purchase or single lookup.
Messages from us
We email you the sign-in link. We do not send marketing email from the web app.
Limits, errors and security logs
To apply the limits in the Terms we log a usage row for sign-in requests, checkouts, weather refreshes and single-lookup attempts: your account ID or IP address, the kind of request and the time. These rows are deleted after 31 days.
When something breaks on our servers or in your browser, a report is stored and emailed to us. Reports can hold the page, the error text, your account ID (as a number) and your browser family; we scrub email addresses, tokens and key-like strings before they are stored, and delete them after 90 days. A separate security log records sign-ins, purchases, access changes, limit trips and account deletions, each with the time, the account ID if any and the IP address. Its entries are deleted after 12 months.
3. Analytics
After it has removed sign-in tokens and checkout IDs from the address bar, the web app loads two analytics scripts: our own first-party beacon at bigballi.com/analytics and Google Analytics 4. They receive page paths and a short list of event names with at most a plan or source label. They do not receive your email address, account ID, addresses or coordinates you look up, or advisor conversations. Google Analytics sets its own cookies and receives the technical details a browser sends with any request. If you do not want this, block the scripts in your browser; the web app works the same without them.
4. Cookies and browser storage
We set two cookies, both only for /PVMaster: the session cookie that keeps you signed in (30 days, renewed while you use the app) and a short-lived cookie that ties a sign-in link to the browser that asked for it. Neither is used for tracking. The web app also keeps your start answers, settings, the last property you opened and whether you have answered the location prompt in your browser's local storage. Google Analytics sets its own cookies as described above.
5. Who else handles your data
- Link (Stripe): payments, as merchant of record.
- Google: maps, address suggestions and building data (Google Maps Platform), and Google Analytics. See the Google Privacy Policy.
- OpenAI: advisor answers.
- OpenWeather and NASA POWER: weather and climate for a pair of coordinates.
- Cloudflare: delivers the site and protects it from abuse; it sees requests in transit.
- Our hosting provider: runs the server that stores the data described here.
We do not sell or rent personal data, and we do not share it for advertising.
6. How long we keep it
Account data, lookups and advisor conversations stay until you delete your account; building data inside a lookup is deleted after 30 days. Sign-in tokens expire after 15 minutes and are deleted within a day of use. Usage rows are kept 31 days, error reports 90 days, payment event records 90 days and the security log 12 months. When you delete your account we delete your account data, lookups and conversations at once and keep only a one-way hash of your email address for 90 days, then delete that too.
7. Your rights
You can see and delete your lookups and account in the web app, and delete your account from the Account screen. You can also ask us for a copy of your data, to correct it, to restrict or object to how we use it, or to delete it, by writing to [email protected]. We answer within 30 days. Depending on where you live, you may also complain to a data protection authority. We process your data to provide the service you asked for (contract), to keep it secure and within its limits (legitimate interests), and to meet tax and legal obligations.
The web app is not meant for anyone under 16.
8. Where your data is stored
Our server is in the United States, and some of the providers above process data in the United States and elsewhere. Where the law requires it, transfers rely on the providers' standard contractual safeguards.
9. Changes
If this policy changes, we update the date above and, for material changes, tell signed-in users by email or in the app before the change takes effect.