Privacy policy

What StemVocal keeps when you separate a song, where it is processed and for how long.

Free separation

Free separations run in our cloud by default. The page first sends the file's size, type and duration to check the free cloud allowance; it sends no filename. Your file then goes to StemVocal's private Cloudflare storage, and our processor on Modal returns the tracks for the output you chose there: vocals and instrumental, or all six parts for Drumless and Four stems. Access ends after 24 hours and the files are then deleted automatically, usually within a further day. When the free cloud allowance is unavailable, separation continues in your browser on a computer; on a phone or tablet the page instead says when free separation is available again, and nothing is uploaded or processed. Both paths accept songs up to 10 minutes. A free cloud job's record keeps the file size, the duration your browser measured, status, times and processing seconds, plus the daily keyed connection hash already used for the free daily jobs. A separate cost record keeps the random job ID, service, day, that duration and the processing cost for about 13 months; it holds no connection hash, filename or audio. Anyone with the job ID can request its download links, so keep it private.

Free samples. Once this connection's free files for the day are used, choosing another song of at least a minute can make a free 30-second sample. Your browser copies 30 seconds from about a third of the way into the song as a compressed audio file (Opus, or a WAV file in browsers that cannot make one), without the song's title, artist or artwork, and only that excerpt is uploaded and separated in our cloud as described above. The page also sends the song's length to check that it lasts at least a minute; that length is not stored. The sample's job record, storage and deletion follow the free separation's. So that a reload or a return from the plans page shows the same sample instead of making another, this tab keeps the sample's job ID, a link that cancels its unfinished upload, the selected output and the song's file size and length in its session storage for 30 minutes; the browser removes them when the tab closes. Samples are limited to two a day, use no free files or credits, and the page plays the result without offering a download.

When a free separation runs in your browser, the browser downloads and caches the separation model and software, and your audio and results are not uploaded. Processing writes decoded audio and temporary stem data to this site's private storage on your device; this keeps the full song out of working memory. Six WAVs stay there while you use the result. Reset or leaving the page attempts to remove that job's files. If a tab crashes or cleanup is interrupted, a later visit removes inactive job folders older than one day. Browser storage eviction can also remove them. Download results before closing the tab; local jobs cannot be recovered after a reload. Clearing this site's browser data removes cached software and remaining local files.

The free-allowance service receives a random request ID, selected output, status and timestamps, plus the daily rotating keyed connection hash described below. For a separation in your browser it receives no file, filename, waveform or audio duration. Free audio and video transcription run in our cloud by default and continue in the browser the same way; each transcription site’s privacy page describes what those jobs keep. Their cached speech model and saved transcript edits stay in each transcription site’s browser storage. The official flow shares the same daily limit across all three tools. Failed or cancelled local processing releases its reserved place. Local execution is under the visitor's control, so this is a service allowance rather than a tamper-proof restriction on model execution.

Audio and results

Download all tracks reads your local WAVs or downloads the selected format from an existing cloud result. It packages all six tracks in a ZIP in this site's private browser storage. It makes no upload or new separation. Cancel, changing the download format, resetting the tool or leaving the page attempts to delete that archive; hiding the tab cancels unfinished preparation. After a crash, a later visit removes inactive folders older than one day. A ZIP you explicitly save remains wherever you save it. Audio, filenames and download links are never sent to analytics.

Choosing a file opens its original in the practice player on your device. When you choose a video, your browser first takes its sound into an audio file, without the video's picture or metadata; that audio is what the player, the separation and any upload use, and the video itself is never uploaded. If you then save a video with a separated track, your browser puts it together from your file's picture and that track; it is not uploaded either. The new video may be kept in this site's private browser storage until you choose another file or reset the tool, and files left by a closed tab are deleted on your next visit after six hours. Playback speed, key changes, section loops, tap tempo and Find BPM run in your browser. Find BPM reads up to the first 90 seconds locally when you request it. Choosing, playing or analyzing the file does not upload it; a file is uploaded only when you start a separation that runs in our cloud. The local original is cleared when you replace or reset the file or reload the page.

Optional key changes and BPM/key estimates also run on your device. When you choose Analyze this section, a short playback excerpt is held temporarily in memory and discarded after analysis or cancellation. It is not uploaded, stored across reloads or included in analytics. Estimated or manually entered BPM/key values stay in the current view.

BPM and key finder. Songs you choose on the BPM finder and key finder pages are read and analyzed by your browser. They are not uploaded, stored across reloads or sent to analytics, and they use no free jobs or credits. File names appear only in the results on the page. Copy table and Download CSV build the table on your device. We count each finished analysis, each file that could not be read and each copy or CSV download, with the page (BPM or key) and how long the analysis took, never the file, its name or its results.

Tempo and key changer. Songs you choose on the tempo changer and key changer pages are read, analyzed and made again at the new tempo or key by your browser. They are not uploaded or stored across reloads, and they use no free jobs or credits. The new WAV and any MP3 copy exist only in the page until you download them. We count the same fixed speed and key export events as the practice player (started, ready, download, failure, cancel), never the file, its name or your settings.

Choosing Show waveform reads the original locally and keeps a small overview in memory. The waveform is not uploaded or included in analytics and is cleared on file replacement, reset or reload. Cancelling the waveform does not cancel playback.

Record a practice clip holds up to 60 seconds of the selected player's output in memory on your device. It uses no microphone and makes no upload. The clip stays in this view until you start another recording, change tracks, replace/reset the file or leave the page. Hiding the tab discards an unfinished recording. Clips and recording settings are not sent to analytics or saved in browser storage. A downloaded WAV remains wherever you save it.

Export mix reads the local WAV stems, or downloads the audible MP3 stems from an existing cloud job, and combines them in memory on your device. It makes no additional upload or separation job. Mix settings and the WAV are not saved in browser storage or sent to analytics. Changing levels or mute settings discards the current export; reset or leaving the page clears it too. Hiding the tab cancels an unfinished export. A downloaded mix remains wherever you save it.

Export track, inside Download with speed & key, reads your selected original locally or downloads the selected result's native WAV (MP3 for older results). It renders a complete WAV in memory on your device. It makes no upload or new separation. Changing track, speed or key discards the prepared export; reset or leaving the page clears it. Hiding the tab cancels unfinished work. No audio or settings are sent to analytics or saved in browser storage. A downloaded file remains wherever you save it.

For a paid separation, or a free one that runs in our cloud, your browser uploads the file to StemVocal's Cloudflare Worker. It sends the file in parts sized to your connection; each part is held in the same private R2 storage bucket until the parts are joined into one file and deleted. If the connection drops, the upload continues where it stopped. Resetting the tool, choosing another file or leaving the page stops an unfinished upload and deletes its parts, and its free job or credit returns. The file is held in the private bucket and accessed by our GPU processor using a short-lived signed URL. The separated MP3 and native WAV results return to that private bucket. For a free cloud job, anyone who has the random job ID can request temporary signed download links, so treat that ID as private. A free cloud Vocals or Instrumental job produces those two tracks. Free Drumless and Four stems jobs, and paid jobs, produce all six tracks. Paid job status requires the owning account. A signed download link can be used by anyone who has it until it expires; keep it private. We do not publish an upload gallery or use your files to train a model. Access to uploaded audio and results expires after one day. R2's one-day lifecycle rule then deletes the objects, usually within the following 24 hours. Download anything you need before access expires.

Job records and limits

We store a job ID, the selected output, file size, status, timestamps, processing duration, and an error code when a job fails. To apply the daily free-job limit, we turn the request IP address into a keyed hash that changes each UTC day; we store that hash rather than the raw IP in the job table. People sharing an IP address may share the daily limit. Job records are scheduled for deletion within 40 days. The result player can compare your original through a temporary local browser URL while the selected file remains in the tab; this creates no additional upload and is cleared on reset or reload. A job ID may be held in your browser's session storage so the same tab can check its result after a reload; it is removed when you reset the tool or close the tab. The tab also keeps how tall its last result was on your screen, a number the page uses to keep that space while the result loads after a reload; the browser removes it when the tab closes. After an interrupted upload, an explicit Continue upload sends the rest of the still-selected audio for the same job, from the point the server confirms it has received. The selected file and upload links stay only in the current page and are cleared by reset or reload.

The StemVocal transcription sites

Audio transcription at audiototexttranscription.com and video transcription at videototexttranscription.com use this same daily counter, account and credit wallet. The same email resolves the same account, with separate host-only browser sessions. Those tools also save upload recovery and edited transcripts on the current device; see their transcription privacy policy. Recordings and transcripts use the same private storage and file retention period as separation. No recording or transcript text is sent to analytics.

Accounts and payments

You can buy packs or monthly plans without signing in first. A necessary, secure browser cookie gives you access to that purchase for up to 30 days. We receive the email used at Stripe checkout so you can restore purchases on another device with a one-time email code. Entering an email at checkout does not grant access to its existing purchases. Verifying that email combines its purchased credits and signs out older checkout-only sessions. This does not move your files between devices. A checkout reference may be kept temporarily in session storage while payment confirmation is retried.

If you create an account or buy credits, we store the account email, purchase and subscription references, credit allowances, expiry, adjustments and the job IDs attached to credit use. These records do not contain audio or file names. Your account page lists your paid separations from the last day with their download links, and shows how many free files this connection has left today. Financial records are separate from temporary job metadata and may be retained for accounting, dispute and legal obligations after the audio expires.

Sign-in emails are sent through Cloudflare. One-time codes expire after ten minutes; code and session secrets are stored as hashes or keyed hashes. An HttpOnly, host-only login cookie lasts ten minutes, and an account session lasts up to 30 days. Sign-in rate limits use keyed hashes of the email and IP address. You can sign out on this device or all devices from your account. Account pages remain untracked; neither account nor pricing pages load Google Analytics or send first-party page counts.

Public pricing and tool offers send anonymous purchase-step counts to Cloudflare Analytics Engine: an offer becoming visible, opening plans, choosing a pack or subscription, checkout becoming ready or failing, and returning from checkout or confirming payment. For music offers, the counts also distinguish reaching the daily allowance, a free sample's result, requesting more tracks, requesting faster processing, waiting on a slow separation and retrying after a failure. These use fixed step, location and failure categories, along with the public page path, country, device class and software version. They contain no visitor identifier, account information, plan code, amount, payment reference, file data or URL parameters.

Stripe hosts checkout and payment management. We receive payment and subscription references, status and allowance information, not card numbers. Stripe processes payment details under its privacy policy. Contact us to request account access or deletion; records required for financial or legal obligations may need to be retained.

Site statistics and service providers

We also count file selections, accepted files and fixed rejection reasons; file sizes and lengths use broad bands, a chosen file's type comes from a fixed list (such as MP3, AAC or video) and output choices use fixed labels. Processing counts distinguish fresh and recovered results, the stages reached (including an explicit upload retry), broad bands for an upload's speed and for how much of it had arrived when it stopped, elapsed waiting time, a long pause in a separation on your device, and leaving a page while work is unfinished. These events include a broad source category for the current page, without carrying it between pages. A page exit does not establish that cloud processing stopped. No file name, audio, job identifier, visitor identifier or raw referral address enters these counts.

For a fresh completed cloud separation or sample, we also measure the elapsed time before upload, during upload and finalization, and while waiting afterward, rounded to a tenth of a second. These times can include time in a background tab. They carry no file or job identifier and do not link separate attempts or visits.

Processing diagnostics distinguish allowance, credit, access and capacity refusals from failures. Failures use fixed categories such as connection, memory, storage, timeout or interrupted processing, never exception text.

When the separator page leaves view, it also sends a cumulative summary of that page: selections and rejections, processing attempts and results, preview and download requests, offers and checkout actions, resets and returns, time visible and waiting, and the last processing step. A random key made for each page load lets us keep its latest summary. The key stays in that document, is never stored in a cookie or linked to an account, job, file or another page, and changes on reload. A hidden tab does not mean that you left or that processing stopped. These summaries go only to Cloudflare Analytics Engine with the same retention as the counts above.

Preview speed, key changes, loop times and tempo estimates stay in the current page. They are not stored with the job or sent to analytics, and changing them creates no additional upload or separation job.

We count visits, job processing and fixed browser events through first-party Cloudflare Analytics Engine without setting a cookie for those counts. Visit counts note the domain of the website that linked to the page (if your browser shares one) and a broad source category taken from it or the link's campaign source tag (a named search engine or AI assistant, this site, another site or none). For cloud jobs, those counts include how long each processing step took (download, separation, encoding and upload), without media or identifiers. Browser events tell us when a separation starts, results are shown, a preview is requested, a download is requested, or an error appears, and when a BPM and key analysis finishes, fails or is exported. Separation events distinguish browser, free cloud and paid cloud processing and the local runtime, without media or identifiers. When a free cloud request continues in your browser, we count one fixed reason category (such as capacity or network), with nothing about the file. For separations on your device, the completion, error and cancel events also record how long you waited, the track length in seconds and the number of processing threads, so we can measure speed on real devices. We also count mix and speed/key export starts, completed renders, download requests, failures and cancellations, without collecting audio or export settings. When you choose a video, we count whether its sound could be taken, with the audio format and whether it was copied or converted, or else the fixed reason (such as no sound or too long), never the file. Error counts include a fixed reason category and the stage (creating a job, uploading, processing, recovering a result, or an on-device separation interrupted by a page reload), never the file name, audio or job ID. To recognise that interruption, this tab keeps the start time and track length of an active on-device separation in session storage until it ends. We also use Google Analytics 4 for page visits and counts when results are shown or the first download is requested from a result view. Its script is served through this website and may set first-party _ga cookies to recognize repeat visits. Google receives the page path, page title, limited campaign tags, the referrer's origin, those event names, and ordinary browser and connection information, including your IP address and the approximate location our hosting provider works out from it (country, region, city and approximate coordinates). Our server passes that location on because these requests reach Google through this website. We do not send audio, file names, job IDs, signed links, or job details as event parameters to Google Analytics; the page path may identify the tool page visited. The property is configured to retain event-level data for 14 months; aggregate reports may remain available longer. We disable Google advertising features in the tag. Google describes its handling of data at Google's Privacy Policy.

We also collect anonymous reliability counts: whether the page script and tool controls started, broad error categories (including whether a failed resource belongs to a tool, analytics, this site or another service), and measurements of loading speed, responsiveness and layout movement. Tempo/key changer preview failures have fixed connection, decoding, format or playback categories; MP3 export failures and cancellations are separate from the ready WAV. For the slowest response on a page, they also note how its delay divided between waiting, running and redrawing, whether it followed a tap, click or key press, and the broad kind of control involved (such as a button, link or file upload). In browsers that report it, they also note whose script ran longest during that response (this site's, a browser extension's or another site's), how it was started, and how the time divided between scripts, page layout and drawing, never the script's address or name. For page loading, they also note how the wait divided between connecting, the server's reply and fetching and drawing the largest image or text, whether that was text or an image, when the largest layout movement happened, and whether the page was opened fresh, reloaded, returned to or loaded in advance. These include the public page path, device class and the version of our browser software. They contain no error messages, stack traces, resource addresses, files, typed text or visitor identifiers. These diagnostics go to Cloudflare Analytics Engine, not Google Analytics, and use the same retention period as the other anonymous counts.

We do not load Google Analytics for visitors in the EEA, UK, Switzerland or Quebec, or when the browser sends a Global Privacy Control signal. Our Cloudflare counts still run in those cases. Cloudflare provides the site Worker, private storage and database. Modal runs the GPU separation job and receives the signed input and output URLs needed for that job. Service logs may include routine request information for security and reliability. We do not sell uploaded audio or job data.

Your choices and contact

You can leave without creating an account. You can also clear this tab's session storage in your browser. For a question about a job or a request concerning your data, email hello@acapellaextractor.com and include the job ID if you have it. Do not send the original recording by email. This policy may change when the service changes; the updated date above will change with it.

Unlimited records include the paid invoice period and job access references. Verified purchase recovery also transfers membership access. These billing records contain no audio or filename.

When a page links to another company's product, the link goes through an address that begins with /go/. When you follow one, our server redirects you to that site and counts the click, the same way as a page view: which link, the page it was on and roughly how long after the page opened, but no identifier for you. Once we join a company's affiliate program, the redirect adds that program's referral code, so the company can credit a purchase or sign-up to us; its own privacy policy then applies.