Privacy Policy
Effective July 20, 2026
Last updated August 9, 2026
You can play VirtualPiano.io without creating an account. We do not ask you to provide a name, email address, payment information, or an audio recording to use the piano. If you choose to create a share link, we temporarily store the recording title and piano event data needed to reproduce your performance, but not microphone or rendered audio. We also process technical, usage, and pseudonymous identifier data to deliver, understand, and improve the service.
Information we process
Depending on how you use the service, we and our service providers may process:
- Request and network data, including your IP address, timestamps, requested URL, referrer, and signals used to deliver and secure the service.
- Browser, device, operating system, language, approximate location, display mode, session, and performance information.
- Page views and product interactions, including help and installation-related usage, audio readiness or failures, and session-level summaries of piano activity such as play duration and general input or feature usage.
- Behavioral and session-replay data, including clicks and taps, pointer or touch movement, scrolling, page navigation, viewport and layout state, DOM structure and changes, and related diagnostic events.
- Product experiment assignments, exposures, and outcomes associated with anonymous or pseudonymous identifiers.
- Browser error diagnostics, including JavaScript exception messages, source-mapped stack traces, a generic page route, release and environment identifiers, browser and device technical context, and a bounded trail of preceding browser actions.
- Functional settings stored in your browser, such as the visible piano range.
- If you explicitly create a share link, the recording title and versioned piano performance data, including note, timing, velocity, and sustain events needed for playback and download.
- When you open a recording share link, Google Analytics and Statsig process pseudonymous identifiers and successful recording interactions such as play, stop, seek, and MIDI or WAV download format. The working share URL, recording title, note data, and share identifier are excluded from these custom events.
Recording share pages suppress automatic analytics, performance, and replay capture. They
send only the explicit recording interactions described above, use a generic
/share/ analytics location instead of the working link, and use a no-referrer
policy. Sentry may process an exception needed to diagnose a broken share page, but the
working URL is reduced to /share/ and its query and fragment are removed before
the event is sent. The share identifier, recording title, note data, and recording content
are excluded. Microsoft Clarity and the Cloudflare Web Analytics performance beacon are not
loaded on recording share pages.
Microsoft Clarity uses interaction and DOM-state data to create heatmaps and step-by-step visual reconstructions of sessions. These reconstructions are not camera or screen-capture video, and VirtualPiano.io does not record or upload microphone or piano audio. Because the piano keys are interactive screen elements, Clarity data can reveal which on-screen keys were used and the timing or order of those interactions. Clarity's masking reduces the content uploaded to Microsoft, but it does not suppress interaction position, element, timing, or layout information.
Statsig's automated error diagnostics may collect JavaScript error messages, stack traces, page URLs, and related technical context so we can diagnose reliability issues.
Sentry processes browser exceptions and related technical context so we can group failures, connect them to a deployed release, and read source-mapped stack traces. Sentry Session Replay, performance tracing, application logs, user feedback, and user identity are not enabled.
Google Signals is enabled. For eligible users who are signed in to a Google account and have enabled ads personalization, Google may associate information collected from VirtualPiano.io with information from that account to provide cross-device measurement, aggregated demographic and interest reporting, and advertising features.
How we use information
We use this information to:
- Deliver, secure, troubleshoot, and maintain VirtualPiano.io.
- Remember functional preferences.
- Understand traffic, performance, feature usage, and reliability.
- Analyze usability through heatmaps and session replay, and diagnose errors or frustrating interactions.
- Run and evaluate product experiments and feature rollouts.
- Create, deliver, expire, and revoke recording links that you explicitly choose to share.
- Understand whether recipients successfully play, stop, seek, or download a shared recording without sending the working share link or recording content in custom analytics events.
- Measure advertising campaigns and optimize conversions imported from Google Analytics into Google Ads.
- Publish Google Analytics audiences and events to our linked Google Ads account for advertising personalization and remarketing where permitted.
Google Signals and ads personalization are enabled. Google Analytics audiences are published to our linked Google Ads account, but as of the effective date no Google Analytics audience is attached to a Google Ads campaign or ad group.
Cookies and browser storage
VirtualPiano.io and its providers use browser storage technologies, including:
-
vp_experiment_id, a first-party cookie that holds an anonymous experiment identifier for up to one year. -
Google Analytics first-party cookies such as
_gaand property-specific_ga_*cookies that distinguish users and sessions. - Statsig browser storage that may contain SDK state and an anonymous stable identifier.
-
Microsoft Clarity first-party cookies such as
_clckand_clskthat associate page views with a pseudonymous visitor and session, plus Microsoft third-party storage that may support browser recognition, service operation, analytics, and advertising-related purposes where permitted. - VirtualPiano.io local and session storage for functional preferences such as the visible piano range.
- VirtualPiano.io IndexedDB for recordings kept on your device and, when you create a share link, the local secret that lets that browser revoke the link.
- Browser caches for offline and PWA assets.
In regions where Microsoft requires a valid consent signal before using Clarity cookies, Clarity can operate without cookies and treat each page view as a separate session until a valid signal is available.
You can clear or block cookies and site data in your browser settings. Doing so may reset preferences, experiment assignment, session association, and offline assets.
Service providers and disclosures
We use the following providers to operate and improve VirtualPiano.io:
- Cloudflare for hosting, content delivery, security, privacy-oriented Web Analytics, Turnstile abuse prevention, and private storage of recording data that you explicitly share.
- Google for Google Analytics, Google Signals, campaign measurement, Google Ads reporting, conversion optimization, audience publishing, and advertising personalization.
- Statsig, operated by Amplitude, Inc. for feature delivery, experimentation, and product and web analytics.
- Sentry for browser exception monitoring, source-mapped stack traces, and release diagnostics.
- Microsoft Clarity and Microsoft for behavioral analytics, heatmaps, session replay, site optimization, security, and related advertising measurement where applicable. Our Clarity project is not connected to a Microsoft Advertising account.
These providers process data under their terms and data-protection commitments and may use subprocessors.
Retention
- Browser data remains until its stated expiry, until it is replaced, or until you delete it.
- Recording performance data that you explicitly share is accessible through its unguessable link for no more than seven days and is scheduled for deletion from Cloudflare storage after that period. Revoking the link stops access sooner.
- Google Analytics user-level and event-level data is retained according to our property setting for no longer than 14 months under the current standard-property limit. Aggregated reports may remain available for longer.
- Statsig data is retained as needed for active experiments, analysis, diagnostics, security, and contractual or legal obligations, and is then deleted or aggregated according to provider and account controls.
- Sentry error events and release artifacts are retained according to the current Sentry plan and account controls and are deleted or expire under those settings.
- Microsoft Clarity playback data is retained for 30 days. Click and heatmap data, and labeled or favorited sessions, may be retained for up to 9 months under Microsoft's current service settings.
- Security and infrastructure logs are retained according to operational needs and provider settings.
International processing
Our providers and their subprocessors may process information outside your country, including in the United States. Where required, they use contractual or other recognized safeguards for international data transfers.
Your choices and rights
You can control or delete cookies and other site data through your browser. You can also install the Google Analytics opt-out browser add-on to prevent Google Analytics measurement in supported browsers. If you use a Google account, you can manage advertising personalization in My Ad Center and review or delete associated activity in My Activity.
Microsoft Clarity does not currently respond to browser Do Not Track signals. Blocking or clearing cookies may limit session association, but Clarity may still process page-view data without cookies where its service supports cookieless collection.
Anyone who has a recording share link can access that recording until the link expires or is revoked. The browser that created the link can revoke it while its local revocation secret is still present. Clearing that browser's site data or using another device removes that local revocation ability; it does not extend the link beyond its seven-day expiry. Deleting a locally owned recording first attempts to revoke its active share links. If that revocation cannot be completed, the local recording is kept so you can try again.
Depending on where you live, privacy law may give you rights to access, delete, correct, restrict, or object to processing; receive portable data; withdraw consent where processing is based on consent; and complain to a data-protection authority. To make a request, email privacy@virtualpiano.io. We may need enough information to understand and verify your request.
Children
VirtualPiano.io is a general-audience service and does not intentionally target the service or Clarity analysis to users under 18. The service can be used without an account and does not intentionally request children's names or contact details. If you are a parent or guardian and believe a child provided personal information to us, contact privacy@virtualpiano.io.
Changes to this policy
We may update this policy as the service, our providers, or legal requirements change. We will update the date at the top when we make a material revision.
Contact
Privacy questions and requests:
privacy@virtualpiano.io