Recordings and transcripts
Choosing a file opens a local preview on your device. Starting transcription uploads it in parts to private Cloudflare R2 storage. A Modal processor reads the file through a temporary signed link, transcribes its speech, and returns a timestamped transcript. Optional speaker grouping creates temporary voice embeddings to group turns; those embeddings are discarded when the processing container clears the job. We do not use recordings or transcripts to train models, identify people or publish an upload gallery.
Access to uploaded files and transcripts expires 24 hours after a job is created. A one-day storage lifecycle rule then deletes the stored objects, normally within the following 24 hours. The editor offers an earlier delete action for the uploaded recording and transcript. Processing already in progress may finish, but a canceled job cannot deliver a new accessible result.
Information on your device
Upload recovery stores the job identifier, a secret access token, local filename, file size, duration, options and a partial-file fingerprint in this browser’s local storage. The fingerprint helps match a reselected file to an interrupted upload; it is not sent to analytics. Edited transcript text and speaker names are saved in IndexedDB on this device. They are not synchronized to an account or another device. A downloaded document stays wherever you save it. Clear site data to remove local records. On a shared device, clear site data after downloading your work.
Jobs and the free allowance
Job metadata includes the job identifier, file size, requested duration, language, number of speakers, status, times, reserved credits and fixed error codes. It does not include the filename or transcript text. Metadata is scheduled for deletion within 40 days. To enforce the shared daily allowance, we store a keyed hash of the request IP that changes each UTC day, rather than the raw address in the jobs table. People sharing an internet connection can share the allowance. Audio transcription, video transcription and separation use the same counter.
Accounts and payments
You can buy credits 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.
Use the same email to access one StemVocal account and credit wallet on all three sites. Each domain uses its own host-only, HttpOnly session cookie for up to 30 days. Email-code cookies expire after 10 minutes. Codes are one-use and stored as hashes or keyed hashes. Cloudflare sends sign-in emails. Purchase, subscription, grant and credit records may remain for accounting, dispute and legal obligations after media files expire. Stripe hosts checkout and payment management; we do not store card numbers. See Stripe’s privacy policy.
Statistics and providers
Cloudflare hosts the websites, database and private file storage. Modal processes uploaded recordings. Routine provider logs may contain request and connection information for security and reliability. We use first-party Cloudflare Analytics Engine for page and reliability counts. Google Analytics 4 receives page paths, titles, limited campaign tags, the referring origin, transcript-completion and download events, and ordinary browser/connection information. First-party events also count transcription starts and fixed error events without file details. It may set first-party _ga cookies. We do not send filenames, transcript text, job IDs, account emails or signed links to analytics.
Google event retention is 14 months, advertising features are disabled, and Google Analytics is not loaded for visitors in the EEA, UK, Switzerland or Quebec, or browsers sending Global Privacy Control. Account and pricing pages do not load analytics. See Google’s privacy policy. We do not sell uploaded recordings or transcript data.
Your choices
Download work before its access expires. Use Delete uploaded files to remove cloud copies, clear site data to remove local edits, and use the account page to sign out on one or all devices. For account access or deletion requests, contact help@acapellaextractor.com. Records required for financial or legal obligations may need to be retained.