Privacy Policy for Stillwort
This is an English translation of our German privacy policy (Datenschutzerklärung). In case of any discrepancy, the German version prevails.
1. Controller and scope
This policy applies to the website stillwort.punktdev.com and the Stillwort app. The controller is Real Movement Analytics GmbH, Kleines Everstal 18d, 44388 Dortmund, Germany. Contact: stillwort@punktdev.com.
We do not use any analytics, tracking or advertising services in the app or on the website, and we do not create usage profiles. No automated decision-making, including profiling, within the meaning of Art. 22 GDPR takes place.
2. Website and content delivery
Our website as well as the texts, images and audio of the app are delivered via Cloudflare, Inc., 101 Townsend Street, San Francisco, CA 94107, USA. Each online request involves processing your IP address and technical request data, such as the time, the requested address, browser/app information and the response status. This is necessary to send content to your device and to protect the service against disruption and abuse.
The legal basis is Art. 6(1)(f) GDPR; our legitimate interest lies in secure and reliable operation. Where a request is necessary to provide purchased premium content, Art. 6(1)(b) GDPR applies. Technical logs are only kept for as long as required for delivery, troubleshooting and defending against specific security incidents. Cloudflare also processes technical operating data in accordance with its privacy policy.
Cloudflare may receive network error reports from supported browsers. These are used to diagnose connection problems.
The app loads quotes, images and audio from our content storage on Cloudflare Pages. In-depth texts and their audio are delivered by our access service on Cloudflare Workers (Section 4). It logs requests at Cloudflare for troubleshooting. These logs contain no user identifier and are deleted after 7 days at the latest.
When your device is online, the app asks our update service at updates.stillwort.punktdev.com on every full launch whether a new version of the app code is available, for example a bug fix. If so, it downloads it in the background. Once the download is complete, the new version applies from the next full launch. The service runs on Cloudflare Workers. With the request it receives your IP address, the operating system (iOS or Android), the app version, the update channel and the identifier of the program version currently running. This identifier is the same on every device with the same version. In addition there are technical protocol details and the user agent, which depending on the platform contains details of the networking software and, on iOS, also app and system details. The update function does not create, store or send a device, installation or advertising identifier. The field for it contains the same zero value on every device. It sends no error messages.
To pick the matching update, the service uses the operating system, app version, update channel and the identifier of the running version. The IP address is processed to transmit the data. It stores no request data, and Workers Logs are switched off. What Cloudflare itself processes when operating the service (see above) applies here as well. Updates are kept on your device. The app removes older versions it no longer needs; one older version may be kept for recovery. After certain early start errors the app tries to start an available fix or an older stored version. If the service cannot be reached, the app keeps running with the version it has. Through this channel we install only fixes that are needed to provide or restore the app's existing features. New features arrive as a new version through the App Store or Google Play. Quotes, images and audio are still loaded as described above. Storing these fixes on your device is therefore strictly necessary for the app you use (Section 25(2) No. 2 TDDDG). The legal basis for processing your IP address and the request data at the service is Art. 6(1)(f) GDPR. Our legitimate interest is to provide the app's existing features reliably and to fix bugs quickly. In weighing the interests we take into account that only little technical request data is involved, no individual identifier is transmitted, Workers Logs are switched off and no usage profiles are created.
3. Local app data and reminders
The app stores bookmarks, read content, progress, journal notes, language, display and audio settings, reminder times and downloaded content locally on your device. This data is not transmitted to us. Local reminders are scheduled on your device; for this, the app asks for notification permission, which you can revoke at any time in your system settings. The audio consists of pre-produced recordings (MP3 files). The app downloads them from Cloudflare (Section 2) and stores them on your device for offline listening; it does not use your device's speech output for this. When you share content, this happens via your operating system's share function to the recipient you choose.
This storage serves the features you request (Section 25(2) no. 2 of the German TDDDG; where personal data is processed, Art. 6(1)(b) GDPR). The data remains stored until you remove it in the app, delete the relevant app data or uninstall the app. Depending on your system settings, operating-system backups and device transfers may contain copies.
4. Premium, App Store and Google Play
In the App Store, Apple processes downloads and payments under Apple's privacy policy; in Google Play, Google does so under Google's privacy policy. Each payment provider is independently responsible for its own processing. This also applies to ratings you submit via the store's review dialog offered in the app.
You buy Premium directly in the App Store or on Google Play. You do not need an account with us. After a purchase, when you restore purchases and when your unlock is about to expire, the app sends the store's purchase receipt to our access service on Cloudflare Workers. The receipt contains product and transaction identifiers, the purchase time and, for subscriptions, the expiry date. The access service checks App Store receipts against Apple's digital signature without contacting Apple. It submits Google Play receipts to Google via the Google Play Developer API; Google reports back whether the purchase is valid.
If the purchase is valid, the app receives a signed unlock ticket. It contains only the product and an expiry date and is valid for at most 30 days. The app sends it along when it requests in-depth texts or audio. We do not store receipts or tickets, and there is no user identifier. To prevent abuse, Cloudflare counts verification requests per IP address for one minute at a time; we do not store the IP address.
The legal basis is Art. 6(1)(b) GDPR for providing the premium offering and Art. 6(1)(f) GDPR for abuse prevention. Apple and Google retain purchase data under their own terms.
5. Browser storage and external links
The website stores your chosen language and display settings in your browser's local storage (keys stillwort-lang and stillwort-theme). This is necessary for the settings you have expressly chosen (Section 25(2) no. 2 TDDDG). You can remove these entries by clearing your browser data.
The website does not measure reach or usage.
When you open external links, for example to the Play Store or to sources, the privacy policy of the respective destination applies. The website's Play Store links contain the referral parameter utm_source=stillwort.punktdev.com so that Google can show us in aggregated form how many visits come from this website.
6. Contact by email
If you email us, for example at stillwort@punktdev.com, it arrives in our company mailbox at Microsoft 365 (Microsoft Ireland Operations Ltd., Ireland). For some addresses, Cloudflare first receives the message through its Email Routing service and forwards it there; Cloudflare processes the sender, recipient and time and does not store the content permanently. Microsoft stores the email including its content and attachments as a processor under a data processing agreement (Art. 28 GDPR), generally in data centres in the EU. Microsoft relies on the EU-US Data Privacy Framework and EU Standard Contractual Clauses for transfers to Microsoft Corporation in the USA, for example for support or security.
We process your address, the content and any information you provide voluntarily to answer your request. The legal basis is Art. 6(1)(b) GDPR for contract-related requests and otherwise Art. 6(1)(f) GDPR; our legitimate interest is answering requests. The message is deleted once it is no longer needed for follow-up questions, legal defence or statutory retention duties. The app's feedback feature only opens your email app with a prepared message to us; nothing is sent until you send it yourself. Providing data is voluntary; without a reply address we cannot answer.
7. Recipients and processing outside the EU
For the purposes described, we use these service providers:
- Cloudflare, Inc. (USA): hosting, content delivery, access service, update service and email forwarding as a processor under a data processing agreement (Art. 28 GDPR). Cloudflare is certified under the EU-US Data Privacy Framework; EU Standard Contractual Clauses apply in addition.
- Microsoft Ireland Operations Ltd. (Ireland): Microsoft 365, our email mailbox, as a processor under a data processing agreement (Art. 28 GDPR). Data is generally stored in the EU; transfers to Microsoft Corporation (USA) rely on the EU-US Data Privacy Framework and EU Standard Contractual Clauses.
You can request a copy of the safeguards at stillwort@punktdev.com.
Cloudflare explains its contractual data protection terms in the Cloudflare DPA.
8. Your data protection rights
Subject to the statutory requirements, you have the right of access, rectification, erasure, restriction of processing and data portability.
Right to object: Where we process personal data on the basis of legitimate interests, you may object at any time on grounds relating to your particular situation.
You have the right to lodge a complaint with a data protection supervisory authority, for example the State Commissioner for Data Protection and Freedom of Information of North Rhine-Westphalia (LDI NRW), Kavalleriestraße 2-4, 40213 Düsseldorf, Germany.
9. Changes and language versions
We update this policy when the app, the website or the legal situation changes. The version published here applies. This English version is a translation; the German version is authoritative.