What we collect, exactly
Short version: no cookies for visitors, no IP addresses stored, no user-agent strings stored, no fingerprinting, no third-party trackers or scripts, and your video is never uploaded. We count a few anonymous events to see whether the site and the browser version are used. If your browser sends Do Not Track or Global Privacy Control, nothing is sent or counted at all.
The session id
To count visits without tracking you, your browser makes a random id (24 letters and digits) and keeps it in this tab's session storage. It is not a cookie: it is never sent automatically, it is deleted when you close the tab, and a new tab gets a new id. It is not linked to your IP address, your device, an account or any other site. It lets us see, for example, that a visit to the homepage was followed by opening the browser version in the same tab.
On this website
When a page loads, the browser sends the page path, the referring page and the session id. We store these daily totals:
| Stored per day | Example |
|---|---|
| Page views, per page path (no query strings) | / → 42 |
| Unique visitors that day (distinct session ids) | 17 |
| Referring website, as a domain only | example.com → 5 |
| Browser family, OS family and device class, worked out from the request and then discarded | Firefox · Windows · desktop |
| Downloads per release and platform | v0.29.48 · windows → 9 |
Clicking "Try" or a buy button sends one more event: where the "Try" link was (for example hero), or which plan and which payment option (card, PayPal or contact). Pressing play on a sample cue sends play with where it was (for example see or moods); clicking a download sends get with app or pack. If the site operator turns on the launch counter, the thank-you page after a purchase sends one launch_sold event per browser session (a flag in sessionStorage, which is cleared when you close the tab, stops it counting twice); it contains nothing about you or your payment.
When you buy
Payment happens on Stripe's or PayPal's own page; this site never sees card details. To give you your download link, the server keeps a small order record: a random order id, the amount and currency, a masked hint of your email (for example p•••@example.com), a keyed one-way hash of your email so we can find your order when you write to us, and how many times the link was used. Your full email address is not stored here. Download links are signed, expire, and stop working if the purchase is refunded.
In the browser version (/demo)
Your projects, templates and any video you open stay in your browser (IndexedDB). Your video, audio and project files are never uploaded; the picture and sound are analysed inside the page. Exports are made in the page and saved by your browser. The page fetches only its own files and the instrument samples from this site.
It sends these anonymous events, each with the session id and nothing else:
| Event | What is sent |
|---|---|
| Opened the browser version | The continent part of your browser's time-zone setting (for example Europe); no country, city or IP lookup |
| Section viewed | The section name, for example simple or pro |
| Template played, piano preset chosen | The built-in template id or piano id |
| Score my scene | Whether it worked, the video length as a range (for example 1-3m), the genre and mood chosen. Never the file name or any of its content |
| Play, buy / get-the-app bar | That the demo was played, or which button in the "Like how it sounds?" bar was pressed |
| Export | The format only (WAV, MIDI or MusicXML) |
| Error | The error type only (for example TypeError), never the message |
| Session length | A range (for example 2-10m), sent when you leave |
Each stored event also has the time (to the second) and date. The server keeps no IP address or user agent with it.
IP addresses
The ProScoro site server never writes an IP address to disk or to its logs, and never uses one for statistics. It holds the connection address in memory only for two safety limits: failed admin sign-ins (for at most a day) and the rate limit on pack downloads (one minute). If this site runs behind a hosting provider or CDN, that provider may keep its own standard request logs under its own policy.
Buying a licence
"Pay with card" and "Pay with PayPal" are plain links to the payment provider's own page (Stripe or PayPal). This site loads no payment scripts and never receives your card details; the provider's privacy policy applies to what you enter there. After paying you come back to a thank-you page. We only count the click (plan and payment option), as described above.
Contact form
The form does not send anything to our server. It opens a pre-filled email in your own mail app, and you decide whether to send it.
In the Windows download
The app has no analytics or usage reporting and sends nothing about you or your projects to us. Your projects and films stay on your disk. It connects to the internet only to: install its dependencies on the first start; download the optional sound and piano packs you choose; download the scene-recognition model the first time Score my scene analyses a video; download the optional local cue-idea model (fetched in the background on first start when its runtime is installed); and, only if you set it up, the optional AI Director, which sends your request to the provider you chose (OpenAI, Anthropic, xAI or OpenRouter) with your own API key, under that provider's privacy terms. The browser version has no AI Director. Downloads come from the ProScoro pack server (and the file host it forwards to), Hugging Face, the Internet Archive or the npm registry, which see an ordinary download request.
Retention
Individual events are deleted automatically after 90 days. Daily totals are deleted after 13 months by default (the site operator can set between 1 and 60 months). The site operator can also delete all statistics at any time.
Admin sign-in
The only cookie this site sets is the administrator's own sign-in cookie, inside the admin area. Visitors never receive a cookie. To stop password guessing, the server counts failed admin sign-ins per connection address in memory only, for at most a day; these counters are never written to disk.
Questions
See the About page (it shows the contact address when one is set).