Privacy policy

Last updated:

This policy explains what personal data the Heardlist app collects, why, who can see it, how long it's kept, and how you can get it deleted. It applies to the Heardlist app for iPhone and to this website.

The short version

1. Who's responsible

The controller for your personal data is Gustaf Bratt, Sweden. In this policy, “we” and “us” refer to him. You can reach us at bratt.gustaf@gmail.com.

2. What we collect

To use Heardlist, you need to sign in with Apple or Google and choose a username. Without them, we can't create your account. You can also choose a name; if you don't, your username is shown instead. Everything else, such as shows, notes, follows, reports, and notifications, is up to you.

When you sign in

Heardlist has no passwords. You sign in with Apple or Google, and they give us:

We also store when your account was created and when you last signed in.

With Sign in with Apple, Apple also gives us a one-time code. We exchange it for a key from Apple (a refresh token) and store that key for one reason only: so that we can revoke Heardlist's access to your Apple account when you delete your account. It's never shown in the app, and no user can read it.

What you add

What's created when you use the app

Your phone's region setting (for example, United States) is sent along with some requests, so that artist pages can show statistics for your country and link to the right Apple Music store. We don't store it.

What we don't collect

Heardlist doesn't use your location, contacts, or microphone. It never reads your photos; it only saves an image to Photos when you choose Save Image while sharing. There are no ads, no analytics, and no tracking in the app, and it doesn't use your device's advertising identifier. We don't sell your data or share it for advertising.

3. Why we use it, and our legal basis

We only use your data to run Heardlist. Under the EU General Data Protection Regulation (GDPR), each use needs a legal basis:

PurposeDataLegal basis
Creating your account and signing you in Sign-in details, sign-in sessions Contract: needed to provide Heardlist under the Terms of Use (Article 6(1)(b))
Your collection: shows, songs, rarity, statistics, badges, notes, and your Want to hear list Shows, songs, notes, your Want to hear list Contract
Importing your shows from setlist.fm, if you choose to Your setlist.fm username (sent to setlist.fm), the record of each import, the temporary copy of the shows Contract. You choose whether to import.
Remembering what you've already seen, so that new items in Feed, tips, Get started, and the Your year live card don't come back Which Feed items and tips you've seen, whether you've closed Get started, and for which years you've closed the Your year live card Contract
Social features: your visible profile, Find people, following, Feed, leaderboards, and comparing collections Name, username, shows, songs, follows Contract. You decide whether your profile is visible.
Notifications when someone you follow logs a show, or when the rarity or setlist of one of your own shows is ready Push token, the name of the person who logged the show, follows, your shows and their setlists Contract. You choose whether to allow notifications.
Keeping Heardlist safe: the name filter, reports, blocking, and acting on abuse Names, usernames, reports, blocks Legitimate interest in keeping Heardlist safe for everyone (Article 6(1)(f))
Security, backups, and fixing problems Sign-in sessions, technical logs, crash reports, encrypted backups of the database Legitimate interest in protecting accounts and keeping the service running
Moving Heardlist to our own server, and testing the move Everything in the database Legitimate interest in keeping Heardlist running (Article 6(1)(f))
Revoking Sign in with Apple when you delete your account The key from Apple Contract: part of carrying out the deletion you asked for
Meeting legal requirements, for example a request from the police, and reporting serious cases, such as threats, to the police What the request or the case covers Legal obligation (Article 6(1)(c)) when the law requires it. Legitimate interest in protecting our users (Article 6(1)(f)) when we report a serious case ourselves

Heardlist doesn't make decisions about you based only on automated processing that have legal or similarly significant effects. The name filter automatically stops names that contain certain offensive words, and you can then choose another one.

4. Who can see what

Other users, if your profile is visible

Visible to others is on by default. You can turn it off when you create your profile, or later in Settings under Profile. While it's on, other signed-in Heardlist users can:

If you turn Visible to others off

Other users can't see your profile or your collection, and they can't find you. You no longer appear on leaderboards, in Feed, or under Others who were there, and nobody gets notifications about you. Anyone who already followed you keeps the follow, but only sees “Private account,” without your name.

Always private

Blocking

If you block someone, or someone blocks you, neither of you can see the other's profile or collection, and any follows between you are removed. When you block someone, we're notified in the same way as for a report, so that we can look at their account. The person you block isn't told.

Us

We can access the database to run Heardlist, review reports, and answer your requests, and we only look at personal data when that's needed. Your notes are hidden from other users, but they aren't end-to-end encrypted.

5. Who we share it with

We only share your data with the services that make Heardlist work:

Supabase, Expo, Sentry, and Cloudflare may only use it to provide their services to us, under their agreements with us. Apple, Google, and setlist.fm handle it under their own privacy policies.

We may also share data with the police or other authorities when the law requires it, or in serious cases such as threats, as described in the Terms of Use.

Crash reports

If the app crashes, or runs into an error it can't handle, it sends a crash report to Sentry, which processes it on our behalf. We use the reports only to find and fix problems in the app. Nothing is sent while the app works as it should.

A crash report contains the error and where in the app's code it happened, the app version, your iPhone model and iOS version, the device's state at the time (such as free memory), and the app's last steps before the error, such as which services it contacted and any warnings it logged. If the app closes unexpectedly, the report also includes your phone's language and region setting (for example, English and Sweden). Before a report leaves your phone, the app removes email addresses, sign-in keys, IDs, search terms, and other values in web addresses. Reports don't include your name, your email address, your username, your account ID, screenshots, or any ID for your device or installation. Sentry sees your IP address when a report arrives, like any server does, but doesn't store it.

Crash reports are stored in Sentry's EU data region in Frankfurt, Germany, and deleted after no more than 90 days.

6. Services your phone connects to

Some things in the app load straight from other services. Your phone then connects to them directly, so they receive your IP address, and their own privacy policies apply:

7. What our server loads without your data

Our server loads shows and setlists from setlist.fm, artist facts and search results from MusicBrainz, artist descriptions from Wikipedia and Wikidata, and upcoming shows from Ticketmaster. It also loads album covers from Cover Art Archive, to pick a background color for each cover. These requests don't include anything about you, with one exception: when you import your shows from setlist.fm, our server sends your setlist.fm username to setlist.fm (see Who we share it with). When you search for an artist, our server passes the search text on to MusicBrainz, without your IP address or anything else that identifies you.

8. Where your data is stored

Your account and your collection are stored in Sweden, on our own server.

Until October 22, 2026, our database was hosted by Supabase in the EU, in Stockholm, Sweden. Supabase keeps a read-only copy of the database as it was that day, so that older versions of the app keep working until they update. We delete it there about a week later and then update this page.

Every night we back up the database on our server, encrypted, to a separate disk in the same server, and we delete each backup after 30 days. Traffic between the app and our server passes through Cloudflare. Crash reports are stored by Sentry in the EU, in Frankfurt, Germany.

Supabase, Expo, Sentry, Apple, Google, setlist.fm, and Cloudflare are based in the United States or can process data there. When personal data is transferred outside the EU and EEA, it's protected as follows:

To get a copy of these safeguards, email bratt.gustaf@gmail.com.

9. How long we keep it

DataHow long
Your account, profile, shows, songs, notes, follows, and blocks Until you remove them or delete your account. We don't delete inactive accounts automatically.
Your Want to hear list Until you remove the songs or delete your account.
Your setlist.fm username and the record of each import Until you delete your account.
The temporary copy of shows from a setlist.fm import Deleted by a nightly cleanup once 7 days have passed since the import started, so within 8 days.
Which tips you've seen and when, when you first opened your badges, whether you've closed Get started, and for which years you've closed the Your year live card Until you delete your account.
Push token Until you sign out, until a notification can't be delivered because Heardlist is no longer on the device, until someone else signs in to Heardlist on the same device, or until you delete your account.
The entry created when you log a show, send a report, or one of your shows gets its rarity or setlist Deleted 7 days after its notification has been sent or given up on, or right away if the show or report it belongs to is deleted, or when you delete your account.
The entry created for a reaction, a new follower, a show someone else also logged, a song from your Want to hear list, or an anniversary Deleted 90 days after its notification has been sent or given up on, or right away if the show, person, or song it belongs to is deleted, or when you delete your account. We keep it that long so that the same thing never sends you a notification twice.
Your notification choices Until you change them or delete your account.
The key from Apple As long as your account exists. It's used to revoke Heardlist's access and deleted when you delete your account.
Reports you send As long as the reported account exists. If you delete your account, your reports are kept but no longer linked to you, so that nobody can erase a report about someone else by leaving.
Reports about you Deleted when your account is deleted.
Sign-in sessions Until you sign out on that device or delete your account. If you remove the app without signing out, the session is kept until you delete your account.
Technical logs A short time, currently no more than 7 days.
Backups of the database Each nightly backup is deleted after 30 days.
Crash reports No more than 90 days.

When you delete your account, everything that belongs to it is deleted right away: your profile, shows, songs, notes, follows, blocks, your Want to hear list, your setlist.fm imports, reports about you, your push token, your sign-in sessions, and the key from Apple. The only exception is reports you've sent, which are kept without being linked to you, as described above. Deleted data can remain for a limited time: in our encrypted backups for up to 30 days, in Supabase's read-only copy until we delete it, about a week after October 22, 2026, and in Supabase's own backups until they expire.

10. Your rights, and how to use them

Under the GDPR, you have the right to:

Your right to object

You can object at any time to processing that's based on our legitimate interests. That covers keeping Heardlist safe (the name filter, reports, blocking, and acting on abuse), security, backups, and fixing problems, moving Heardlist to our own server, and reporting serious cases (see Why we use it). We'll then stop, unless we have compelling reasons that outweigh your interests, rights, and freedoms, or we need the data to establish, exercise, or defend a legal claim. Email bratt.gustaf@gmail.com to object.

In the app

By email

To get a copy of your data, to correct something (your name and username can't be changed in the app yet), or to use any of your other rights, email bratt.gustaf@gmail.com and include your username. We may ask you to confirm that the account is yours. We'll reply within one month.

Complaints

If you think we handle your data wrongly, you can complain to the Swedish Authority for Privacy Protection (Integritetsskyddsmyndigheten, IMY) at imy.se, or to the data protection authority where you live. We'd appreciate the chance to fix it first, so feel free to contact us.

11. Children

You must be at least 13 years old to use Heardlist, as stated in the Terms of Use. If you believe a child under 13 has an account, email bratt.gustaf@gmail.com and we'll delete it.

12. Security

Everything sent between the app and our servers is encrypted on the way. Cloudflare, which relays it, decrypts it only to pass it on. Our backups are encrypted before they're stored, and the key to open them isn't kept on the server. Rules in the database decide what each user can read, so other users only get what's described under Who can see what. Your push token and the key from Apple can't be read through the app at all. No system is completely secure, but we work to keep your data protected.

13. This website

This website has no cookies, no analytics, and no scripts, and it doesn't load anything from other websites. It's hosted by Cloudflare, which processes your IP address to deliver the pages and protect the site from attacks.

14. Changes to this policy

If we change this policy in a way that matters, we'll let you know before the change takes effect, in the app or in some other way, for example on this page. The date at the top tells you when it was last updated.

15. Contact

Controller: Gustaf Bratt, Sweden.
Email: bratt.gustaf@gmail.com