Privacy policy
This policy covers Obi Music Player ("Obi"), the app, and this website. It says what Obi keeps on your device, what it sends out and to whom, and how to remove it.
In short
- Obi has no account, no advertising, no analytics and no tracking.
- Obi has no server of its own. We do not receive your music, your servers, your sign-ins or your listening.
- Your servers' addresses and sign-ins stay on your device, encrypted with a key that never leaves it.
- Obi sends data only to the servers you add, to the radio stations you play, and, for features you use, to the few open services named below.
- Builds that include crash reporting send crash reports to Google (Firebase Crashlytics). You can switch it off.
Who is responsible
Obi is an independent app, made by a single developer. For anything in this policy, write to support@obiplayer.com.
What stays on your device
- Your servers. The address and name of each server, and your sign-in to it: Plex's token, your Navidrome, Subsonic or Jellyfin login, and the ListenBrainz token if you connect it. They are kept encrypted, with a key held by Android's keystore (on a Mac, in the Keychain). A sign-in is sent only to the service it belongs to.
- A copy of your library: artists, albums, tracks and playlists as your servers list them, with your ratings and favourites, so Obi works offline and opens fast. Also the play queue, the music you downloaded and the covers Obi kept.
- Your settings and lists: the choices you make in Settings, your internet radio stations, search links and smart playlists, the songs you heard on radio and your Want list.
- A random installation ID, made when Obi first starts. Your servers show it in their list of devices; it says nothing about you.
- The debug log, a text file of at most 2 MB, for finding faults. It stays on the device until you choose to share it (see below).
Obi turns off Android's cloud backup, and a phone-to-phone transfer leaves out your sign-ins, your library copy and your downloads, so this data does not travel to a backup or to another phone.
What leaves your device, and where it goes
Your music servers
To list and play your music, Obi talks to the Plex, Navidrome (Subsonic) and Jellyfin servers you add, at the addresses you or Plex give. It sends your sign-in, its requests for your library, streams and downloads, and what you do: what is playing (for Plex with its position, about every ten seconds), so the server can show and count plays; ratings and favourites; playlist changes. It tells the server who it is: "Obi", its version, "Android", your phone's model and the installation ID. The server's owner sees this under their own policy. If your phone cannot reach a Plex server directly, Plex may relay the traffic.
Obi uses plain http only for servers on your own network and for an address you type yourself. Data
sent that way is not encrypted.
Plex sign-in (plex.tv)
To sign in with Plex, Obi asks plex.tv for a sign-in code and opens Plex's page in your browser, where you sign in. Obi never sees your Plex password. Obi then receives a token for your Plex account, and uses it to ask plex.tv which servers you can use and, when a server's address changes, where it is now. plex.tv receives the token, the installation ID and the same information about Obi and your phone as above. Plex's privacy policy applies to it.
Internet radio
Obi connects to the stations you add or play: to the stream, and to any playlist file, now-playing address or logo that you or the station give. The station's server sees your IP address and requests from a player called Obi. Obi has no list of stations of its own.
Covers and song details (MusicBrainz, Cover Art Archive, Radio Browser)
These happen for radio only, never for the songs of your own servers.
- When a station shows a song but no cover, and Look up covers online is on (it is, by default; Settings › Playback), Obi sends the song's artist and title to MusicBrainz to find the recording, then asks the Cover Art Archive (served by the Internet Archive) for its cover.
- When a station has no logo and the same switch is on, Obi sends the station's stream address to the community directory Radio Browser, and asks the station's own server for its artwork.
- When you open a song's details (from Heard on radio, your Want list or Now Playing), Obi sends its artist and title to MusicBrainz, and the MusicBrainz ids of the match you see to look up its release, label, genres and links. This happens because you asked for the details, whatever the switch says.
These services see your IP address and Obi's name and version. They receive nothing about your servers or your account. See the MetaBrainz privacy policy and the Internet Archive's.
ListenBrainz (only if you connect it)
If you connect ListenBrainz in Settings › Listening services, Obi sends it your token and what you play from your servers: artist, title, album, length, when you played it, and "Obi" with its version. A song is reported as "playing now" when it starts and as a listen once it counts. Plays made offline are kept on the device, up to 500, and sent later. Obi also asks ListenBrainz, by your user name, for your recommendations, statistics, new releases and the playlists it made for you. No server names, addresses or tokens are sent. ListenBrainz keeps your listens and shows them as its own service does: see the MetaBrainz privacy policy. Nothing goes to ListenBrainz unless you connected it.
Crash reports (Google Firebase Crashlytics)
Some builds of Obi can send crash reports. If Settings › Advanced has a Send crash reports switch, your build can, and the switch is on by default; switch it off and nothing more is sent. If the switch is not there, your build sends none.
When Obi crashes, or reports an error it handled, it sends Google: the stack trace (the program's call chain), the last lines of Obi's log, Obi's version, your phone's model and Android version, and the state of the app at that moment, together with a random installation ID that Crashlytics and Firebase make. Google also receives basic session information (Obi's version, your phone's model, Android version and network type, and when Obi started) to count how many users a crash affects. Obi removes web addresses, server addresses and tokens from reports before they are sent. Google keeps reports for 90 days and may process them in the United States and other countries; its Firebase privacy information applies. We use reports only to find and fix faults.
Separately, if you have turned on "Usage and diagnostics" on your phone, Google Play may give us crash and performance statistics for Obi. That is Google's service, under your settings with Google.
Feature switches (ConfigCat)
Some builds download a small file from ConfigCat
(cdn-global.configcat.com) that says which new features are on, so a faulty one can be turned off
without an update. It is checked at most once an hour and downloaded at most every four hours. The choice is made on
your device: nothing about you or your phone is sent, beyond what any web request carries (your IP address and the
name and version of the software asking). Builds without ConfigCat's key never contact it.
Purchases (Google Play)
Obi's paid features are bought in Google Play, which handles the payment and your Google account. Obi asks the Play app on your phone which purchases your account has made, and keeps on the device when it last checked. It counts a free trial from the time Android recorded Obi's installation. Obi never sees your card or payment details or the name of your Google account. Google tells the developer about each order in the Play Console. Google's privacy policy applies.
Debug logs you share
In Settings › Advanced you can turn on more detailed logging and share the log. Only then does it leave your device, and only to the app you pick. It holds Obi's version, your Android version and phone model, the kinds of server you use, and a line for each thing Obi did, with the error's name when something failed. Server addresses and names, passwords and tokens are kept out of it, and removed again from what is written. It refers to music by internal ids, not by song or album names.
Mail you send us
If you write to support@obiplayer.com, we receive your address and what you write or attach. We use it to answer you and to fix the problem, keep it while that is needed, and delete it if you ask.
Links you open
Links that lead outside Obi (this policy and the support page, ListenBrainz's token page, the advice for your phone's battery settings on dontkillmyapp.com, and the search links and other links on radio song pages) open in your browser. The site you open sees your visit as any site does.
What Obi does not do
- No advertising and no advertising ID.
- No analytics, and no tracking or profiling, by us or by third parties.
- No selling or sharing of data.
- No access to your location, contacts, camera, microphone, photos or other files.
This website sets no cookies and uses no analytics or third-party scripts, fonts or images. Like any web server, the host it runs on may keep the usual access logs (IP address, time and page).
What Obi asks Android for
- Internet and network state: to reach your servers, and to tell Wi-Fi from mobile data and offline.
- Foreground service and keeping the phone awake: to play music with the screen off, and to sync your library and download music in the background.
- Notifications: playback controls, and the progress of syncs and downloads.
How to delete your data
- One server: open it in Settings and choose Remove server. Its sign-in, its library copy, its downloads and its tracks in the queue are deleted.
- Plex: Settings › Sign out of Plex removes your Plex servers and your Plex token from Obi.
- Downloads: Settings › Downloads › Remove all.
- ListenBrainz: Settings › Listening services › Disconnect deletes the token. To delete listens already sent, use listenbrainz.org.
- Radio history and Want list: Heard on radio › Clear history, and remove songs from the Want list one by one. Stations and search links are deleted one by one in their lists.
- Crash reports: switch Send crash reports off (Settings › Advanced). Google deletes reports after 90 days. You can also ask us.
- Everything on the device: in Android, Settings › Apps › Obi › Storage › Clear storage, or uninstall Obi.
- On your servers: plays, ratings and playlists Obi sent are kept by your servers, which are yours; delete them there. Purchase records are Google's.
- Mail: write to support@obiplayer.com.
Children
Obi is not aimed at children and does not knowingly collect personal data from anyone, children included.
Your rights
Depending on where you live (for example under the EU or UK GDPR, or California law) you can ask what we hold about you, and ask us to correct, delete, restrict or hand over it, or object to its use. Write to support@obiplayer.com. We hold little that names you: crash reports carry random IDs, not your name, so we can find them only if you can tell us the ID; mail we can find by your address. Crash reports rest on our legitimate interest in keeping Obi working, and you can switch them off. Everything else happens because you asked Obi to do it. You may complain to your data protection authority.
Changes
If Obi starts sending something new, or to someone new, this page changes before the version that does it is released, and the date at the top changes with it.