Last updated: October 29, 2026
dotori labs provides this one-time-purchase player without an app account, subscription, or in-app advertising.
1. Local music and records
Library records, playlists, playback settings, listening statistics, podcast subscriptions and listening positions, and cached lyrics are stored on your device. File bookmarks let the app access the original audio files you select. Importing or removing a library entry does not copy, move, or delete the original file. Availability depends on its location and file provider, such as Files or iCloud Drive. Detailed listening history stays on your device. Radio and podcast records are also synchronized when you enable the optional iCloud feature described below.
2. Optional online lyrics
Settings > Lyrics > Allow online lyrics controls LRCLIB lookup. It is off by default; an existing saved lyrics choice is preserved when updating. Changes are saved immediately. Local music works without enabling it, and there is no initial consent screen.
The app checks local LRC files and cached results first. When enabled, a track change or lyrics refresh may send the song title, artist, and available duration to https://lrclib.net/. LRCLIB also receives your IP address. The request does not include the album name or audio-file contents. LRCLIB operates independently; we have not verified its request-log retention period and do not promise anonymous requests or immediate deletion.
Turning the setting off prevents new lookups, cancels in-progress lookup tasks, and rejects outdated responses before caching. It cannot recall requests already received by LRCLIB. Local LRC files, embedded lyrics, and existing cached lyrics remain available.
3. Podcasts and other providers
Adding or refreshing podcast feeds, loading artwork, and streaming episodes contacts publishers and their hosting or delivery providers. They receive your IP address and requested feed, image, or audio URL, and may use redirects or measurement services. Episodes may contain publisher advertising. If a remote recommendation catalog is configured, opening the podcast screen contacts that host; country and language filters are applied locally. Removing a subscription deletes local subscription, episode, and position records, not provider logs. File providers, email providers, and the Google Sites support website also process information under their own policies, separately from local playback.
4. Support, retention, and deletion
Recent playback diagnostics (up to 200 events from the last 24 hours) are stored on your device and older records are removed when diagnostics are accessed. They contain fixed playback events, timing, status, and numeric error codes, excluding song names, file paths, URLs, account details, tokens, and free-text error descriptions. You can clear them in Playback Diagnostics. Attaching them to support inquiries is off by default. You can preview the exact attachment before choosing to include it. When Mail is unavailable, you can save or share the diagnostics file and attach it using your email app.
Contact Support prepares an editable draft with the app version, operating-system version, and device model. It sends nothing until you send the email. We receive your address and chosen content and retain correspondence to handle your request and related issues. Avoid unnecessary personal information or audio attachments.
Local records remain until removed using app or operating-system controls. Original files, backups, and external copies are managed separately. Disabling online lyrics or uninstalling does not erase provider logs or support correspondence. Information sent to external services by earlier versions remains subject to those providers' retention and deletion processes. Contact dotori.labs.team@gmail.com for access or deletion requests. Without app accounts, your email alone may not identify a previous installation; available actions depend on identifiable information and provider controls.
5. Children, changes, and contact
This general-purpose player does not ask for age. Parents or guardians may contact us with concerns. We update this policy when data practices change; continued use does not replace any required consent. Questions: dotori labs, dotori.labs.team@gmail.com.
Service information: LRCLIB https://lrclib.net/ ; Google (website and Firebase) https://policies.google.com/privacy
Radio: Searching sends your station name, country, and genre filters to Radio Browser. Starting playback reports the station identifier to Radio Browser for click statistics and connects to the broadcaster and its streaming providers. These services receive your IP address and may keep request logs. Station icons and website links contact their respective providers. Saved stations are stored on your device; removing one does not erase provider logs. Some radio streams use unencrypted HTTP and may contain broadcaster advertising. Service information: https://www.radio-browser.info
Optional broadcast suggestions: When this feature is available, submitting a request or enabling automatic suggestions sends the broadcast name, public URL, type, optional country, manual/automatic source, random request ID and payload version to the developer through Google Firebase (Cloud Functions and private Firestore). Google also receives your IP address; the app does not put it in the request record. No app account, persistent installation ID, listening history or personal music is included. Automatic suggestions are off by default and apply only to new broadcasts added directly after enabling them. Use public URLs without personal access tokens. Turning the setting off cancels in-progress automatic sends and deletes pending automatic requests on this device, but cannot recall requests already received. Manual pending requests can be deleted separately in Settings. Requests are retained for review and periodically cleaned up; Google logs, version history and backups follow Google's processes. Contact support with the public broadcast URL and approximate request date about a received request.
External discovery and managed catalogs: Music and podcast popularity lists are requested directly from Apple; radio popularity and searches use Radio Browser. Podcast searches use Apple's public search API. These providers receive the selected country, search terms or public identifiers, and IP address. Popularity reflects the named provider, not BeMu user listening. External popularity/search results are not collected into Firestore. The basic add-content lists use bundled or cached JSON, generated from administrator-maintained Firestore baseline entries and explicitly approved addition requests. Approved program names, public feed/stream URLs, types and countries can be published to all users in this JSON; request counts, private review notes and request IDs are not published. Google receives your IP when the app downloads JSON or display rules. Personal music files and playlists remain local. Radio and podcast records are also synchronized when you enable the optional iCloud feature described below. Music charts do not supply audio: playback matches songs already in your library. Country defaults to device settings and is changeable without location permission. Catalog/rule changes may take about 5 minutes, or until the next online refresh, to appear; the last valid JSON remains available offline. BeMu listening uploads and aggregate rankings are stopped, previous consent and pending uploads are cleared, and old server listening batches/counters are cleaned up after their 35-day retention. Provider logs and backups follow provider policies. Ordinary users do not sign in; Google/Firebase Authentication is for administrators. Analytics and Crashlytics remain disabled.
App Check still uses Apple App Attest or DeviceCheck verification material and temporary tokens to protect catalog requests; this is separate from listening history.
Firebase: https://firebase.google.com/support/privacy
Optional iCloud synchronization
Settings > Data and Privacy > iCloud Sync provides separate radio and podcast switches. Both are off by default on each device. Enable the relevant category on every device you want to synchronize. An available iCloud account is required.
When enabled, the selected category's records are stored in the app's private CloudKit database associated with your current iCloud account. Radio synchronization includes saved station information, edited names and stream addresses, and hidden-station choices. Podcast synchronization includes subscription and feed information, episode playback positions, and viewed-episode state. Random device identifiers, change versions, and removal markers support merging changes. This feature does not synchronize music files, playlists, audio contents, or RSS caches.
Turning a category off stops new synchronization on that device and preserves its local library. Turning it off does not delete records already stored in iCloud. Turning it on again merges local and iCloud records.
Removing a station or unsubscribing from a podcast while synchronization is enabled also creates a change for synchronization. Other participating devices must connect and complete synchronization to receive that change. Removing an item or subscription does not immediately erase all related CloudKit records; removal markers and some progress state may remain for merging changes.
If the app detects a different iCloud account from the account previously used for that category, it asks whether to merge the existing library into the current account. Cancelling turns synchronization off for that category.