Who we are
ListenLens (“we”, “us”) is an independent service at listenlens.com that lets you ask questions about your Spotify listening history. We decide how and why your personal data is processed, which makes us the controller of it under the EU General Data Protection Regulation (GDPR).
ListenLens is not affiliated with or endorsed by Spotify, OpenAI or Anthropic. For anything about this policy or your data, write to [email protected].
What we collect
If you create an account
- Your email address. If you sign in with Google, Google also shares your name and profile picture, which our sign-in provider stores. We don’t use them.
- Basic sign-in records, such as when you last signed in.
- Your settings: your home time zone and whether your account includes your full history.
Your Spotify export
When you upload your Extended Streaming History, we store the zip exactly as you uploaded it. For each play, Spotify’s export includes: the time, the track, artist and album, a Spotify link to the track, how long you listened, why the track started and ended, and whether shuffle, skip, offline or private session mode was on. It also includes the platform or device, the country you were in, and the IP address Spotify recorded. Podcast, audiobook and video entries may be in the file too.
From that zip we build your listening database. It holds the music plays with the fields above except IP addresses, which we never copy out of the zip. We add a few values we work out ourselves, such as the local time zone of each play and a device category. Podcasts, audiobooks and videos are not imported. On the free plan only plays from 1 January 2025 onwards go into the database, but we keep the whole zip, so we can add the rest if you upgrade without asking you to upload again.
When you use the chat
- Your questions, the answers, the queries that were run, and the data behind any table or chart, so your conversations are still there when you come back.
- How many questions you’ve asked and how much AI processing they used, to count them against your plan and to keep costs in check.
- If you tell us you've requested your Spotify export: the date, so we can send you one reminder email to upload it.
- Your answers to our suggested questions, so asking one again shows the same answer until you import new data.
Imports and connected assistants
- The status of each import: counts, dates and any error message.
- If you connect Claude or ChatGPT, a record of that connection (which app and when), so you can see it and disconnect it.
- How many queries a connected assistant has run on your data (the number only, not the queries), to count them against your plan.
Usage analytics
We use PostHog, hosted in the EU, to understand how ListenLens is used, so we can tell what works and what doesn’t. It records:
- the pages you visit, with the referring site, your browser, device type, screen size and approximate location (country and city) that PostHog works out from your IP address;
- a few product events: starting an import, an import finishing (whether it worked and how many plays it added), sending a chat message (only that you sent one and whether it was one of our suggested questions, not what it said), saying you've requested your export, and asking the sample listener a question (only whether it was one of our sample questions or your own).
It never records your questions, the answers, the queries, your listening history or anything you type. Session recording, heatmaps and automatic click tracking are switched off.
If you accept analytics cookies, PostHog stores an identifier in your browser so it can recognize repeat visits. If you’re signed in, we link these events to your account’s internal ID (never your email), so we can see things like how many people who import go on to ask a question. If you decline, or haven’t chosen yet, nothing is stored in your browser except your choice. PostHog then counts visits with a one-way hash of your IP address and browser that changes every day, so it can’t follow you from one day to the next, and nothing is linked to your account.
Technical logs
Our servers log events such as import job IDs, counts and errors so we can fix problems. These logs never contain your listening data. Like most websites, our hosting may also briefly record technical details of requests (such as IP address, browser and time) to keep the service secure.
What we don’t collect
We never ask for your Spotify password and we don’t connect to your Spotify account. We don’t collect payment details (there are no paid plans yet). We don’t use advertising trackers, and we never record your screen or your sessions.
How we use it, and why we’re allowed to
The GDPR requires a legal basis for each use of personal data. Here is ours.
- Running your account, imports, chat and connected assistantsContract
- This is the service you signed up for, and we can’t provide it without processing your data.
- Keeping your original uploadContract and legitimate interest
- So we can rebuild your database when we fix a bug or add a feature, and import your full history if you upgrade, without asking you to upload again.
- Measuring how ListenLens is usedConsent, or legitimate interest without cookies
- Analytics cookies and linking events to your account only happen if you accept them. Without your consent we only count visits cookieless, as described above, to know how many people use ListenLens.
- Security, abuse prevention, usage limits and fixing errorsLegitimate interest
- Keeping ListenLens safe and working for everyone who uses it.
- Meeting legal obligationsLegal obligation
- For example, answering a lawful request from an authority.
We don’t use your data for advertising, we don’t sell it, we don’t build marketing profiles, and we don’t use it to train AI models. We only look at your listening data when you ask us to (for example in a support request) or when we need to fix a problem with your import, and then only as much as that requires.
AI and your data
The ListenLens chat
Answers in our chat are written by an AI model from OpenAI, used through its API. To answer you, we send OpenAI your question, the conversation so far, instructions that describe how your database is organized, your home time zone, the date range your data covers, and the results of the queries the model runs. These results are usually a handful of rows, such as a top-10 list or yearly totals. We never send your whole export, and we never send IP addresses.
OpenAI doesn’t use data sent through its API to train its models by default, and keeps it for up to 30 days to detect abuse before deleting it. The model can only read your database: the connection it uses doesn’t allow changing or deleting anything.
Claude and ChatGPT
If you connect ListenLens to Claude (by Anthropic) or ChatGPT (by OpenAI), that assistant runs read-only queries on your database through ListenLens and receives their results. Those conversations happen in the assistant’s app, not on ListenLens, and we don’t receive or store them. How the assistant handles what it receives, including whether your chats are used for training, is governed by its provider’s terms and privacy policy and by your settings there.
You can disconnect an assistant at any time on the Connect page in ListenLens. Access the assistant already holds can keep working for up to an hour after you disconnect.
AI makes mistakes
Answers are generated automatically and can be wrong. You can open the query behind each answer to check it. No decisions with legal or similarly significant effects are made about you.
Transfers outside the EU
Your account, your uploaded file and your listening database are stored in the EU. Some providers (OpenAI and Resend, and sub-processors of our other providers) may process data in the United States or other countries. Where that happens, the transfer is protected by the EU–US Data Privacy Framework or the European Commission’s Standard Contractual Clauses.
How long we keep it
- Account data, your uploaded zip, your listening database and your chats: for as long as you have an account.
- Usage analytics: up to 12 months.
- Technical logs: a limited period, then they are deleted automatically.
When you ask us to delete your account, we delete all of it within 30 days. Copies in our providers’ backups are removed as those backups expire on their regular schedule.
Your rights
You have the right to:
- get a copy of the personal data we hold about you;
- have it corrected if it’s wrong;
- have it deleted;
- receive it in a portable, machine-readable format;
- restrict or object to how we use it;
- withdraw consent at any time, where we rely on consent.
To use any of these, email [email protected] from the address on your account, so we know the request is really yours. We reply within one month.
Deleting your data. Use Delete my data in Settings. Your listening database stops being readable at once, in the app and in Claude or ChatGPT, connected apps are disconnected and your chats are deleted. Your listening database and uploaded zip are erased within 30 days.
Deleting your account. There isn’t a button for this yet. Until there is, email us and we will delete your account, your uploaded zip, your listening database, your chats and the analytics linked to your account within 30 days, and confirm when it’s done. We stop processing your data as soon as we receive the request.
If you think we’ve handled your data wrongly, please tell us first so we can fix it. You also have the right to complain to the data protection authority in the EU country where you live or work.
We give these rights to everyone who uses ListenLens, wherever they live.
How we protect it
- Every account gets its own separate listening database.
- The AI queries your data through a read-only connection, and only the server ever chooses which database to open.
- Uploaded files are kept in private storage that only you can upload to and only our servers can read.
- Data is encrypted in transit (HTTPS) and at rest by our providers.
- IP addresses from your export never enter your database.
No system is perfectly secure. If a breach affects your data, we will tell you and the authorities as the law requires.
Children
ListenLens is not meant for anyone under 16, and you must be at least 16 to create an account. If we learn that someone under 16 has given us personal data, we will delete it.
Changes to this policy
If we change this policy, we’ll update the date at the top. If the change is significant, for example a new provider that receives your listening data, we’ll email you before it takes effect.
Contact
Questions, requests or concerns: [email protected]. See also our terms of service.