Effective date: 2026-09-28 (policy version 3)
This Cookie Policy explains how Karika, Sebastian (Twiddle Coding) ("we", "us") uses cookies and similar browser storage on the Mindful Harmony website and app at mindfulharmony.app (the "Service"). It complements our Privacy Policy.
A cookie is a small text file that a website stores in your browser. Websites can also store data in other places in your browser, such as localStorage, sessionStorage and IndexedDB. These work like cookies in that they let a site remember things between page views, and the rules that apply to cookies apply to them too. In this policy, "cookies" means all of these mechanisms.
Storage is first party when it is set by mindfulharmony.app and third party when it is set by another company whose content or script is embedded on our pages.
We group everything into three categories. You choose which of the optional categories to allow in the cookie banner, and you can change your choice at any time via Cookie Settings in the page footer.
| Category | Consent | What it is for |
|---|---|---|
| Necessary | Always on | Making the site work: logging you in, remembering your theme and composer settings, caching instrument sounds so playback is fast, remembering your cookie choice, completing purchases, and Cloudflare's bot protection. |
| Embedded media | Optional | Playing YouTube videos that we embed in our guides. YouTube (Google) stores identifiers and cookies as soon as the player loads and plays. Until you allow this, videos are shown as a placeholder. |
| Marketing | Optional | Measuring whether our advertising works, using the Meta (Facebook) Pixel. |
These are required for the Service to function. They do not track you across other websites.
| Name | Type | Purpose | Duration |
|---|---|---|---|
| mh_consent | Cookie | Remembers your cookie choices and which version of this policy you agreed to. | 6 months |
| themesettings | Cookie | Your theme preference (system, light or dark). | 1 year |
| currenttheme | Cookie | The resolved theme (light or dark) so pages render in the right colours immediately. | 1 year |
| pocketbase_auth | localStorage | Keeps you logged in to your account. | Until you log out |
| mh-pro | sessionStorage | Remembers that your account has premium access so the navigation does not flicker. | Until the tab is closed |
| lastOpenedSongId | localStorage | Reopens the song you last worked on in the composer. | Until cleared |
| volume, metronome, playBassnote, arpeggioPattern | localStorage | Your playback settings in the composer. | Until cleared |
| midiActivated, midiInputPort, midiOutputPort, midiInputChannel, midiOutputChannel, midiDivisi, midiDivisiChannels | localStorage | Your MIDI device settings in the composer. | Until cleared |
| harmonyAppShowGuitar, chordSelectorShowGuitar, showcompare1, showcompare2, compactGrid, autoScrollPlayback, voiceLeadingExpanded | localStorage | Which panels and views you have turned on or off in the composer. | Until cleared |
| composerOnboardingShown, composerAdvancedOnboardingShown, communityWelcomeShown | localStorage | Remembers that you have already seen an introduction so we do not show it again. | Until cleared |
| piano3, strings2, guitar3, chip2, rhodes3 | IndexedDB | Caches the instrument sound files so they do not have to be downloaded every visit. | Until cleared |
| __cf_bm | Cookie (set by Cloudflare) | Distinguishes humans from bots so Cloudflare can protect the Service from automated abuse. | 30 minutes |
Cloudflare. The Service is delivered through Cloudflare, Inc., which sets the __cf_bm cookie as part of its bot management. It is strictly necessary for security and delivery of the site, so it does not require consent. See Cloudflare's cookie policy.
Payments (Paddle). Our checkout is provided by Paddle.com Market Ltd, who acts as the merchant of record. Paddle's checkout script is only loaded on the Account page, and it stores data in your browser (cookies and local storage on paddle.com domains) to keep your checkout session working and to prevent fraud. This is strictly necessary to complete a purchase you have asked for, so it does not require consent, but we list it here for transparency. See Paddle's privacy policy.
Some of our guides include videos hosted by YouTube. We use YouTube's "privacy-enhanced" domain (youtube-nocookie.com), but despite the name YouTube still stores identifiers in your browser when the player loads and sets cookies when you press play. Because of this we do not load the player until you allow the Embedded media category. Until then you see a placeholder that opens your cookie settings. The placeholder shows the video's preview image, which is fetched from YouTube's image server (i.ytimg.com) without sending the page address; that request does not set any cookies or store anything in your browser.
Provider: Google LLC. See How Google uses information from sites that use its services.
| Name | Type | Purpose | Duration |
|---|---|---|---|
| yt-remote-device-id | localStorage (youtube-nocookie.com) | Unique identifier for your device, used across embedded players. | Persistent |
| yt-remote-connected-devices, yt-remote-session-app, yt-remote-session-name, yt-remote-cast-available, yt-remote-cast-installed, yt-remote-fast-check-period | localStorage (youtube-nocookie.com) | Remote playback (cast) state and player session. | Session to persistent |
| ytidb::LAST_RESULT_ENTRY_KEY, yt.innertube::requests, yt.innertube::nextId | localStorage (youtube-nocookie.com) | Player internals; includes a Google visitor identifier. | Persistent |
| yt-player-headers-readable, yt-player-bandwidth | localStorage (youtube-nocookie.com) | Player quality and bandwidth estimation. | Persistent |
| YtIdbMeta | IndexedDB (youtube-nocookie.com) | Player internal database. | Persistent |
| VISITOR_INFO1_LIVE | Cookie (youtube.com) | Estimates bandwidth and identifies the visitor; also used by Google for statistics and advertising. | 180 days |
| YSC | Cookie (youtube.com) | Registers a unique ID to keep statistics of which videos have been seen. | Session |
| PREF | Cookie (youtube.com) | Player preferences such as volume and captions. | Up to 8 months |
| GPS | Cookie (youtube.com) | Unique ID on mobile devices to enable location-based tracking. | Session |
If you allow the Marketing category we load the Meta Pixel, an analytics tool from Meta Platforms, Inc. (Facebook). It lets us see whether people who arrive from our Facebook or Instagram ads actually use the Service, and helps Meta show our ads to people who are likely to be interested. The Pixel is not loaded, and none of the storage below is set, unless you allow this category.
Provider: Meta Platforms Ireland Ltd. See Meta's Cookies Policy and Meta's Privacy Policy.
| Name | Type | Purpose | Duration |
|---|---|---|---|
| _fbp | Cookie (mindfulharmony.app, set by Meta's script) | Identifies your browser so that Meta can measure ad performance and deliver advertising. | 90 days |
| _fbc | Cookie (mindfulharmony.app, set by Meta's script) | Stores the click identifier from a Facebook or Instagram ad you arrived from. | 90 days |
| lastExternalReferrer, lastExternalReferrerTime | localStorage (mindfulharmony.app, set by Meta's script) | Remembers the last external site that referred you here, and when, for ad attribution. | Until cleared |
| fr and other Meta cookies | Cookie (facebook.com) | Set by Meta on its own domain when your browser contacts facebook.com; only present if you have a Meta account or have visited Meta sites. | Up to 90 days |
When you accept marketing cookies we store a record that a consent was given, together with the time and this policy's version number. That record contains no information about who you are.
Your choice is stored for 6 months. If we change this policy in a way that affects your choices, we increase the policy version and ask you again on your next visit.
We may update this Cookie Policy from time to time. The effective date and version number at the top of the page show when it was last changed.
If you have any questions about this Cookie Policy, please contact us.