Cookie Policy

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.

What cookies and similar storage are

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.

The categories we use

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.

Necessary storage

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.

Embedded media (optional)

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

Marketing (optional)

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.

How to change your choices

  • Click Cookie Settings in the footer of any page to reopen the banner and change your selection.
  • Choose Only necessary to withdraw consent for all optional categories. Optional scripts will no longer load; storage they already created may remain in your browser until you clear it.
  • You can also delete cookies and site data in your browser settings at any time. Deleting the mh_consent cookie will show the banner again.

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.

Changes to this policy

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.

Contact

If you have any questions about this Cookie Policy, please contact us.