Privacy policy
This policy covers the website lodeshaft.de and the Android app Lodeshaft. Last updated: October 2026. The German version is the legally binding one.
For the rules on using the website and game, purchases and the Komfort-Abo subscription, see: Terms
1. Controller
Kim Daniel Geisthardt, Kim Daniel Geisthardt Web Development, Dörffelstraße 12, 08527 Plauen, Germany. Email: support@kdg-webdev.de, phone: +49 3741 4685939.
2. Encryption
Website and app transmit data exclusively over TLS. In your browser you can tell by the https:// prefix and the lock icon.
3. Server logs
When you visit the website, your browser sends technical data: the page requested, time, amount of data, referring page, browser, operating system and IP address. This data is stored in server logs on a server we operate in Germany and deleted after no more than 14 days. The legal basis is our legitimate interest in the stability and security of the website under Art. 6(1)(f) GDPR. The data is not shared and is only reviewed if there are concrete indications of unlawful use.
4. Cloudflare
The website is delivered and protected by Cloudflare, Inc., 101 Townsend St, San Francisco, CA 94107, USA. Cloudflare processes connection data such as IP address, time and browser information. A data processing agreement under Art. 28 GDPR is in place; transfers to the USA rely on Cloudflare's certification under the EU-US Data Privacy Framework and on standard contractual clauses. Cloudflare's only cookie, cf_clearance, is set only after a security check. Legal basis: Art. 6(1)(f) GDPR.
5. Cookies and local storage
The website sets no advertising or analytics cookies and embeds no third-party trackers. The form pages (Become a tester, Delete data, Support) use one strictly necessary session cookie that protects the form against abuse and expires when you close the browser. Whether you have already seen the intro animation is stored in your browser's local storage; this value is never sent to us and can be removed in your browser settings.
6. Visitor counting
We count page views with a self-hosted Matomo instance on our own server, without cookies, without full IP addresses and without profiles. If your browser sends Do Not Track or Global Privacy Control, your visit is not counted. Legal basis: Art. 6(1)(f) GDPR.
7. Testing programme
For Lodeshaft's voluntary closed testing programme we process your Google Account email address, the time of your consent and signup, a hash of your IP address generated with a secret salt, and technical confirmation and unsubscribe tokens. We use this data to confirm your signup, manage participation and prevent abuse. The legal basis is your consent under Art. 6(1)(a) GDPR. The IP hash documents your consent; abuse-prevention data (rate limiting) is removed by the daily cleanup after its ten-minute window expires.
Your signup becomes active only after you confirm the link sent by email. Unconfirmed signups are deleted after seven days. Confirmed signups are kept until you withdraw consent, and no longer than 30 days after the test ends. To grant access to the closed test we share your confirmed email address with Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland, as the operator of Google Play. Confirmation emails are sent from our own mail server in Germany.
You may withdraw your consent at any time with effect for the future, using the unsubscribe link in every email or by writing to support@kdg-webdev.de. The unsubscribe link deletes your entry immediately; we also remove your address from the tester list at Google. Processing carried out before withdrawal remains lawful.
7a. Optional newsletter
If you select the optional newsletter checkbox and confirm your signup by email, we will also send you news about Lodeshaft. We store your email address, newsletter consent and its timestamp for this purpose. The legal basis is your consent under Art. 6(1)(a) GDPR. Without this additional consent, you only receive information about your test participation.
You can unsubscribe from the newsletter at any time using “Unsubscribe from newsletter only” in any email or by contacting support@kdg-webdev.de. You remain in the testing programme. We remove your newsletter consent and its timestamp when you unsubscribe. Your email address remains stored for the testing programme until you withdraw from it, and no longer than 30 days after the test ends. “Leave the testing programme completely” deletes your entire entry. Processing carried out before withdrawal remains lawful.
For mailings, we temporarily store a delivery list referencing your tester entry, with the send time or error status. Completed delivery lists are removed by the daily cleanup no later than 30 days after completion; leaving the testing programme removes your reference immediately. Emails are sent through our own mail server in Germany.
8. Deletion requests
On the Delete data page you can request deletion of your cloud save, your anonymous account with its leaderboard entries and your tester entry. We store the email address or player ID you provide and the time of the request until it has been processed, for no longer than 90 days. Legal basis: Art. 6(1)(c) in conjunction with Art. 17 GDPR.
9. Contact by email
If you email us, we process your details to answer your request and delete them once the matter is settled and no statutory retention duties apply. Legal basis: Art. 6(1)(b) or (f) GDPR.
9a. Feedback form
If you use the feedback form on the Support page (also reachable from the app settings), we store the type of feedback you chose, your message, the time, the app version and language passed on by the app and, only if you give it voluntarily, your email address. We send the same details by email to our operator address. We use them to fix problems, to improve the game and, where applicable, to answer your follow-up question. The legal basis is your consent under Art. 6(1)(a) GDPR. Please do not enter passwords, payment details or especially sensitive data in the text. The address opened from the app contains only the app version and language, no personal data.
We delete feedback no later than twelve months after receipt through the daily cleanup, earlier on withdrawal or on request to support@kdg-webdev.de. The email is sent through our own mail server in Germany. To protect against abuse, the same strictly necessary session cookie and rate limiting apply as for the other forms; the data stored for that purpose is removed after a short time as described in section 7.
10. Privacy in the app
The app does not require an account with a name or email address. On first start it creates an anonymous account automatically; cloud saving, leaderboards, friends and purchase verification run through it. For each kind of processing below we state the purpose, the data, the legal basis, where it is stored or who receives it, and how long it is kept. In the app settings you can switch off cloud saving: the app then stops uploading your save, does not take part in leaderboards, does not use the friends features and sends no usage statistics. Data already stored stays until you delete your account (see “Deletion” below). The anonymous account itself and purchase verification do not depend on that switch.
10.1 Anonymous account (Firebase Authentication)
Purpose: tying your save, purchases, leaderboard entries and friends to your game without making you register.
Data: a randomly assigned account identifier (UID), a separate private player ID for support and deletion requests, the time the account was created and session tokens managed by Firebase; with every connection Google technically processes your IP address and device information.
Your private player ID is only shown to you in the app under Settings → Player ID. Its link to your UID is protected in Cloud Firestore in Frankfurt and is not given to other players.
Legal basis: Art. 6(1)(b) GDPR.
Storage and recipients: Firebase Authentication by Google. We do not set a location for this service, so processing outside the European Economic Area is possible (see “Recipients and international transfers”).
Retention: until the account is deleted in the app, or on request through the deletion form.
10.2 Cloud save (Cloud Firestore, Cloud Functions)
Purpose: backing up and restoring your progress, for example after a reinstall or on a new device, and a plausibility check of the save against tampering.
Data: your progress, app settings (such as language, volume and display name), the time of the last upload, purchase receipts not yet confirmed, and the result of our plausibility check (flags and counters). While cloud saving is on, the app uploads your save at most once a minute.
Legal basis: Art. 6(1)(b) GDPR for storing the save; Art. 6(1)(f) GDPR for the plausibility check (protecting leaderboards and purchases from manipulation).
Storage and recipients: Google Cloud Firestore and Cloud Functions in the europe-west3 region (Frankfurt). Every hour we add up the depth of all saves updated in the last 30 days into a single total that is shown on our website; the total contains nothing about individual people.
Retention: until the account is deleted in the app, or on request through the deletion form.
10.3 Google Play Games (optional)
Purpose: your progress follows your Google Play Games profile to other devices and survives a reinstall; achievements.
Data: if you choose “Link” in the settings, the app links the anonymous account to your Play Games profile. Firebase Authentication receives the profile identifier from Google, and the app reads your player name from Play Games to display it. We do not receive an email address. If cloud saving is on and Google Play Games has already signed you in on the device, the link is made automatically at startup. The app reports unlocked achievements to Google Play Games.
Legal basis: Art. 6(1)(b) GDPR.
Storage and recipients: Google (Firebase Authentication, Google Play Games); Google’s own privacy information for Play Games applies as well.
Retention: until the account is deleted in the app, or on request through the deletion form. Google manages achievements and your profile under its own terms.
10.4 Leaderboards (all-time, weekly, events)
Purpose: comparing yourself with other players, and weekly rewards. Leaderboards are visible to other players of the app.
Data: display name (free choice of 3 to 16 characters, checked by a filter; if you do not choose one, the app assigns a name such as “Crew-1234”), the depth reached or number of breakthroughs, play time, asteroid, the time of the entry, and a random public player ID that is not derived from your account identifier and is used only for reporting. Your account identifier itself is not given to other players. For weekly rewards we store which weeks you have already claimed.
Legal basis: Art. 6(1)(b) GDPR.
Storage and recipients: Cloud Firestore in Frankfurt; visible to other players of the app.
Retention: all-time entries until the account is deleted, although only the best 5,000 entries per leaderboard are kept. Weekly leaderboards are deleted automatically 21 days after the week ends, event leaderboards 30 days after the event starts. Your profile with display name and player ID stays until the account is deleted.
10.5 Friends, friend codes and invite rewards
Purpose: a leaderboard among friends, and rewards for invitations.
Data: a random friend code linked to your account; your friends list (account identifiers of linked players, at most 50) whose display names you see in the friends leaderboard; links are mutual. If you enter another player’s code within seven days of creating your account, you count as invited: we store who invited you, when, and whether the rewards have been claimed; for the inviter’s reward we check your game progress.
Legal basis: Art. 6(1)(b) GDPR.
Storage and recipients: Cloud Firestore in Frankfurt; linked friends see your display name and rank.
Retention: until the account is deleted in the app, or on request through the deletion form. You can remove a friend in the app at any time.
10.6 Reporting players
Purpose: protecting players from inappropriate display names.
Data: when you report a player from a leaderboard, we store the account identifiers of the reporter and the reported player, the reported display name and the time. For each display name every reporter counts once; if three different players report the same name, it is automatically reset to a default name and blocked for that profile. To limit abuse we also store the times of your most recent reports (at most five per day).
Legal basis: Art. 6(1)(f) GDPR (legitimate interest in protecting players and keeping the community pleasant).
Storage and recipients: Cloud Firestore in Frankfurt; not accessible to other players.
Retention: reports are deleted automatically after 90 days, sooner when the reporter’s or the reported player’s account is deleted. The counter, the name block and the report times in the profile stay until the account is deleted.
10.7 Push notifications (Firebase Cloud Messaging)
Purpose: notices about event starts and about the weekly leaderboard results.
Data: if you switch on notifications and Android grants the permission, your device subscribes at Firebase Cloud Messaging to topics for your app language (events, weekly leaderboard). We send messages to these topics, not to individual devices, and we do not receive device tokens. Reminders about full storage, returned expeditions and finished research are set up locally on your device and transmit no data.
Legal basis: consent, Art. 6(1)(a) GDPR. You can withdraw it at any time by switching notifications off in the app settings (the app then unsubscribes from all topics) or by revoking the permission in the Android settings.
Storage and recipients: Firebase Cloud Messaging by Google. We do not set a location for this service.
Retention: until the topics are unsubscribed or the app is uninstalled; Google manages the technical identifiers.
10.8 Usage statistics
Purpose: we want to understand where players drop out and improve and balance the game.
Data: the app sends event names in batches, such as session start, breakthrough, shop opened, purchase or ad watched, occasionally with a small addition such as the layer number or product ID. The server turns these into daily counters per event only: no individual events, no advertising ID and no device IDs. For each account we store only the first and the last day played, to calculate return rates (after 1 and 7 days). Statistics are sent only while cloud saving is on.
Legal basis: Art. 6(1)(f) GDPR (legitimate interest in developing the game). You can object by switching cloud saving off.
Storage and recipients: Cloud Firestore in Frankfurt.
Retention: the daily counters are aggregated and contain nothing about individual people. An account’s first and last day played stay until the account is deleted.
10.9 Purchases, purchase verification and subscription
Purpose: handling optional in-app purchases (Quartz, the Komfort subscription and other offers) and crediting what you bought.
Data: Google Play Billing handles the payment; Google processes payment details and we do not receive them. The app sends the product ID and purchase token to our cloud function, which verifies the purchase with Google through the Google Play Developer API. We store the order number, product ID, account identifier, status and verification time of the purchase, your Quartz balance and, for the subscription, its expiry time.
Legal basis: Art. 6(1)(b) GDPR.
Storage and recipients: Google (Play Billing, Play Developer API); our data is held in Cloud Firestore in Frankfurt.
Retention: until the account is deleted in the app, or on request through the deletion form, unless statutory retention duties prevent it.
10.10 In-app review (Google Play)
Purpose: once, at a suitable moment in the game, the app asks for a rating through Google Play’s review dialog. Google decides whether the dialog appears.
Data: we transmit no data to our servers in the process and receive neither your rating nor any information on whether you rated. You submit a rating directly to Google, and Google Play’s privacy information applies.
Legal basis: Art. 6(1)(f) GDPR.
Retention: we only record locally that the question was asked (in the save, see 10.2).
10.11 Advertising (Google AdMob): We use Google AdMob for optional rewarded videos. Google may process the advertising ID and device and usage data to serve ads and measure their performance. Before making ad requests, we use Google’s User Messaging Platform (UMP) for consent and privacy options; UMP supports the IAB Transparency and Consent Framework (TCF). You can reopen privacy options in the app settings and withdraw consent for the future. The legal basis for processing that relies on consent is Art. 6(1)(a) GDPR. Google determines storage location and retention; the data does not enter our database.
10.12 Crash reports (Firebase Crashlytics): Configured release builds use Google’s Firebase Crashlytics to identify and fix app errors. It processes crash logs, stack traces, technical device, operating system and app information, and installation identifiers generated by the SDK. We add no names, email addresses, user IDs or saves and do not link reports to the anonymous account. The identifiers are pseudonymous; reports are not fully anonymous. The legal basis is our legitimate interest in a stable app under Art. 6(1)(f) GDPR. Google retains reports and associated identifiers for 90 days before deletion begins. See Firebase privacy information. Debug and profile builds send no reports.
10.13 Content updates (Firebase Remote Config): Release builds fetch game content such as offers, events and balancing values through Firebase Remote Config, at most once an hour, so that we can adjust them without an app update. Google technically processes the Firebase installation ID and your IP address in the process; we pass no user attributes, saves or identifiers of our own. The legal basis is Art. 6(1)(f) GDPR (legitimate interest in an up-to-date and fair game).
10.14 Recipients and international transfers: Recipients include Google Ireland Limited and affiliated Google companies, in particular for AdMob, Google Play Billing, Google Play Games, Google Play’s review feature and Firebase (Authentication, Cloud Firestore, Cloud Functions, Cloud Messaging, Crashlytics, Remote Config). Within the app, other players can see the details listed in 10.4 and 10.5. Where data is transferred to countries outside the European Economic Area, Google states that it relies on appropriate safeguards depending on the service and recipient, including EU Standard Contractual Clauses and, where applicable, the EU-US Data Privacy Framework. See Google’s current privacy information and service terms for details.
10.15 Deletion: At the bottom of the app settings you will find the button “Delete account and cloud data”. It resets your local save and, through our cloud function, deletes your cloud save, balance and purchase records, all leaderboard entries and your profile (display name, public player ID), your friend code, your invitation record, the usage statistics of your account, reports by and about you, and the anonymous account including the Play Games link. The cloud must be reachable for this. Your private player ID and its account link are also deleted. Your account identifier is removed from other players’ friends lists. Claims from your invitations are deleted; for players you invited, the link to you is replaced with “deleted” so that they can still claim a pending welcome reward. To block session tokens that are still valid, a technical deletion marker with the account identifier, deletion status and completion time is retained without game or purchase data. The daily cleanup removes it once completion was more than seven days ago. Incomplete deletions remain blocked and can be restarted. If you can no longer use the app, for example because you lost your device, submit a request through the deletion form (section 8) or by email to support@kdg-webdev.de. Include your private player ID from Settings → Player ID so we can identify the account; it is only shown to you. Switching cloud saving off leaves data already stored in place. Data that Google processes under its own responsibility (Google Play, Play Games, AdMob, Crashlytics) is deleted with Google. The legal basis for deletion is Art. 17 in conjunction with Art. 6(1)(c) GDPR.
11. Your rights
You have the right of access (Art. 15 GDPR), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18), data portability (Art. 20) and objection to processing based on legitimate interests (Art. 21). You may withdraw consent at any time with effect for the future (Art. 7(3)). You also have the right to lodge a complaint with a supervisory authority (Art. 77); the competent authority is the Saxon Data Protection and Transparency Commissioner, Devrientstraße 5, 01067 Dresden, Germany.
12. Retention
Unless stated otherwise above, we keep personal data only as long as necessary for the respective purpose or as required by statutory retention periods, and delete it afterwards.