Skip to content
HoriSol

HoriSol Privacy Policy

Last updated:

Only the German version of this privacy policy is legally binding. This translation is provided for information only.

This privacy policy applies to the mobile app HoriSol as well as to the website byteballoonapps.com, insofar as it is used in connection with the app.


1. Controller

Controller within the meaning of the GDPR and other national data protection laws is:

Malte Schlüter ByteBalloon Apps Waldallee 21 79110 Freiburg im Breisgau Germany Email: [email protected] Website: https://www.byteballoonapps.com

For further required details, see Imprint.


2. Principle: HoriSol is data-minimising

HoriSol is designed to process as little personal data as possible:

  • No user account, no registration, no sign-in.
  • No analytics without your explicit consent. By default we send no usage data whatsoever. Optionally — and only after you actively agree — we collect anonymous usage signals (see Section 3.4). No Firebase, no Sentry, no Google Analytics, no ad networks.
  • No advertising IDs (IDFA), no advertising tracking.
  • Photo analysis runs entirely on your device. The images you take for the shading analysis are never transmitted to a server by HoriSol.
  • Calculation results and inputs are stored locally on your device (in the local app database) and are not synchronised to any cloud.

There are, however, a number of technically necessary data processing operations, which we set out below in detail.


3. Processing within the HoriSol app

3.1 Location data

What we process: Geographic coordinates (latitude/longitude) that you either enter manually (via an address or postcode search) or optionally retrieve via your device’s GPS.

Purpose: The solar yield calculation requires a location in order to fetch the correct irradiation data. The coordinates are transmitted to the solar data providers described in section 4.

How: Determining the location via GPS is optional. You can always enter the location manually. If you use GPS, iOS will explicitly ask for your consent (“HoriSol would like to use your location”). You can withdraw this consent at any time in the iOS system settings.

Storage: Location data is stored exclusively locally on your device (in the app’s internal database, technically: Hive). It is not transmitted to us or to any of our servers.

Legal basis:

  • For GPS use: Art. 6(1)(a) GDPR (consent).
  • For manual entry: Art. 6(1)(b) GDPR (performance of contract — providing the function requested by the user).

3.2 Photos for the shading analysis

What we process: Photos you take for the shading analysis or select from your photo library.

Purpose: The app analyses the image locally on your device in order to detect shading at the planned installation site of your balcony solar plant.

How: All image processing takes place exclusively on your device. The photos are not transmitted to our servers, cloud services or third parties. iOS will ask for permission the first time the app accesses the camera or photo library. You can revoke this permission at any time in the iOS system settings.

Storage: Photos and analysis results remain in the app’s internal local database on your device until you delete them yourself or uninstall the app.

Legal basis: Art. 6(1)(b) GDPR (performance of contract).

3.3 Locally stored data

HoriSol stores the following data locally on your device without transmitting it:

  • Your plant configuration (number of modules, orientation, tilt, inverter output)
  • Your location entries and saved locations
  • Calculation results and yield estimates
  • Photos taken and imported for the shading analysis
  • App-internal settings
  • A local diagnostics log for in-app troubleshooting. It runs in memory (maximum 300 entries) and in a size-capped local buffer (approx. 400 KB) so that errors remain traceable across an app restart. Location details are coarsened to city level (~11 km) at the moment of writing; address, postcode and exact coordinates are removed. No data is transmitted automatically to us or to third parties. You can optionally send the log to support yourself by email (diagnostics export in Settings) — that transfer only ever happens through you. It is deleted on factory reset of the app.

You can delete all locally stored data at any time via the “Factory reset” function in the app settings. Uninstalling the app also removes all app data.

What we process: Anonymous signals about how the app is used — eleven events in total, from two areas:

  • Flow (5 events): onboarding started, wizard step completed (with the step number), results screen reached, system suggestion shown, system suggestion tapped. This tells us where users drop off so we can improve exactly that point.
  • Usage & Premium (6 events): premium prompt shown (with the name of the triggering feature, e.g. “detailed PDF report”), premium purchased, purchase restored, PDF exported (only the type: summary or detailed report), plant configuration created (only the count as a size bucket: 1 / 2 / 3–5 / 6+), flow restarted.

Only ordinal numbers and coarse categories are transmitted with these events (step number, feature name, report type, size bucket) — never your actual inputs or values.

What is explicitly never transmitted: Your inputs, your location or coordinates, your calculation results, your plant and consumption figures, prices or payment data. Likewise no user account, no advertising ID, no cross-device tracking, and no link to your identity.

Off by default. This collection stays disabled until you actively consent (consent notice in the app / toggle under Settings → Privacy). The service is only initialised after your consent; before that, no identifier is created and nothing is sent. You can withdraw consent at any time in Settings.

Processor: TelemetryDeck (TelemetryDeck GmbH), processing on servers within the EU. Data is processed anonymously and in aggregate.

Legal basis: Your consent (Art. 6(1)(a) GDPR) and Section 25(1) TTDSG for storing/accessing information on your device. Withdrawal is possible at any time with effect for the future.

3.5 In-app purchase “HoriSol Premium”

What we process: HoriSol offers a one-time premium unlock as an in-app purchase. The entire purchase is handled through Apple’s StoreKit and processed by Apple Inc.

What Apple processes: Payment data, your Apple Account and your purchase history remain entirely with Apple. At no point do we receive your payment data, your Apple Account or your name.

What is stored locally: Your device only stores the unlock status (premium yes/no) so that premium features remain available without repeated checks. Via “Restore purchases” you can re-obtain the unlock on a new device; that check also runs through Apple and your Apple Account.

Legal basis: Art. 6(1)(b) GDPR (performance of contract). Apple Inc. is independently responsible for data processing in the course of the payment transaction; Apple’s privacy policy applies.


4. External data sources (third-party interfaces)

HoriSol uses interfaces from external data providers for the solar yield calculation and address search. With each call, your IP address and the queried coordinates are technically transmitted to the respective provider. We do not store or receive this data ourselves.

4.1 PVGIS (Photovoltaic Geographical Information System) – EU

  • Provider: European Commission, Joint Research Centre (JRC), Italy
  • Endpoint: re.jrc.ec.europa.eu
  • Transmitted data: Latitude/longitude, module tilt, module azimuth, installed power (kWp), your IP address
  • Purpose: Retrieval of historical irradiation data and yield estimates for locations in Europe
  • Legal basis: Art. 6(1)(b) GDPR (performance of contract)
  • Location: European Union, no third-country transfer
  • Provider’s privacy notice: https://joint-research-centre.ec.europa.eu/legal-notice_en

4.2 NRL PVWatts – USA (only for locations outside Europe)

  • Provider: U.S. Department of Energy, National Renewable Energy Laboratory (NRL)
  • Endpoint: developer.nlr.gov
  • Transmitted data: Latitude/longitude, plant parameters (module tilt, module azimuth, installed power), an API key, your IP address
  • Purpose: Retrieval of yield data and solar irradiation for locations in the USA and neighbouring regions
  • When the call is made: Exclusively when you have a location outside Europe calculated. NRL is not queried for locations within Europe — only PVGIS (see 4.1) is used there.
  • Legal basis: Art. 6(1)(b) GDPR (performance of contract — only to the extent that you actively choose a non-European location).
  • Location: USA (third-country transfer)
  • Note on third-country transfer: NRL is a US government institution. A certification under the EU-US Data Privacy Framework does not exist by nature (US authorities cannot be DPF-certified). The transfer takes place only if you yourself choose a location outside Europe and is limited to technically necessary parameters (in particular no identification features, no user account). The lower level of data protection in the USA compared with the EU is hereby expressly noted.
  • Provider’s privacy notice: https://www.nrel.gov/security-privacy.html

4.3 NASA POWER – USA (global locations and technical fallback)

  • Provider: National Aeronautics and Space Administration (NASA), Langley Research Center
  • Endpoint: power.larc.nasa.gov
  • Transmitted data: Latitude/longitude, your IP address
  • Purpose and timing of calls: NASA POWER is queried in two cases:
    1. Global location coverage: When you have a location calculated outside Europe and outside the NRL coverage area, NASA POWER acts as a global data source.
    2. Technical fallback for Europe: If the primary European service PVGIS is temporarily unreachable (server outage, maintenance, rate limit), NASA POWER is queried once so the app can still carry out the calculation requested by the user. In regular operation NASA POWER is not queried for European locations.
  • Legal basis:
    • For regular operation (case 1): Art. 6(1)(b) GDPR (performance of contract).
    • For the fallback if PVGIS is down (case 2): Art. 6(1)(b) GDPR in conjunction with Art. 49(1)(b) GDPR (third-country transfer necessary for the performance of a contract between the data subject and the controller — the app must deliver the calculation actively requested by the user even if the EU primary service is unavailable). In this case, only the same data points (lat/lon, IP) are transmitted that would otherwise have gone to PVGIS.
  • Location: USA (third-country transfer)
  • Note on third-country transfer: NASA is a US government institution. A certification under the EU-US Data Privacy Framework does not exist by nature. The lower level of data protection in the USA compared with the EU is hereby expressly noted.
  • Provider’s privacy notice: https://www.nasa.gov/privacy/

4.4 Nominatim (OpenStreetMap) – United Kingdom

  • Provider: OpenStreetMap Foundation, United Kingdom
  • Endpoint: nominatim.openstreetmap.org
  • Transmitted data: Entered search term (address, place, postcode) or coordinates for reverse lookup, your IP address
  • Purpose: Geocoding — converting your address entry into coordinates (forward geocoding) or converting coordinates into a human-readable place name (reverse geocoding). Used in onboarding during location search and when displaying saved locations.
  • Legal basis: Art. 6(1)(b) GDPR (performance of contract).
  • Location: United Kingdom. The European Commission has issued an adequacy decision for the United Kingdom (originally dated 28 June 2021, extended in June 2025). Data transfers to the United Kingdom are therefore equivalent to transfers within the EU in terms of data protection level.
  • Provider’s privacy notice: https://wiki.osmfoundation.org/wiki/Privacy_Policy

4.5 OpenStreetMap map tiles – United Kingdom

  • Provider: OpenStreetMap Foundation, United Kingdom
  • Endpoint: tile.openstreetmap.org
  • Transmitted data: The displayed map section (tile coordinates, i.e. approximate map area and zoom level), your IP address, an app identifier as user agent
  • Purpose: Rendering the map view during location selection. Each time you pan or zoom the map, the required map tiles are loaded from the OpenStreetMap Foundation’s server.
  • Legal basis: Art. 6(1)(b) GDPR (performance of contract — rendering the map view you requested).
  • Location: United Kingdom; the EU Commission adequacy decision described in 4.4 applies.
  • Provider’s privacy notice: https://wiki.osmfoundation.org/wiki/Privacy_Policy

5. Crash reports via Apple

HoriSol itself does not collect any crash or diagnostics data.

If, in your iOS system settings under Privacy & Security → Analytics & Improvements → Share with App Developers, you have enabled sharing with app developers, Apple provides us with aggregated and anonymised crash reports via App Store Connect. This processing is carried out by Apple Inc. under its own responsibility; we only receive the processed, non-identifiable analyses in order to fix errors.

You can disable this function at any time in the iOS settings.


6. Processing on the website byteballoonapps.com

6.1 Hosting by Cloudflare

This website is delivered via the infrastructure of Cloudflare, Inc., 101 Townsend St, San Francisco, CA 94107, USA. Each time a page is accessed, the following data is technically processed:

  • Your IP address
  • Date and time of access
  • URL accessed and the referrer transmitted
  • Browser and operating system used (User Agent)

Cloudflare uses this data to deliver content, to detect and defend against attacks, and to ensure technical functionality.

Legal basis: Art. 6(1)(f) GDPR (legitimate interest in a secure and performant provision of the website).

Third-country transfer: Cloudflare is a US company. Cloudflare is certified under the EU-U.S. Data Privacy Framework (list of certified companies), so that an adequate level of data protection is guaranteed under the European Commission’s adequacy decision of 10 July 2023. Additionally, a data processing agreement with standard contractual clauses has been concluded with Cloudflare.

Cloudflare privacy policy: https://www.cloudflare.com/privacypolicy/

6.2 Cookies and tracking on the website

This website sets one technically necessary cookie to store your language preference (pref-lang, lifetime one year). Tracking, analytics or advertising cookies are not used. Consent under Section 25 TTDSG is not required for the technically necessary cookie (Section 25 (2) no. 2 TTDSG).


7. Storage period

  • Data in the app (locations, photos, calculation results, local event log): until manual deletion, factory reset or uninstallation of the app.
  • Server logs of the website (via Cloudflare): see Cloudflare’s privacy policy; usually a few days to weeks.
  • Data at third-party providers (PVGIS, NRL, NASA, OpenStreetMap): see the privacy policies linked above.

8. Your rights

Insofar as personal data is processed, you have the following rights vis-à-vis us:

  • Access to the personal data concerning you (Art. 15 GDPR)
  • Rectification of inaccurate data (Art. 16 GDPR)
  • Erasure of your data (Art. 17 GDPR)
  • Restriction of processing (Art. 18 GDPR)
  • Data portability (Art. 20 GDPR)
  • Objection to the processing (Art. 21 GDPR)
  • Withdrawal of consent with effect for the future (Art. 7(3) GDPR)
  • Right to lodge a complaint with a supervisory authority, e.g. the data protection authority responsible for you

Note: Since HoriSol does not maintain a user account and almost all data is processed exclusively locally on your device, many of these rights can be exercised directly by you — for instance via the in-app factory reset or by uninstalling the app.

For queries regarding data we may process in the context of website use, please contact us using the contact details provided in the Imprint.


9. Changes to this privacy policy

We reserve the right to adapt this privacy policy as soon as changes to the app, the website or the legal framework make this necessary. The current version is available at byteballoonapps.com/apps/horisol/datenschutz. The version in force at the time of data processing is authoritative.