Back to Ivory

ivory

Privacy Policy

Last updated:

Ivory teaches piano in your browser. It is free, and it is built to need as little of your data as possible. Here is exactly what that means.

The short version

Playing without an account

Learn works fully as a guest. Your lessons, streak, scores and coins are saved in your browser's localStorage on the device you are using. That is browser storage, not a cookie. It is first party, readable only by Ivory, and it is not sent anywhere.

Because it lives in your browser, it is tied to that browser. Clearing your browsing data deletes it, and it will not follow you to another device.

What an account is for

You only need an account for Compete: leaderboards, duels, and cloud save so your progress follows you between devices.

When you create one, we store:

That is the whole list. We do not ask for your real name, your address or your phone number. We never ask for payment details, because there is nothing to pay for.

Your display name and your XP are held in a profiles row so leaderboards can rank them. Everything else is held as a single block of saved progress in a user_progress row. Your ranked rating is written only by Ivory's own server code, never by the app in your browser.

Exactly what syncs to the cloud

Cloud save uploads your Ivory browser storage as a whole, minus a short exclusion list, so it is worth being specific about what that covers:

Anything Ivory saves later under the same naming scheme syncs too, unless it is added to the exclusion list. That is written down here so the list can be checked rather than taken on trust.

Four things are deliberately excluded and stay on your device only:

Coins

Keys are earned by playing. They cannot be bought with real money, cannot be cashed out, and have no value outside Ivory. Your balance is simply part of your game progress, so no payment data is involved anywhere in Ivory.

Cookies, and why there is no banner

Ivory sets no advertising cookies and no tracking cookies, and it loads no third-party trackers. There is nothing to consent to, so there is deliberately no cookie banner.

If you sign in, Supabase keeps a login token in your browser so you stay signed in. That is what makes signing in work. Signing out removes it.

Analytics

There are none. Ivory runs no analytics or product-measurement tool, first party or third party, and no advertising network. If that ever changes, this page will say so first, and it will be something cookieless that does not identify individual people.

Your MIDI keyboard

If you connect a MIDI instrument, Ivory asks your browser for permission to read it through the Web MIDI API. It reads note messages only: which key you pressed and how hard. It never uses your microphone and it never records audio. Notes are checked in your browser and are not sent to a server or stored.

Who else handles your data

Ivory is run by one person with the help of a few services. Each sees only what it needs.

Apart from those, we do not send your data anywhere else. We do not share it with advertisers or data brokers, and none of them may use it for their own purposes.

Where your data is kept

Ivory is operated from British Columbia, Canada, and your data is handled under PIPEDA, Canada's federal privacy law. The services above run on servers in other countries, mostly the United States, so account data is stored and processed outside Canada and is subject to the laws there. Creating an account means you are fine with that.

How long we keep it

Account data is kept while your account exists. Delete the account and it goes. Guest data stays in your browser until you clear it. Host logs are short-lived and are handled under Cloudflare's own retention rules.

Getting your data out, and deleting it

Open Settings, then "Your data". There are two buttons, and both work today.

Export my data downloads a JSON file holding everything Ivory has about you:

Delete my account permanently erases your profile, XP, ranked history and saved progress, then clears every trace in your browser. It asks twice and makes you type DELETE, because it cannot be undone. If the deletion service cannot be reached, Ivory says so plainly rather than wiping the local copy and letting you think the cloud is gone.

If a deletion fails, or you cannot sign in to run one, email hello@ivory.academy and we will erase it by hand. You can also ask what is held about you, ask for it to be corrected, and complain to the Office of the Privacy Commissioner of Canada.

Children

Ivory is not directed to children under 13, and you must be at least 13 to create an account. We do not knowingly collect personal information from anyone under 13. Under-13s can still practise as guests, because guest play collects nothing and sends nothing anywhere.

If you believe a child under 13 has created an account, email hello@ivory.academy and we will delete it.

Security

Passwords are handled by Supabase and are never stored by us in readable form. Traffic to and from Ivory is encrypted in transit. Your progress row is readable only by your own account. No service is perfectly secure, so please use a password you do not reuse elsewhere.

Changes to this policy

If this policy changes, the date at the top changes with it. If we ever start collecting something new, we will say so plainly rather than quietly editing this page.

Contact

Questions about privacy, or a request about your data: hello@ivory.academy.