Privacy Policy
Last updated 16 October 2026.
In short: your microphone audio is processed on your device and never uploaded. musitool sets no cookies, has no accounts and shows no ads. It counts how its pages are used with its own small analytics, described in full below.
Microphone audio
The tools need your microphone to hear the note you play or sing. Your browser asks your permission first, and you can withdraw it at any time in the browser's site settings. The audio is analysed in your browser, on your device, as it arrives. It is never recorded, never saved and never uploaded to musitool or anyone else. Only the result, such as the note name on screen, ever exists, and it stays on your device too.
Cookies
musitool sets no cookies and stores no identifier in your browser. There are no advertising or social-media trackers on the site.
What the site's analytics stores
To learn which tools work and which do not, each page sends a few small events to musitool's own server (a "beacon"). They are stored in musitool's own database on Cloudflare, not shared with an analytics company. Each event stores these fields and nothing else:
-
event - Which of the events listed below happened. Every event.
-
ts - When the event was received, in UTC. Every event.
-
path - The page path, such as /ukulele-tuner, without any query string. Every event.
-
lang - The page language, such as en. Every event.
-
referrer_host - The host name of the site that linked to the page, such as google.com. Never the full address. Every event.
-
device_class - mobile, tablet or desktop, from the screen size. Every event.
-
viewport_bucket - The browser window width, rounded down to one of a few coarse steps (0, 360, 480, 768, 1024 or 1440 pixels). Every event.
-
visitor_hash - sha256(IP address + user agent + daily salt). The salt rotates every day and is never stored, so the hash cannot be reversed and cannot link your visits across days. The IP address and user agent themselves are not stored. Every event.
-
return_visit - Present when this browser opened the same page on one of the previous 7 days. To know this, the page keeps the date of your last visit to it in your browser’s storage. That date is the same for everyone who visited that day, so it does not identify you, and it is never sent. Only on view.
-
active_ms - How long the page was in active use since it was last shown, in milliseconds: time the tab was visible and the tool was listening, or you interacted in the previous 15 seconds. Only on hide.
-
error_message - The error message, cut to 200 characters. Only on js_error.
-
error_frame - The first frame of the stack trace (script path, line and column) only. Only on js_error.
-
mode - Which mode of the tool was started, such as chromatic. Only on tool_start.
-
note - The note name shown or played, such as A4. Only on note_locked, note_logged and ref_tone_play.
-
string - The string that was tuned, by its note, such as G4. Only on string_tuned.
-
tuning - The tuning in use, such as gcea. Only on string_tuned.
-
range_low - The lowest note of the measured range. Only on range_result.
-
range_high - The highest note of the measured range. Only on range_result.
-
target_path - The path of the musitool page the link led to, such as /pitch-detector. Only on related_click.
The events are:
-
view: A page was opened. -
tool_start: The tool on the page started listening to the microphone. -
mic_denied: Microphone permission was refused. -
mic_unavailable: No microphone could be found or opened. -
note_locked: The tool held a steady note long enough to show a stable reading. -
string_tuned: One instrument string was brought in tune. -
all_strings_tuned: Every string of the chosen tuning was brought in tune. -
range_result: The vocal range test showed a result. -
note_logged: The pitch detector added a note to its on-screen log. -
share_click: A share button was pressed. -
ref_tone_play: A reference tone was played. -
related_click: A link to another musitool tool was followed. -
js_error: A script error happened on the page. -
hide: The page was hidden or closed.
Never stored: audio, your IP address, your browser's full user agent, the full address of the page that linked to musitool, or anything you type. The visitor hash is calculated with a salt that changes every day and is never stored, so it cannot be turned back into your IP address and it cannot follow you from one day to the next. Known bots are dropped.
Hosting and Cloudflare Web Analytics
musitool is served by Cloudflare. Like any web host, Cloudflare handles your IP address to deliver pages and to protect the site from attacks. The site also uses Cloudflare Web Analytics, which counts page views and measures page speed without cookies and without tracking you across sites. Cloudflare's own privacy policy covers that processing.
How long data is kept
Raw analytics events are kept for 13 months and then deleted. Totals built from them, such as page views per month, hold no visitor hash and may be kept longer.
Your choices
You can revoke microphone access at any time in your browser's site settings, and you can block the beacon with any content blocker; the tools work the same without it. Because musitool stores nothing that identifies you, it cannot look up or delete events for one person, but you can ask any question about this policy at hello@musitool.com.
Changes
If this policy changes, this page will show the new date at the top.