Skip to content

Privacy Policy

What personal data CrowdTune collects and why, who else processes it, how long it is kept, and how to use your rights over it. Last updated 10 October 2026.

Who is responsible for your data

CrowdTune is operated by Aleksandar Trenchevski, a private individual established in Skopje, North Macedonia. That makes me the data controller for everything described below. You can reach me at privacy@contact.crowdtune.live, and I will give you my full postal address on request.

Because CrowdTune is available to people in the European Union, both the Law on Personal Data Protection, Official Gazette of the Republic of North Macedonia No. 42/2020 (as amended by No. 294/21) and the EU General Data Protection Regulation (GDPR) apply. Where the two differ, I follow whichever gives you more protection.

I have not appointed a representative in the European Union under Article 27 GDPR. CrowdTune is a small, pre-revenue service run by one person; I have recorded that assessment internally and will revisit it as the service grows. You can raise anything with me directly at the address above.

What I collect, and why

CrowdTune deliberately collects very little. There is no analytics, no tracking pixel and no third-party session recording anywhere in the product. CrowdTune shows no advertising of its own; YouTube can play its own ads inside the player.

WhatWhyLegal basis
Your username and email addressTo create your account, sign you in, and send you account email such as verification and password resetsPerformance of a contract
Your password, stored only as a bcrypt hashTo authenticate you. The original is never stored and cannot be recovered from the hashPerformance of a contract
Events you create, and the songs added to themTo run the event. Your username is recorded as the event ownerPerformance of a contract
Your votesTo rank songs. A vote records who cast it: your username if you are signed in, or a temporary guest identifier if you are notPerformance of a contract
The songs you request, and the name you are shown byTo run the event and to say who asked for a track. A song request records who made it: your username if you are signed in, or a temporary guest identifier if you are not. If you type a name when you join as a guest, that name is shown beside the songs you request, to everyone else at that event and to the host. Leave it blank and no name is shown. The host of a Teams event can also see who requested the most songsPerformance of a contract
The email address of anyone you invite to a teamTo deliver the invitation. It is deleted or scrubbed once the invitation is accepted, expires or is revokedPerformance of a contract
Which account created each teamSo the number of teams one person can create is countedPerformance of a contract
The IP address and browser user-agent recorded when a password reset is requestedTo investigate account-takeover attempts. Apart from the sign-in counter described below, which lasts about 75 minutes, this is the only place CrowdTune stores an IP address against an accountLegitimate interests (keeping accounts secure)
Sign-in sessions (a refresh token tied to your username)To keep you signed in without asking for your password on every requestPerformance of a contract
Server logs and short-lived rate-limiting counters. The logs record the IP address of each request and the address it asked for, including anything after the question mark. The counters for sign-in, sign-up, guest joins, join codes, content reports and cookie choices are keyed on your IP address, and the sign-in counter also holds the username or email address typed into the sign-in form. The other counters are keyed on your username, your guest identifier or your browser’s client idTo keep the service running and to stop abuse. The logs rotate automatically. A counter expires one hour after its limit has fully reset: about 75 minutes for sign-in, about 2 hours for sign-up and team actions, and up to about 27 hours for the daily song-search allowance. Neither is used to build any profile of youLegitimate interests (security and availability)
Your cookie choicesTo remember what you agreed to, and to prove it if you ask. Each record holds the choice, the policy version, the time, your browser’s user-agent and your browser’s client id exactly as your browser sent it, plus your account if you are signed in. It holds no IP addressLegal obligation, and your consent for anything non-essential
A report you send about contentTo look into it and act on it. A report stores what you reported (an event, a song or a guest name), the reason you picked, what you wrote, your name and email if you gave them, your confirmation that the report is accurate, and my decision. Only I read reports. If I remove the content, the event’s host is told what was removed and why, but never who reported itLegal obligation (the EU Digital Services Act, Articles 16 and 17)
If you buy a plan or an event pass: the plan, the AgentaOS subscription reference, its status, renewal date and billing period, which account pays for a team, and for a pass the event and when it endsTo give you what you paid for, and to stop it when it ends. At checkout CrowdTune passes your account email to AgentaOS, which takes the payment as the seller. CrowdTune never receives your card detailsPerformance of a contract

YouTube API Services: what CrowdTune uses, keeps and shares

CrowdTune uses YouTube API Services to search for and play music. Google’s handling of any data it receives is governed by the Google Privacy Policy at https://policies.google.com/privacy, and by using CrowdTune you also agree to be bound by the YouTube Terms of Service at https://www.youtube.com/t/terms.

When you search for a song, the words you type are sent to the YouTube Data API so it can return matching tracks. Google receives that search text and the request, and handles it under its own privacy policy.

When the winning song plays on an event display screen, that screen loads a YouTube player. CrowdTune uses the youtube-nocookie.com player host, which defers identifying cookies, but the player is still served by Google, which will see the display device’s IP address and browser. Playback is only started once you have agreed to it.

What CrowdTune gets back from YouTube for each search result is the video’s ID, title, channel name, thumbnail image address and length. CrowdTune asks for nothing else: no view counts, no comments, no information about you or your YouTube account, and it never asks you to sign in to Google.

How it is used: the results are shown to you so you can pick a song. The song you pick is added to that event’s queue with its title, channel, thumbnail and length, so the other guests can vote on it and the event’s display screen can play it. Each title links to the video on YouTube.

How it is processed and kept: search results, together with the search text that produced them, are cached on CrowdTune’s server for up to 7 days, so that the same search by another guest does not ask YouTube again. The title, channel, thumbnail and length stored with a song, and copied into an event’s end-of-night recap, are removed after at most 30 days. Only the video ID is kept longer, and only while the event or its recap exists.

Who it is shared with: inside CrowdTune, a song’s YouTube details are visible to the host of the event it was added to, to the other guests at that event and on that event’s display screen. Outside CrowdTune, your search text goes to Google through the YouTube Data API, and Hetzner stores the database on my behalf as a processor (see the next section). No one else receives it, and it is never sold or used for advertising.

Who else processes your data

These are the only external services involved in running CrowdTune, and they do not all have the same role.

Hetzner, Resend and Sentry are processors. They act only on my instructions, under a data-processing agreement, and you exercise your rights over that data through me.

Sentry receives a report when the site or the server hits an error: the error message, the page it happened on, and the browser type. In the browser it sends errors only, and only for visitors who chose “Playback and error reports” in the cookie banner (the functional category): without that consent its code is never even downloaded, and withdrawing consent shuts it down again within the same visit rather than at the next reload. It is configured never to record a session, never to attach your IP address, and never to send the contents of a request. Reports are stored in the European Union.

Google and AgentaOS are independent controllers for the part each one handles. They decide for themselves what they do with what they receive, under their own privacy policies, and they are accountable to you directly for it. What I decide is what reaches them at all, which is described above and below.

ServiceWhat it doesWhere
Hetzner Online GmbHHosts the servers and the database. All of your data lives hereNuremberg, Germany (EU)
ResendSends account email: verification, password resets and team invitationsUnited States
SentryReceives an error report when the site or the server hits a fault, so it can be found and fixedEuropean Union
Google (YouTube Data API and the YouTube player)Song search and playback, as described aboveUnited States and globally
AgentaOSTakes payment for a paid plan as merchant of record. It is the legal seller, so it receives your account email from CrowdTune and your billing details from you, and CrowdTune never sees your cardEstonia (EU)
Let's Encrypt (ISRG)Issues the certificate that encrypts your connection. It receives no personal dataUnited States

Reporting a problem on GitHub

The “Report a problem” link opens a public GitHub repository, https://github.com/trencho/crowdtune-issues. CrowdTune sends nothing to GitHub: the link only opens GitHub’s page. Anything you write there, you post yourself under your GitHub account, and anyone can read it.

GitHub is a separate controller for what you post there and handles it under its own privacy policy. Please do not post personal data in an issue, yours or anyone else’s. If you would rather not use GitHub, email privacy@contact.crowdtune.live instead.

Sending data outside North Macedonia and the EEA

Your data is stored in Germany. AgentaOS, which takes payment as the seller of your plan, is Aristokrates OÜ in Tallinn, Estonia, also inside the EU, and handles your billing details under its own privacy policy. Two recipients are established in the United States: Resend, a processor that sends account email, and Google, an independent controller as described under “Who else processes your data”. So account email and song searches involve a transfer there. Those transfers rely on the EU–US Data Privacy Framework, under which both are certified, with the European Commission’s Standard Contractual Clauses as the fallback.

How long I keep things

WhatHow long
Your accountUntil you ask me to delete it. See "Your rights" below
Events, and the songs and votes in themUp to 30 days from creation, then deleted within a further 7 days
YouTube details of a song (title, channel, thumbnail, length)No more than 30 days; only the video ID is kept longer
End-of-night recaps (the event name, the top songs and vote totals; no guest names)Kept for the host to look back on. YouTube titles and channel names in them are removed after at most 30 days
Sign-in sessions, verification and password-reset tokensExpired tokens are swept nightly and none survive beyond 30 days
Database backups14 days, then deleted
Error reports held by Sentry30 days, then deleted by Sentry
Server logsRotated automatically; roughly the last 30 MB per service is retained
Rate-limiting countersOne hour after the limit fully resets: about 75 minutes for sign-in, up to about 27 hours for song search
Cookie-consent recordsUp to 3 years, so that I can show what was agreed and when
Content reportsKept until I decide. A decided report is deleted once 365 days have passed since it was sent
An unfinished checkout (your account email, the team and the plan chosen)Deleted as soon as the payment is confirmed, or after 30 days if it never is
Your plan and subscription detailsFor as long as the team that holds the plan exists
Receipts, invoices and tax records for a purchaseKept by AgentaOS as the seller, for as long as the tax and accounting law that applies to it requires. CrowdTune does not hold them

Your rights

You can ask me to do any of the following, free of charge. I will respond within one month.

  • Get a copy of the personal data I hold about you, in a portable machine-readable format.
  • Correct anything that is wrong.
  • Delete your account. CrowdTune anonymises rather than destroys: your username and email are replaced with an untraceable placeholder and your sessions are ended, while the events and votes you took part in survive without you attached to them. That keeps other people’s event history and vote counts honest. If you need something destroyed outright rather than anonymised, ask and I will tell you what is possible.
  • Restrict or object to processing that relies on my legitimate interests.
  • Withdraw a consent you have given, at any time. Withdrawing is exactly as easy as giving it: the "Cookie settings" link in the footer reopens the choice. Withdrawing does not undo anything done before you withdrew.
  • Complain to a supervisory authority.

How to exercise them

Email privacy@contact.crowdtune.live from the address on your account and say what you want. If I cannot tell that the request is from you, I will ask for something that establishes it. I will not hand your data to somebody else on the strength of an email address alone.

Cookies and local storage

CrowdTune sets one cookie in order to keep you signed in, and stores a handful of values in your browser so the app works and remembers your preferences. Nothing non-essential loads until you say so. The Cookie & Storage Policy lists every item individually.

Children

You must be at least 16 to hold a CrowdTune account. Guests can vote at an event without an account, and CrowdTune does not ask a guest their age or collect anything that identifies them beyond a temporary identifier for the event.

If you believe someone under 16 has created an account, tell me at privacy@contact.crowdtune.live and I will remove it.

Automated decisions

There are none. Nothing about you is decided automatically, no profiling takes place, and there is no algorithm scoring you.

Security

Connections are encrypted with TLS. Passwords are stored only as bcrypt hashes. Sign-in tokens are short-lived and the long-lived one is kept in a cookie your browser will not expose to scripts. The database is not reachable from the internet. Backups are taken nightly and verified. No system is perfect; if something goes wrong that puts your data at risk, I will notify the supervisory authority within 72 hours and tell you directly where the law requires it.

Changes to this policy

This policy was last updated on 10 October 2026. When I change it, I publish the new text on this page with a new "last updated" date. When a change matters, the version of the legal documents changes too, and the cookie banner asks for your choice again on your next visit.

Complaints

If you are unhappy with how I have handled your data, please tell me first at privacy@contact.crowdtune.live. Most things are quicker to fix directly. You also have the right to complain to the Agency for Personal Data Protection of the Republic of North Macedonia (Агенција за заштита на личните податоци), www.azlp.mk, or, if you are in the EU or EEA, to the data protection authority where you live or work.

Last updated 10 October 2026.