Privacy
What happens to your audio
Your files are read from disk into this browser tab, processed by code running in that tab, and handed back to you as a download. They are never transmitted to sonicbatch.com or anywhere else.
This is structural, not a promise
“We don’t store your files” is a policy statement, and you have no way to check it. What Sonic Batch offers instead is an architecture in which uploading is not possible:
- There are no API routes, no server actions and no serverless functions in this application. There is no endpoint that accepts a file, so no code path exists that could send one.
- There are no third-party media, AI or processing services. The conversion engine is FFmpeg compiled to WebAssembly and served from this domain at a pinned version.
- The page sends a Content-Security-Policy that restricts connect-src to this origin. A request to an external host would be blocked by the browser, not merely discouraged by us.
- The project’s automated test suite includes a browser test that drives a real conversion and fails if any network request during import, preview, conversion or download carries media bytes.
- There are no accounts, no cookies for identification, and no persistent storage of file contents. Results live in the tab’s memory until you download them or reset the queue.
The one thing we do measure
Sonic Batch uses Vercel Web Analytics to count page views. It records which page was visited, a referrer and coarse device and country information — the same things a web-server log would. It sets no cookie and does not build a cross-site profile.
What matters here is what it cannot see. Analytics is limited to page views: no custom events are ever sent, so no filename, tag, duration, size, codec or setting from your audio reaches it. There is also nothing in a page path to leak — the workspace keeps no state in the URL, so every visitor to a conversion page produces the identical path regardless of what they converted.
Its script and its beacon are both served from this domain, which is why the site can keep a Content-Security-Policy that forbids connections to any other origin.
What the server does do
The server delivers static HTML, CSS, JavaScript and the WebAssembly engine, and nothing else. Ordinary web-server request logs may record the usual things — a page path, a timestamp, an IP address, a user agent — because that is how HTTP works. None of it contains a filename, a tag, a path or any audio.
Every page on this site is pre-rendered at build time. There is no server-side rendering per request, no API route and no server action, so there is no code path on the server that runs while you are using a tool.
The trade-offs, stated honestly
- Results are in memory only. Closing or reloading the tab loses anything not yet downloaded — the page warns you before you leave with unsaved results, but there is nothing on a server to recover.
- Your device does the work, so speed depends on your hardware. A phone will be slower than a desktop, and iOS runs one file at a time on a single-threaded engine.
- Limits are real and enforced: 400 MB per file, 4 GB per queue, 4 hours per file. A browser tab has finite memory, and rejecting a file up front beats crashing halfway through a batch.
- The engine is roughly a 31 MB download on first use. Your browser caches it at an immutable URL, so subsequent visits and conversions need no network at all.
There is one privacy issue this tool cannot solve for you, and it is worth naming: audio metadata often carries more identifying information than people expect — the ripping software, encoder settings, comment fields, purchase identifiers, and sometimes a name or email address.
If you are sending audio outside your organisation, use the strip-all option in the metadata editor. It rewrites the file with no tags and no artwork, without re-encoding the audio.
Things this site will never do
- Upload, mirror, cache or retain your media on any server.
- Send file contents, filenames or tags to an analytics or error-monitoring service.
- Use an AI model or an external API to process audio — every operation here is deterministic.
- Claim a conversion is lossless when it is not, or claim unlimited capacity it cannot enforce.