Overview
Moonjelly is a native iOS music player for Jellyfin, the free software media system. Your music lives on a Jellyfin server that you run and control. We do not operate servers of our own, we do not have user accounts, and we do not collect, store, sell, or share your personal data. This Privacy Policy explains what data the app handles and where it goes.
Data We Collect
None. The developer of Moonjelly does not collect any personal information, analytics, usage statistics, crash reports, or identifiers. The app contains no advertising and no third-party tracking SDKs.
Your Jellyfin Server
When you sign in, Moonjelly talks directly from your iPhone to the server address you enter — nothing is routed through any servers of ours. Your username and password (or your Quick Connect code) are sent only to that server in order to authenticate you.
- Access tokens returned by your server are stored securely in the iOS Keychain on your device, one per saved account.
- The server address, server name, your user ID and username are stored locally so the app can restore your session and let you switch between accounts.
- A random device ID is generated once per install and sent to your Jellyfin server, which requires it to list and manage devices in its own dashboard. It is not tied to your Apple ID or to any advertising identifier.
- Favorites, playlists, play counts, and metadata edits are saved on your Jellyfin server, because that is where your library lives. How that server handles them is governed by your own configuration.
Signing out deletes the account's token from the Keychain. The last server address is kept so the next sign-in can prefill it.
Data Stored on Your Device
Moonjelly keeps the following on your iPhone. None of it is transmitted to us:
- Downloaded tracks and their artwork, stored in the app's Application Support container for offline playback. Downloads are per-device and are removed when you delete them or the app.
- Listening records — for each track and day, the seconds played and completed plays, plus a title/artist/album snapshot so the Stats screen can render without contacting the server.
- App preferences (theme, accent color, Now Playing display, crossfade, playback speed, Smart Downloads and its storage cap, monthly recap toggle), stored locally in iOS user defaults.
iCloud Sync
Your listening records sync through CloudKit to your own private iCloud database, so your stats follow you across your devices. This data is stored under your Apple ID and is accessible only to you — the developer cannot read it. It is handled under Apple's Privacy Policy. You can stop this sync at any time by turning off iCloud for Moonjelly in iOS Settings; the app keeps working with local data only. Downloaded files and app preferences are not synced.
Lyrics
When your Jellyfin server has no lyrics for a track, Moonjelly can look them up on LRCLIB, a free community lyrics database. Only the track title, artist, album, and duration are sent, solely to find a match — no account, identifier, or library contents are included. If you would rather nothing leave your device, leave the lyrics screen unused.
Purchases
Moonjelly Pro is sold through the Apple App Store. Payments are handled entirely by Apple — the developer never sees your payment details.
Purchases and subscription status are managed with RevenueCat, which receives a randomly generated anonymous app user ID, your purchase and receipt information, and basic device and app-version information in order to validate the purchase and restore it on your other devices. It is not linked to your name, email, Jellyfin account, or listening data. See RevenueCat's Privacy Policy and Apple's Privacy Policy.
Notifications
If you enable the monthly recap, Moonjelly schedules a local notification on your device for the 1st of each month. No push server is involved and no data is sent anywhere. You can turn it off in Settings at any time.
More Apps
The "More Apps" screen loads public App Store listings for the developer's other apps from Apple's iTunes lookup service. The request contains no personal data and nothing about you or your library.
Local Network
Because most Jellyfin servers run on a home network, Moonjelly is
allowed to connect to plain http:// addresses and local IP
addresses. It connects only to the server address you enter, and iOS
asks for your permission the first time the app looks for devices on
your local network.
Permissions We Don't Request
Moonjelly does not request access to your location, contacts, photos, calendar, health data, or microphone. The audio visualizers react to the music the app itself is playing — they never listen to your surroundings.
Children's Privacy
Moonjelly is a music player for your own media server and is not directed to children. We do not knowingly collect any information from anyone, including children under 13.
Changes to This Policy
We may update this Privacy Policy from time to time. Changes will be posted on this page with an updated "Last updated" date.
Contact
If you have any questions about this Privacy Policy, please contact us at apps@mkhasson97.com.