Skip to content
MusicalHub
Sign in

Privacy

Last updated 28 August 2026.

MusicalHub is free software that anyone can run themselves. This page describes what this installation stores, why it stores it, and how to remove it.

What this installation stores

An account holds your email address, your display name, and either a password hash or the account id from the provider you signed in with. Alongside it we keep what you do with the app: lessons completed, exercise attempts and their results, XP and streaks, sheet music you import, and your settings. That is the whole list.

Using it without an account

Guest mode is a real path, not a trial. Your progress stays in your browser and is never sent anywhere. If you later create an account you are asked whether to bring that progress with you, and if you decline it is discarded.

Signing in with Google or GitHub

We receive your name, email address and avatar, and nothing else. We do not ask for access to your files, repositories, contacts or calendar, and could not read them if we wanted to. If an account already existed with the same address, the two are joined only once both sides have confirmed that address.

What we do not do

There is no advertising here, no third-party analytics, and no tracker of any kind. Nothing you do in the app is sent to another company, and your data is not sold, rented or shared.

Cookies

Two. One keeps you signed in; one remembers whether you chose the light or dark theme. Neither follows you anywhere else, and no third party sets a cookie on this site.

Email

Only what you ask for: confirming your address, resetting your password, and answering you if you report a problem. There is no newsletter.

Deleting your account

From your profile, whenever you like. Deleting an account removes it and everything attached to it — progress, attempts, imported sheets — immediately and permanently, not after a retention window.

Who is responsible

MusicalHub can be self-hosted, and each installation is run by whoever operates it. This page describes this one. If you are reading a copy running somewhere else, the operator of that copy answers for it.