LO-FI FIREPLACE

PRIVACY POLICY

Effective date: August 26, 2026. Applies to Lo-Fi Fireplace 0.1 and later on Android, Android TV, iOS, iPadOS and macOS.

The short version: no ads, no advertising trackers, no accounts. The room is free; the radio station is listener-supported, and any purchase goes through your app store (section 3a), never through an account with us. Both the Android and iOS apps include Google Firebase, which can collect anonymous, aggregated usage data (which objects in the room get touched, how long a session lasts) and crash reports so we can improve the app, with the advertising identifier disabled. It is off by default: nothing is collected unless you turn on "Share diagnostics" in Settings. The app collects no name, email, contacts, precise location, or advertising ID. The radio fetches its playlist and downloads its music from our server, with no account and nothing identifying you attached to the request (section 3); while diagnostics are off it is the only part of the app that uses the internet. Everything else stays on your device.

1. WHO WE ARE

Lo-Fi Fireplace is published by Michał Daniel Dobrzański ("we", "us"). Contact: dobrzanskioscillator@gmail.com.

2. DATA WE COLLECT

Both apps include Google Firebase, which can collect anonymous, aggregated usage data that helps us understand how the app is used and improve it. Collection is off by default on both platforms and starts only when you turn on "Share diagnostics" in Settings; turning it off stops it again. While it is on, the events are: a session started and ended (with its length and whether it ran on a television), an object in the room was touched (by its name, such as the cat or the hearth), and a sleep timer was set (with its length). Alongside these, Firebase automatically collects a randomly generated app-instance identifier and basic technical context (device model, operating-system and app version, and an approximate region derived from your IP address by Google).

We have disabled the advertising identifier (AD_ID), so this data is not tied to an advertising profile and is not used for advertising. We do not collect your name, email address, contacts, precise location, or anything you play or mix in the app. We do not sell or share this data, and we use no advertising SDKs.

This processing is based on your consent, given by turning the setting on. Firebase acts as our processor; Google processes the data under its own terms (see Firebase privacy and Google's Privacy Policy).

Under the same switch, Firebase Crashlytics records a report when the app crashes (the stack trace, device model, operating-system and app version, and the app's state at the time) so we can fix the fault. Neither usage events nor crash reports contain a name, email, or anything typed into the app, and neither uses the advertising identifier. The app uses no other Firebase service.

3. THE RADIO STATION

The radio starts with the app, and while "Share diagnostics" is off it is the only part of the app that uses the internet. When the app opens or comes back to the foreground, and roughly every half hour while it keeps playing, it asks our server for a small playlist file listing the current tracks and how long each one runs. It then downloads those tracks from our hosting provider. Everything else, the room and its video, the fire, rain, crickets and vinyl crackle, and every object you touch, is on your device and works with no connection at all.

These are ordinary web requests for files. There is no account and no sign-in, nothing that identifies you or your device is sent with them, and we keep no record of what you played: our server holds no per-user state and answers everyone with the same playlist. As with any web server, our hosting provider sees the IP address a request comes from.

Two things are kept on your device as a result: the playlist file, and a cache of the music already downloaded, which the app trims back whenever it reaches its size limit. That cache is why the station keeps playing when you go offline, and why a track is not downloaded twice. Clearing the app's data or uninstalling the app removes both; a random cache key stays in the iOS Keychain; it holds no personal data. If the network is gone and nothing useful is cached, the radio goes quiet until it is back; the room's own sounds keep playing.

3A. PURCHASES AND THE MANTEL

Becoming a listener, buying the keys to the room, or leaving a tip is processed by Google Play or the Apple App Store and validated by RevenueCat, our billing provider. We never see your name, email or payment details; RevenueCat knows your purchase by a random identifier created on your device, receives the store's receipt, and processes purchase history as our processor. Restoring uses your store account, not an account with us. While no purchase feature is active in your build, none of this applies and no billing code runs.

If you ask to have a name shown on the mantel, that name and your random purchase identifier are sent to our server, checked against the purchase with RevenueCat, reviewed by a human, and, once approved, shown inside the app to everyone. Choose any name; it does not have to identify you. Write us (section 10) to have it removed at any time.

The station also shows how many rooms are listening. That number comes from an anonymous per-minute counter; no identifier of any kind is stored with it.

4. DATA ON YOUR DEVICE ONLY

To remember how you left the room, the app stores a small amount of data locally (Android: app preferences; iOS: user defaults): your sound switch and volumes, each ambience bed's level, whether the radio was on, your sleep timer length, and the display settings (keep the screen on, show the clock, dim level), and whether you turned on "Share diagnostics".

This data never leaves your device. It is removed when you uninstall the app (on Android it may be included in your device's standard encrypted backups, controlled by your device settings).

5. PERMISSIONS, AND WHY

Permission / featureWhy the app needs it
Foreground media playback service (Android FOREGROUND_SERVICE_MEDIA_PLAYBACK) and the audio background mode (iOS) So the fireplace keeps playing with the screen off, with play/pause in the system's media controls.
Wake lock (Android WAKE_LOCK) So the audio decoder keeps running while the display sleeps.
Keep the screen on (a setting, on by default) So the room stays on screen for as long as you leave it running. Turn it off in settings on a phone; a television always stays on.
Haptics (iOS) A light tick when you touch the cat or the hearth.
Internet access (Android INTERNET) So the radio can fetch its playlist and download the music, as described in section 3, and, only if you turn "Share diagnostics" on, to send the usage events and crash reports described in section 2. Nothing else in the app uses it.

The app uses no location, camera, microphone, contacts, storage, or any other sensitive permission.

6. CHILDREN

The app is suitable for all ages but is not directed to children, and we do not knowingly collect personal data from children. The analytics described above is anonymous and not used to build profiles of individuals.

7. THIRD PARTIES

We use Google Firebase Analytics and Crashlytics, in both apps and only while "Share diagnostics" is on, as described in section 2, and Firebase Remote Config, which fetches a few app settings (like the radio's free daily minutes) and sends nothing about you. When purchases are active we use RevenueCat to validate them, as described in section 3a. We also use two hosting providers to serve the radio described in section 3: Supabase, which answers with the playlist file, and Cloudflare, which serves the music (behind cdn.lofifireplace.com) and this website. They handle plain file requests and receive nothing from us about you beyond what any web server sees. We bundle no advertising services and share no data for advertising. If you downloaded the app from Google Play or the Apple App Store, those stores process your download under their own privacy policies, independently of us.

8. YOUR RIGHTS

Diagnostics are off unless you turn them on, and you can turn them off again at any time in Settings. The usage analytics we hold is anonymous and not linked to your identity, so we cannot single out your records to access, correct, or export them; Google lets you reset the underlying app-instance identifier by clearing app data. All on-device data (sections 3 and 4) is removed by uninstalling the app, except a random cache key that stays in the iOS Keychain; it holds no personal data. If you have questions about your rights under GDPR, CCPA, or similar laws, contact us at the address below.

9. CHANGES

If a future version of the app ever changes what data it handles, we will update this page first and note the effective date at the top.

10. CONTACT

dobrzanskioscillator@gmail.com