Piano Weave – Privacy Policy
This Privacy Policy explains what information the Piano Weave Android app
(package com.lumenchord.pianoweave, the "App") and the Piano Weave
transcription server (the "Server") collect, how it is used, and what choices you have.
The App and the Server are developed and operated by Krzysztof Olszak ("I", "me", "the developer").
1. Information we collect
Information you provide or that the App generates
| Data | Why | Where it goes |
|---|---|---|
| Google account information (account ID, email address) when you sign in with Google | To identify your account, keep your transcription minutes and purchases, enable cloud sync, and email you important notices about the service, such as changes to the Terms | Sent only to the official Server, with each request, as a Google access token; the Server stores your Google account ID and email address. The App never sends it to other servers (see Other servers) |
| Video links you submit for transcription | To download the audio and create a MIDI file | Sent to the Server, which retrieves the audio from the website that hosts the video. The link is also kept in the transcription record (see below) |
| Audio and video files you choose for transcription, including their file names | To create a MIDI file from them | Uploaded to the Server, which keeps them only while the transcription runs (see Retention). The file name and content are not kept in the transcription record. If the Server is busy, the audio extracted from it may be processed by a third-party GPU provider (see Sharing and third parties). |
| Microphone recordings you make with the App's Record option | To create a MIDI file from the music you recorded | Saved temporarily on your device, then uploaded to the Server when you tap Transcribe (see Microphone). If the Server is busy, the audio extracted from it may be processed by a third-party GPU provider (see Sharing and third parties). |
| Purchase information (product ID, Google Play purchase token) | To verify purchases and add transcription minutes to your balance | Sent to the Server, which verifies the purchase with Google Play. Payments are handled by Google; I do not receive your payment card details |
| Transcription balance and history of credits (free minutes, purchased minutes, usage) | To charge and credit minutes correctly | Stored on the Server |
| Transcription history and diagnostic records (job ID, your account ID or device identifier, whether you used a link or a file, the video link, audio length, minutes charged, status, error message, which processing backend was used and whether the job was moved to a GPU provider, and the times it was queued, started and finished) | To investigate failed or slow transcriptions, answer support requests and keep the service reliable | Stored on the Server for up to 30 days (see Retention). An error message can contain the video link. For files and recordings, no file name or content is stored |
| Random device identifier generated by the App | To identify you on servers that do not require sign-in, including any other server you connect to | Stored on your device and sent to the Server |
| Your MIDI library (transcribed or imported MIDI files and their titles, authors, channels and source links) | To let you practice and play back your songs | Stored on your device. If you turn on cloud sync, copies are stored in your own Google Drive |
| App settings (for example sync preference, selected server) | To remember your choices | Stored on your device |
Information collected automatically by the Server and network infrastructure
When your device or browser communicates with the official Server or its network infrastructure, technical metadata including your IP address, HTTP request headers, timestamp, and request details are automatically processed. The App itself does not request or access Android device location services, GPS, or location permissions. However, server and network infrastructure providers may process your IP address to operate the service, route network traffic, prevent abuse and automated attacks, troubleshoot errors, and infer coarse, approximate geographic region information (such as country or region) for security and routing purposes. IP addresses are not stored or treated as fully anonymous data during active network processing.
Information we do not collect
- The App does not access Android device location services, GPS hardware, or location permissions. (Coarse geographic region may be inferred from IP addresses by network infrastructure as described above.)
- The App does not read your contacts, messages or photos.
- The App does not record or upload audio from your microphone unless you start a recording yourself (see Microphone).
- The App does not contain advertising or advertising identifiers.
2. How we use information
- To provide the App's features: transcribing videos, audio and video files, and your recordings into MIDI, storing and syncing your library, and playing practice sessions.
- To sign you in, keep your transcription balance, apply free minutes and process purchases.
- To protect the Server from abuse, fraud and misuse.
- To maintain, secure and improve the App and the Server, and to answer support requests.
- To email you important notices about the service, such as changes to the Terms of Service or this Privacy Policy. These are not marketing emails.
- To investigate failed or slow transcriptions using the transcription records.
- To keep backups of the billing database (which also holds the transcription records) so that purchased minutes are not lost.
- To comply with legal obligations.
Where the law requires a legal basis (for example in the European Economic Area and the United Kingdom), I rely on performance of a contract (providing the features you request), legitimate interests (security, abuse prevention, keeping the service running reliably through transcription records, and backups), consent (microphone and Google Drive access, which you can withdraw at any time) and legal obligation.
3. Microphone
The App uses the microphone for three features, and only while you are using them:
- Wait Mode listens to your piano and pauses the sheet music until you play the correct notes. Audio is analyzed in real time on your device by a model that runs locally. It is not saved and is not sent to the Server or to anyone else.
- Voice commands (off by default) let you control practice by saying short commands such as "pause" or "loop". While they are on, the App listens only while a song is open in the piano roll and the App is on screen, and stops when you leave it or turn them off. Short spoken phrases are recognized in real time on your device by a speech model that runs locally; other sound is ignored. Audio and recognized words are not saved and are not sent to the Server or to anyone else. The speech model is downloaded once when you first turn voice commands on (see Sharing and third parties).
- Record (in AI Transcription) records audio only after you tap to start, shows that it is recording, and stops when you tap Stop, when the length limit is reached, or when you leave the App. The recording is saved in the App's temporary storage on your device. It is uploaded to the Server only when you tap Transcribe, and is handled there like an uploaded file. The copy on your device is deleted when you discard the recording, start a new one, or when the transcription succeeds. Only record music you have the right to use, and be aware that a recording may also pick up other sounds nearby, such as voices.
You can revoke the permission at any time in your Android settings; the rest of the App continues to work.
4. Sharing and third parties
I do not sell your personal information. Information is shared only as follows:
- Google. The App uses Google Sign-In (to verify identity), Google Play Billing (to process purchases and verify receipts), and, if you enable cloud sync, the Google Drive API (to store copies of your song library in your own Drive). Google handles data under the Google Privacy Policy.
-
Cloudflare Tunnel & Network Infrastructure. Incoming API traffic to the Server (at
server.pianoweave.com) is routed through Cloudflare Tunnel. Cloudflare processes request metadata and IP addresses to route network traffic, mitigate DDoS attacks, and secure connection endpoints under Cloudflare's Privacy Policy. - GPU processing and temporary storage (RunPod & Cloudflare R2). When outsourced GPU processing is enabled, the Server uploads the transcription audio (converted to a standard format) to temporary storage in Cloudflare R2 (located in the European Union). The job is then processed by RunPod on GPU infrastructure, and the generated MIDI file is returned to the Server. Neither RunPod nor Cloudflare receives your Google account name, email address, purchase details, or original video links.
- Server Hosting & Off-site Backups. The Server and database run on hosting infrastructure contracted by the developer. Off-site database backups are encrypted prior to transfer and stored in Cloudflare R2 (in the European Union) for up to 30 days. The specific primary host provider and physical data center location depend on the active server environment.
- Video and audio platforms. When transcribing a link, the Server requests the audio directly from the platform hosting it (such as YouTube). That platform receives a request originating from the Server's IP address, not your device, and processes it under its own terms.
-
Speech model download (Vosk). When you first turn on voice commands, the App downloads the open-source
Vosk speech model (about 40 MB) from
alphacephei.com, the Vosk project's website. Like any website, it receives your IP address and standard request information for that download. Nothing else is sent: no audio, account or usage data. After the download, voice commands work offline. - Legal reasons. Information may be disclosed if required by law or to protect rights, safety, and system security.
The App and this website may contain links to third-party services, such as community, donation or membership platforms (for example Discord, Ko-fi or Patreon). If you follow such a link or donate, that service collects information under its own policies; I am not responsible for them.
5. Retention
- Files created during a transcription (downloaded audio, uploaded files and recordings, and generated MIDI) are temporary on the Server and are removed automatically shortly after the job finishes. If a job runs on a GPU provider, its audio is deleted from the temporary storage when the job ends (and any leftover after a failure is deleted automatically within about a day), and the resulting MIDI is kept by the provider for up to 30 minutes.
- Account and billing records (Google account ID, email address, balance, purchases) are kept while your account is active and as needed to handle purchases, refunds and disputes, or as required by law.
- Transcription records (see Information we collect) are deleted automatically 30 days after the transcription was started.
- Backups of the billing database, which also contain the transcription records, are kept for 30 days and then deleted. A transcription record can therefore remain in a backup for up to about 60 days after the transcription.
- On your device, songs you delete in the App stay in a recycle state for up to 30 days and are then permanently removed. Uninstalling the App deletes its local data.
- In Google Drive, synced files stay until you delete them in the App, turn off and remove them, or delete them from Drive yourself.
6. Security
Data between the App and the Server is sent over encrypted connections (HTTPS) when the Server is configured with a secure address. Access to the billing database is limited, and its backups are encrypted when copied off the Server. No method of transmission or storage is completely secure, so I cannot guarantee absolute security.
7. Your choices and rights
- Sign out in the App to remove the stored Google sign-in from your device.
- Cloud sync is optional and off by default. You can turn it off at any time.
- Permissions. You can revoke microphone access in Android settings, and Google Drive access in your Google Account settings.
- Access, correction, deletion, restriction, objection and portability. Depending on where you live (for example under the GDPR or the UK GDPR), you may have the right to access the data held about you, correct it, have it deleted, restrict or object to its processing, and receive it in a portable format. To exercise these rights, contact me (see Contact). You also have the right to complain to your local data protection authority.
8. Deleting your account and data
Delete your account yourself
You can delete your Piano Weave account and data at any time, without contacting me:
- Open the account deletion page. In the App, it is linked from Settings → About → Delete account & data.
- Sign in with the same Google account you use in the App.
- Choose what to delete and confirm.
| Data | What happens |
|---|---|
| Server account (Google account ID, email address, credit balance—distinguishing purchased credits and free promotional credits—transcription jobs and their files, transcription records) | Deleted from the Server immediately. Copies in encrypted backups disappear when those backups expire (within 30 days). Free promotional credits are forfeited upon deletion; purchased credits are not automatically refunded, without affecting statutory legal rights. |
| Purchase records | Kept without your account ID or email address, so that the same purchase cannot be credited twice. |
| Free-minute timer | If you received free minutes recently, a one-way hash of your account ID and the time of the last grant is kept until the current free-minute period ends, so that deleting and re-creating an account cannot be used to collect extra free minutes. |
| Cloud library (the App's files in the hidden app folder of your Google Drive) | Deleted immediately. Your other Google Drive files are not accessed or changed. |
| Data on your device (library, settings, sign-in) | Not reachable from the web. Uninstall the App, or clear its storage in Android Settings → Apps → Piano Weave → Storage. |
- Unused free promotional credits are forfeited upon account deletion. Deleting your account does not automatically refund past purchases, but does not affect statutory rights under mandatory consumer law. Refunds are processed through Google Play.
- After deletion, you can revoke the App's access to your Google account at myaccount.google.com/connections.
Ask me to delete it
If you cannot use the deletion page, email me from the address linked to your Google account (see Contact) and I will delete your Server account within 30 days.
9. Other servers
The App can be configured to use a different transcription server. The App never sends your Google sign-in token to such a server; it identifies you only with the random device identifier, and in-app purchases are not available there. If you connect to a server that I do not operate, that server's operator, not me, decides what data is collected (for example the video links, files and recordings you submit and your IP address) and how it is handled. This Policy applies only to the Server that I operate.
10. Children
Piano Weave is a general-purpose music-learning application available to users of all ages. Where applicable law requires parental consent or legal guardian authorization for the collection or processing of personal data of children, such consent or authorization must be provided. If you believe personal information of a child was provided without required consent, please contact me so appropriate action can be taken.
11. Changes to this policy
I may update this Privacy Policy from time to time. The effective date above shows when it was last changed. If a change is significant, I will notify you in the App or on the App's store page.
12. Contact
Developer: Krzysztof Olszak
Email: contact.lumenchord@gmail.com
Project: github.com/Virtover/pianoweave