Privacy

Privacy policy

Last updated November 9, 2026

OnRepeat Stats keeps your listening history so you can see what you keep coming back to. This policy explains what we store, why, and how to have it deleted. We will never sell your data, and we don’t use it for advertising.

OnRepeat Stats is run by Will Honey. Questions about this policy go to support@onrepeatstats.com.

What we store

Your account

Your name, email address and password. The password is stored as a hash, never as plain text. When you sign in we keep a session for up to 30 days, along with the IP address and browser or device it came from. If you turn on two-step sign-in, we also keep your authenticator secret and backup codes, encrypted. We also keep your settings, such as your time zone. When you create your account, we record which version of our terms of use and this policy you agreed to, and when.

Sign-up is by invitation, so before you sign up we keep your email address on our invite list. If you email us, for example to ask for an invite, we keep your email so we can reply.

Your listening history

OnRepeat keeps music only. For each play we keep the song, artist and album, when you listened, for how long, and play and skip counts. Where your export includes them, we also keep why a play started or ended, shuffle and offline status, and the app or device you listened on. Podcasts, audiobooks and radio in your exports are counted as skipped and not added to your history.

Files you upload

When you choose a ZIP from Apple or Spotify on the website, it’s opened on your device and only your listening history files are uploaded. Nothing else in the download reaches us.

We keep each file you upload, exactly as uploaded, so we can read your history again when our importer improves. We only read music listening history and Apple Music library details from them, but they can contain more: the podcasts, audiobooks and radio you played, and, in Spotify’s streaming history, your Spotify username and the IP address, country and device of each stream. Deleting an import on the website’s Imports page deletes its files within minutes.

When you remove plays in the app, we keep a note of what you removed so they stay out of your history, even if you import them again. The plays themselves stay in your uploaded files until you delete those imports.

How we use it

Only to run OnRepeat Stats: to show you your history and statistics, keep your account signed in and secure, and fix problems. We share it only with the service providers below, who handle it on our behalf, with apps you choose to connect, or when the law requires it.

Who can see it

Your history is shown only to you, unless you share it (below). The people who run OnRepeat Stats have an admin page to keep the service working. It shows account details, such as your email address, when you signed up and how much history you have, and totals across everyone, but never what you listened to. Admins must use two-step sign-in, and every change they make to an account is logged.

Sharing

Nothing is shared until you turn it on, on the website’s Sharing page.

Public profile. A page with your top artists, albums and songs that anyone with its link can see. Your full history is never shown. Turn it off at any time and it’s no longer shown.

Connected apps. You can allow an app, such as an AI assistant, to read your listening history. It can’t change anything. What the app does with what it reads is covered by its own privacy policy. Disconnecting it ends its access at once.

Live tracking

Connecting a music service for live tracking is optional. When you connect one, the service gives us access to your recently played list. We store that access encrypted and use it only to check the list every few minutes and add new plays to your history, with the listening details the service reports. Some services don’t report exact play times, so times for those plays are estimates, and some report a song’s length rather than how long you listened.

Some services are followed through another one that keeps your listening history, such as Spotify through ListenBrainz. Then you sign in to that service, we keep only your username there, and we read the listens it keeps, which it shows publicly.

You can pause or disconnect a service at any time on the Live tracking page. Disconnecting deletes our access; plays already added stay in your history. If a service stops accepting our access, we delete it and stop checking. When you later import an export from that service, its plays replace the ones live tracking added for the time it covers.

The app

The OnRepeat app downloads a copy of your history to your device and reads your charts and recaps from that copy, so they work offline. Your sign-in is kept in your device’s Keychain. Signing out removes the downloaded history and artwork from the device.

If you allow Apple Music access, the app looks up album and artist artwork in Apple’s catalog. These lookups go from your device to Apple and include the names of the songs, albums and artists being shown. Images you share or save to Photos are made on your device; we don’t upload them. On devices with Apple Intelligence, Memory Lane uses it on your device to write short lines about your memories; your history isn’t sent to us or to Apple for this.

Music information

Artist credits and artist details, such as where an artist is from, come from MusicBrainz, a public music database. We keep our own copy of its public data and match your history against it on our servers, so nothing about you, your account or your listening is sent to MusicBrainz. See Credits.

Subscriptions

You subscribe in the app, through the App Store. Apple handles payment: we never see your card or billing details. Apple tells us about your subscription (the plan, when it started, renews or ends, and refunds) and we link it to your account with a random ID we give the App Store. We keep this while your account exists.

So each person gets one trial, when a trial starts we keep a one-way code made from your email address, not the address itself, even after you delete your account. The app also asks Apple to mark your device as having had a trial, through Apple’s DeviceCheck: Apple stores two bits for the device, and we store nothing that identifies it.

If your trial or subscription ends, we keep your history for 12 months, for 30 days if you only had the trial, or for 90 days if you only used a test version of the app (TestFlight). We email you before deleting it, and subscribing again before then brings everything back.

Service providers

  • Cloudflare hosts the website and API and stores your account, history and uploaded files. It also protects the site from attacks and bots, counts visits to the website’s pages (see Cookies and analytics below), and keeps request logs for a few days, which we use to fix problems.
  • Cloudflare Email Service sends our emails, from hello@onrepeatstats.com. Replies go to support@onrepeatstats.com.
  • The music services you connect for live tracking, which see our requests for your recently played list.
  • ListenBrainz, run by the MetaBrainz Foundation, if you follow a service through it: it handles your sign-in and sees our requests for your listens.
  • Apple, for your subscription (the App Store, and DeviceCheck), and if you allow artwork in the app. Album artwork on the website also loads from Apple’s servers, which see your IP address as any site serving an image would.

Your information is stored and processed in the United States and other countries where Cloudflare operates.

Email

We only email you about your account:

  • a link or code to verify your email address when you sign up
  • a link to reset your password, when you ask for one
  • a note that your data download is ready, when you ask for one
  • a reminder three days before your trial ends, if it will renew
  • reminders before we delete a history whose subscription ended
  • a confirmation that your account was deleted

We don’t send newsletters or marketing email yet. If we ever do, it will be easy to opt out.

Cookies and analytics

The website only uses cookies it needs to work: to keep you signed in, to show times in your time zone, and, from Cloudflare, to tell people from bots. We don’t use advertising or tracking cookies.

We use Cloudflare Web Analytics to see how often the website’s pages are visited and how quickly they load. It doesn’t use cookies, follow you across other sites or build a profile of you, and we only see totals. The app has no analytics.

Deleting your information

You can delete your account at any time: in the app under Settings, Account, Delete account and data, or on the website’s Your data page. Deletion starts right away and can’t be undone.

You’re signed out everywhere and your public profile disappears at once. Within minutes we delete everything else: your account, history, uploaded files, data downloads, live tracking connections, connected apps’ access, settings and invite. We then send one email to confirm your account was deleted, and forget the address.

We keep only a count of deleted accounts, the admin change log with your details removed, and the one-way code for your trial (see Subscriptions). Deleting your account doesn’t cancel an App Store subscription: cancel it in your device’s Settings. Your profile’s handle is held for 30 days so nobody else can take it straight away. Copies in our hosting provider’s backups are gone within 30 days.

Deleting your account in the app also clears what the app saved on your device. If you delete it on the website, sign out of the app to remove its copy. You can also ask us to delete your account by emailing support@onrepeatstats.com from the address you sign in with.

Your other choices

You can see, download, correct or delete what we hold about you. Download a copy at any time on the website’s Your data page: one ZIP file with your listening history (as CSV and JSON), imports, account details, settings and public profile settings, but never your password, sessions or tokens. We email you when it’s ready, and we delete the file after 7 days. To correct anything, email support@onrepeatstats.com.

Age

OnRepeat Stats is for people 16 and older. If we learn that someone younger has an account, we’ll delete it.

Changes

If we change this policy, we’ll update it here and change the date above. For significant changes, we’ll also let you know in the app or on the website before they take effect.

See also our terms of use.