This is the English version of a document originally drafted in Romanian. The Romanian version is available at greenlead.ro/spark/confidentialitate. Both versions describe the same processing activities.
1. Who we are
The Spark – Solar Assistant mobile app (“Spark”, “the app”) is operated by:
Nova Carpathians Creations S.R.L., a Romanian company, VAT no. RO40526927, Trade Register no. J7/158/2019, registered office at Sat Câmpeni (Com. Prăjeni) no. 80, Botoșani county, 717306, Romania — the same company that operates the GreenLead platform (greenlead.ro).
- E-mail: contact@greenlead.ro
- Phone: +40 754 389 035
For the purposes of Regulation (EU) 2016/679 (GDPR), we are the controller of the personal data processed through the Spark app.
We are not legally required to appoint a Data Protection Officer (DPO), but you can use contact@greenlead.ro for any GDPR request.
Relationship with the GreenLead platform
Spark is a mobile app separate from the greenlead.ro web platform, but it uses the same account infrastructure. If you already have an account on greenlead.ro, your Spark account is the same account, and part of your profile (name, e-mail, phone, locality, details about your photovoltaic system) is shared between the two services.
The general GreenLead privacy policy (available in Romanian) continues to apply to the web services — installer matching, quotes, configuration requests. This document covers the Spark mobile app specifically and prevails for the data described below.
2. In short: what you need to know
- Spark reads your photovoltaic system data from your account with the inverter manufacturer and uses it to show you production, consumption, battery state and any faults.
- To do that, we store the credentials you enter for your inverter cloud (section 4.3 — please read it, it matters).
- The questions you ask the Spark assistant, the photos you add for diagnostics and, if you use the voice features, what you say into the microphone, are sent to external artificial intelligence providers (mainly OpenAI) so they can generate the answer. We do not keep recordings of your voice.
- We do not sell your data. We do not use it for advertising. We do not give it to installers without your explicit request.
- The app does not access your phone's location. The coordinates used for the weather forecast come from the locality you enter in your profile or from the plant data reported by your inverter.
- We send you a small number of e-mails about getting started with the app and about what's new; you can stop them at any time (section 3.6).
- You can delete your account entirely from within the app (Profile → Delete account).
3. What data we collect and why
3.1 Account data
| What | Source | Legal basis |
|---|---|---|
| E-mail address, password (stored as a hash by our authentication provider) | From you, at sign-up | Performance of the contract (Art. 6(1)(b) GDPR) |
| First and last name | From you, at sign-up or in your profile | Performance of the contract |
| Apple or Google account identifier | From Apple/Google, if you choose “Continue with Apple” / “Continue with Google” | Performance of the contract |
| Interface language | From your app settings | Performance of the contract — so that e-mails about your account reach you in your language |
| Phone number (optional) | From you | Legitimate interest — contacting you when needed (Art. 6(1)(f)) |
If you use Sign in with Apple, Apple may hide your real e-mail address behind a privaterelay.appleid.com alias. We only receive and store the alias.
3.2 Your energy profile
You enter these yourself, during onboarding or later in your Profile, and Spark uses them to produce every calculation relevant to your home:
- your country, from which we derive the currency and the time zone used for notifications (the time zone of your phone, where it matches the country)
- locality, county (in Romania), address and property type, floor area, number of occupants
- whether you have photovoltaic panels, installed capacity (kW), number of panels, inverter brand
- battery capacity (kWh), whether you have a heat pump and its rating, whether you have an electric vehicle and its battery capacity
- estimated monthly bill, the actual energy price in your contract and the price you receive for the energy you export, in your local currency, contract type, supplier
- your main appliances, consumption pattern and the hours during which you consume
- the applicable settlement scheme (prosumer / consumer), export status (in Romania)
- the system's installation date and investment value, if you choose to enter them (used solely to compute payback)
Legal basis: performance of the contract — without this data the app cannot produce the estimates and recommendations that are the very purpose of the service.
3.3 Your inverter connection
When you connect a photovoltaic system, you give us the credentials for your account on the manufacturer's platform (for example Huawei FusionSolar, Sungrow iSolarCloud, Deye Cloud, SolisCloud, Growatt ShineServer, Victron VRM, FoxESS Cloud, SolaX Cloud, or others added later). Specifically, we store:
- the chosen provider and server region
- the username / e-mail address of that account
- the access credential (the account password or, for some brands, a system code / API key)
- access and refresh tokens, where the brand uses OAuth-style authentication
- your plant's code and name
Legal basis: performance of the contract, at your explicit request. See section 4.3 for how this data is protected.
For brands you connect by signing in on the manufacturer's own page, we also record the IP address from which the connection was started, to protect the process against abuse; it is deleted together with your account.
3.4 Your photovoltaic system data
Retrieved automatically and periodically from your account with the inverter manufacturer, for as long as the connection remains active:
- solar production, household consumption, import from and export to the grid
- battery state and state of charge, charge/discharge power
- technical parameters reported by the inverter: voltages and currents per phase and per string, frequency, temperatures, insulation resistance, equipment states
- alarms and error codes reported by the system
- consolidated daily totals (production, self-consumption, import, export, peak power, hourly curve)
This data is kept as history so we can show you trends over time, detect production anomalies and run routine checks.
Legal basis: performance of the contract.
3.5 The Spark assistant, voice and Diagnostics
- the content of your conversations with the Spark assistant (your messages and the generated answers) — sent to the AI provider to produce each answer, together with the relevant data about your system; general conversations are not stored on our servers, only shown in the app while it is open
- the content of diagnostic sessions (your messages and the generated answers), which are stored so that you can return to them
- the photos you take or pick from your gallery for diagnostics or in a conversation with Spark (usually pictures of the inverter, of an error display or of the installation)
- session metadata: equipment type, the selected problem, the error code, whether the problem was marked as resolved
Photos are sent to the artificial intelligence provider to be analysed. They are not saved — neither in our database nor in our file storage; they exist only for the duration of processing the request.
The camera and photo gallery are accessed only when you explicitly tap the button to add a photo. The app does not access your gallery in the background.
Voice and microphone
The app uses your phone's microphone only while you are using a voice feature and only after you have granted the microphone permission at operating-system level:
- Dictation (all plans): the recording of your message (at most 60 seconds) is sent to OpenAI to be turned into text; the text appears in the message box, and you decide whether to send it. The recording is forwarded and discarded — we do not store it.
- Spoken replies (Spark Pro): the text of Spark's answer is sent to OpenAI, which returns it as synthetic speech; the audio is kept only temporarily in your phone's cache.
- Voice conversation (Spark Pro): your voice is streamed directly from your phone to OpenAI (it does not pass through our servers), so OpenAI also receives your device's IP address. To answer, the voice model receives a short context from us — your first name, the current figures of your system, your list of plants, your country and the last few messages of the conversation — and asks our servers for any further data it needs. The written transcript is shown in the app while it is open and is not stored on our servers.
For all voice features we record only technical usage data (duration, amount consumed, model used), to apply the plan limits and control costs. We never store the audio, and we do not store the text either — except that, when an error occurs, a short fragment of a conversation may appear in an error report (section 3.7). The voice in which Spark speaks is synthetic, generated by artificial intelligence.
Legal basis: performance of the contract; access to the microphone, the camera and the gallery additionally depends on the permission you grant in your phone's settings, which you can withdraw at any time.
3.6 Notifications and e-mails
- your device's push notification token, the platform (iOS/Android) and the active/inactive state
- your notification preferences (daily recommendations, price alerts, inverter alarms and the thresholds you choose)
- a log of the notifications sent: type, title, delivery status and any errors
Legal basis: consent (Art. 6(1)(a)) — you grant notification permission at operating-system level and can withdraw it at any time from your phone's settings or from Profile → Notifications in the app.
E-mails. Besides the e-mails strictly needed for your account (confirming your address, resetting your password), we send you, in your interface language:
- up to three getting-started e-mails in the first week after sign-up (a welcome note, a reminder if you have not yet connected your system, a note after seven days);
- occasional e-mails about what's new in Spark, when we release important features.
We keep a record of which getting-started e-mails we have sent you and when, so that you never receive the same one twice. The e-mails are sent through Resend. You can stop them at any time by replying STOP (or by writing to contact@greenlead.ro); we then add your address to a do-not-send list, which we keep precisely so that we respect your choice — including after you delete your account.
Legal basis: performance of the contract for account e-mails; our legitimate interest (Art. 6(1)(f)) in helping you start using the app and in informing existing users about our own similar services, with the right to object at any time, in every e-mail.
3.7 Usage and technical data
- usage events in the app: opening the app, screens visited, onboarding steps completed, connecting/disconnecting an inverter and the outcome (success/error, without credentials), sending a message to Spark, using a voice feature, starting a diagnostic session or a routine check, hitting the free plan limit, viewing and interacting with the subscription page, the result of a purchase, changing language, sharing an image from the app
- for each event: app version, platform, a session identifier and the timestamp
- AI model usage metrics: the function called, the provider and model used, the number of tokens consumed, latency, whether the call succeeded and any error code — used to control costs and limits, not for profiling
- the usage events above are also sent to PostHog, where we analyse them in aggregate: how activation goes, how often you come back, and where users get stuck. The data is hosted on PostHog’s European Union servers and identifies you only by an internal account identifier, never by email. The app contains no PostHog module: the events are sent from our servers, and your IP address is not transmitted
- error and crash reports, collected through Sentry, configured not to include default personal data; a report about a faulty answer may contain your internal account identifier and a short fragment of the text of that answer
- your interface language preference
- feedback you choose to send us from the app (your message and, if you attach one, a screenshot), together with your phone model, operating system version and app version, stored in our private storage and forwarded to our support inbox
Legal basis: legitimate interest (Art. 6(1)(f)) — to understand how the app is used, detect defects and keep the cost of the service under control. We do not build advertising profiles and we do not sell this data.
3.8 Subscriptions
When you purchase a Spark Pro subscription, payment is processed entirely by Apple (or Google, on Android). We do not receive or store your card details. We only receive confirmation that the subscription is active, linked to your account identifier, in order to unlock your paid features. The purchase status is managed through RevenueCat, which receives your internal account identifier and the details of your purchases from Apple or Google.
Legal basis: performance of the contract.
3.9 What we do NOT collect
- Your phone's location. The app does not request or use the location permission. Coordinates for the weather forecast are derived from the plant position as reported by the inverter manufacturer's platform or from the locality and country you enter in your profile.
- Contacts, calendar, health or other sensitive data, and no recordings of your voice.
- Special categories of data within the meaning of Art. 9 GDPR.
- We do not track your activity in other apps or websites and we do not display advertising.
4. Who we share data with
We do not sell or rent your data. We share it only with the following providers, strictly to operate the app, each under a data processing agreement:
4.1 Infrastructure and service providers (processors)
| Provider | What they process | Where |
|---|---|---|
| Supabase (infrastructure on Amazon Web Services) | Account, profile, inverter data, diagnostic sessions, notifications, feedback — effectively the whole database, file storage and the server functions | European Union (Frankfurt, Germany) |
| OpenAI | The content of conversations with Spark and of diagnostic sessions, diagnostic photos and your system's technical context, in order to generate the answer; daily recommendations; voice features — dictation recordings, the text of spoken replies and, for voice conversation, your voice streamed from your phone together with your IP address (section 3.5); indexing our technical knowledge base | USA |
| Google (Gemini API) | Only as a backup for generating daily recommendations, when the main provider does not respond: your profile and your system's technical context | USA |
| Expo (Expo Application Services) | The push notification token and the content of push notifications sent to your phone; delivery of app updates (your device's IP address) | USA |
| Sentry | App error and crash reports | European Union / USA |
| PostHog | App usage events (section 3.7), tied to an internal account identifier; no email and no IP address | European Union |
| Open-Meteo | Approximate geographic coordinates (plant position or locality), for the weather forecast, and the name of the locality and country you enter, to find its coordinates. Some requests are made directly from your phone, so Open-Meteo also sees your device's IP address; it receives no account identifier | Europe |
| RevenueCat | Subscription status and purchase history, tied to your internal account identifier (section 3.8) | USA |
| Resend | Your e-mail address and the content of the e-mails we send you (section 3.6); feedback you send from the app, forwarded to our support inbox | USA |
| Vercel | Hosting of our website greenlead.ro, through which you return to the app when you connect an inverter on the manufacturer's own sign-in page; your IP address, as for any website visit | USA / European Union |
The artificial intelligence providers we use are engaged through their developer interfaces, which provide that data submitted via the API is not used to train their models. OpenAI may keep the data it receives through its API for up to 30 days, to detect abuse, and then deletes it.
Apple and Google process the payment for subscriptions and, if you choose “Continue with Apple” / “Continue with Google”, your sign-in, as independent controllers, under their own privacy policies; from them we receive only the subscription status and, at sign-in, your account identifier, name and e-mail address.
4.2 Inverter manufacturers' platforms (independent recipients)
When you connect an inverter, we transmit your credentials to that manufacturer's platform (Huawei, Sungrow, Deye, Solis, Growatt, Victron, FoxESS, SolaX etc.), in order to authenticate on your behalf and read your plant's data.
These companies are independent controllers for the account you hold with them, and your relationship with them is governed by their own privacy policies, not by this one. Many of them are located outside the European Union (China and other jurisdictions). This transmission is necessary to provide the service you request when you connect an inverter (section 5).
4.3 A candid note about inverter credentials
The credentials for your inverter cloud are needed so the app can periodically read your system's data in the background — including while your phone is switched off. For that reason they are stored by us, not merely used once.
How they are protected:
- the database is hosted in the European Union and is encrypted at rest at storage level by the infrastructure provider;
- all transmissions are encrypted (TLS);
- access is restricted through row-level security policies, so that one user cannot read another user's connection;
- credentials are never displayed back in the app, never appear in logs and are never sent to artificial intelligence providers.
What you should nonetheless know
These credentials do not benefit from additional, separate field-level encryption beyond the protections above. Where the manufacturer's platform allows it, we recommend using a dedicated account with limited rights instead of your main administrator account. You can delete the connection from the app at any time, and the stored credentials are removed along with it.
4.4 Other situations
We may disclose data where the law requires it, upon a lawful request from an authority, or to defend our rights in court. If the company were ever involved in a merger or acquisition, data could be transferred to the new entity, with prior notice to you.
We do not pass your data to installers in the GreenLead network unless you explicitly ask us to (for example, by sending a technical sheet to an installer or through a quote request).
5. Transfers outside the EU
Some of the providers listed above (OpenAI, Google, Expo, Sentry, RevenueCat, Resend, Vercel) process data in the United States. These transfers are carried out on the basis of the mechanisms set out in Chapter V of the GDPR — Standard Contractual Clauses adopted by the European Commission and/or the EU–U.S. Data Privacy Framework, as applicable. You can obtain a copy of these safeguards by writing to contact@greenlead.ro.
PostHog stores data in the European Union, but some of its subprocessors may process data in the United States. We have entered into a data processing agreement (DPA) with PostHog that includes the Standard Contractual Clauses, and PostHog is certified under the EU–U.S. Data Privacy Framework.
The transfer of credentials and read commands to the inverter manufacturers' platforms (section 4.2) is carried out on the basis of Art. 49(1)(b) GDPR — necessary for the performance of the contract concluded with you, at your request. Where a manufacturer offers a European server for its platform (for example Huawei, Sungrow, Deye and SolaX), we connect to that server.
6. How long we keep data
| Category | Retention period |
|---|---|
| Account and energy profile | For as long as the account is active |
| Inverter connection (including credentials) | Until you delete it in the app or delete your account |
| Raw system measurements (detailed periodic readings) | 90 days from recording |
| Consolidated daily totals | For as long as the account is active — they form the basis of your energy history |
| Alarms and error codes | For as long as the account is active |
| Diagnostic sessions | For as long as the account is active |
| General conversations with Spark, voice transcripts | Not stored on our servers — only in the app, while it is open |
| Voice recordings, diagnostic photos | Not stored — discarded once the request has been processed |
| Usage events and AI consumption metrics | 24 months from recording |
| Error reports (Sentry) | A maximum of 90 days |
| Log of notifications sent | 12 months from dispatch |
| Record of getting-started and what's-new e-mails sent to you | 24 months from dispatch |
| Do-not-send list (e-mail addresses that asked us to stop) | For as long as we send such e-mails — it is the only way to keep respecting your choice |
| Feedback sent from the app (message and screenshot) | 12 months from receipt |
| Your country, currency, time zone and the prices you declared | For as long as the account is active |
After you delete your account, we keep only: what the law requires us to keep (for example, accounting records relating to subscriptions, under Romanian tax legislation); the AI consumption metrics and the record of e-mails sent, which contain no message content, until the end of the periods above; and the do-not-send list. Copies held by our processors are deleted according to their own retention periods; the usage events already sent to PostHog stay tied only to an internal identifier which, once the account is deleted, no longer leads to you.
7. Your rights
Under the GDPR, you have the right:
- of access — to know what data we hold about you and to receive a copy;
- to rectification — to correct inaccurate data (you can edit most of it directly in your Profile);
- to erasure — you can delete your account directly in the app, Profile → Delete account; the operation is irreversible and removes the account, the profile, your country and prices, the inverter connection, the system history, diagnostic sessions, notifications and usage events (with the exceptions in section 6);
- to restriction of processing;
- to data portability — to receive your data in a structured, commonly used format, including during the 30 days after we announce the discontinuation of the service (art. 16.2 of the terms);
- to object to processing based on our legitimate interest, including the collection of usage events;
- to withdraw your consent at any time, where processing is based on consent (for example, push notifications), without affecting the lawfulness of prior processing.
You can exercise your rights by writing to contact@greenlead.ro. We respond within one month of receiving the request. For complex or numerous requests, that period may be extended by no more than two further months, in which case we inform you of the extension and its reasons within the first month (Art. 12(3) GDPR).
You also have the right to lodge a complaint with the Romanian National Supervisory Authority for Personal Data Processing (ANSPDCP) — Bd. G-ral Gheorghe Magheru nr. 28–30, sector 1, Bucharest; anspdcp.ro. You may equally lodge a complaint with the supervisory authority of the EU member state in which you habitually reside, work, or where the alleged infringement took place (Art. 77 GDPR) — the list of national authorities is published by the European Data Protection Board.
8. Security
We apply appropriate technical and organisational measures: encryption in transit (TLS) and at rest, isolation of data between users through row-level security policies, authentication through a specialised provider, restricted administrative access, logging of sensitive operations.
No system is entirely secure, however. If a personal data breach occurs that is likely to affect your rights, we will inform you without undue delay, in accordance with Art. 33–34 GDPR.
9. Children
Spark is intended for adults: the terms of use require users to be at least 18 years old, and we do not knowingly collect data of minors. If you become aware that a child has provided us with personal data, write to contact@greenlead.ro and we will delete it.
10. Automated decisions
The app automatically generates estimates, recommendations and technical verdicts based on your system's data. These are informational — they produce no legal effects concerning you and do not constitute automated decisions within the meaning of Art. 22 GDPR. You may always disregard them or ask for a human opinion by writing to us.
11. Changes to this policy
We may update this policy when we add new features or change providers. The current version is always available at greenlead.ro/spark/en/privacy and in the app, under Profile → Privacy Policy. The date of the last update appears at the top of the document. For significant changes, we will notify you in the app. This policy is available in Romanian, English, Spanish, German, Hungarian and Polish; all versions describe the same processing.
12. Contact
Nova Carpathians Creations S.R.L.
Trade Register no. J7/158/2019 · VAT no. RO40526927
Sat Câmpeni (Com. Prăjeni) no. 80, Botoșani county, 717306, Romania
contact@greenlead.ro · +40 754 389 035
The terms of use for the Spark app are available at greenlead.ro/spark/en/terms.