Data handling
What happens to what you send, feature by feature: who processes it, what they receive, and how long we keep it.
Generated from the service’s deployment configuration (infra/host/compose.cloud.yaml) and the gateway’s code defaults at commit e7c98bc39672. It lists the providers that configuration sets. The privacy policy is the full statement.
Who processes what
Speech, voice design and saved voices run on GPU servers we operate, using open-weight models. Features that use outside AI providers name them, with what each one receives.
| Feature | Processed by | What it receives | When |
|---|---|---|---|
| SpeechAPI and studio | Our GPU serversQwen/Qwen3-TTS-12Hz-1.7B-Base | The text to speak and the voice to speak it with. | Every speech request, live or batch. |
| Voice designAPI and studio | Our GPU serversQwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign | Your voice description and the line the new voice reads. | Every design request. |
| Saved voicesAPI and studio | Our GPU serversQwen/Qwen3-TTS-12Hz-1.7B-Base | The reference audio and transcript of a voice you save. | When you save a voice, and when a request speaks with it. |
| The Director (casting assistant)Studio | OpenAIgpt-6.1-sol | The session’s contents (brief, directions, scripts, voice names, notes, ratings and choices), your message, images you attach, its listening reports, and web searches it runs and text from web pages it opens. | Each time you send the Director a message. |
| Web pages the Director opensStudio | The website it opensOutside provider | A request from our servers for the page, not from your browser. | When you or the Director give it a link. |
| Listening reportsStudio | Google (Gemini API)gemini-3.5-flash-lite | A generated audio clip and a fixed prompt asking how it sounds. | When the Director listens to a voice. |
| Transcript checkStudio | Not offeredNot offered | Nothing. This deployment doesn’t run it. | Never. |
| Rewriting a voice descriptionAPI | OpenAIgpt-6.1-sol | The voice description and your feedback on it. | Only when a refine request asks for an LLM rewrite. |
Hosting and sign-in
The services the whole product runs on, apart from the features above.
| Service | Used for | What it receives |
|---|---|---|
| Amazon Web Services | Hosting: servers, storage, database, backups, logs and firewall | Everything we store or process |
| Google (sign-in) | Signing in to the studio | Your sign-in request. Google returns your account ID and email address. No studio content. |
How long we keep it
Each period is the setting the service runs with, named so you can match it to the code.
| Data | Kept | Set by |
|---|---|---|
| Text you send for speech, and the audio it returns | Not sent to any third party. The model servers don’t write request text or audio to their logs, and send no usage telemetry. | Model-server configuration: no request logging, HF_HUB_OFFLINE, VLLM_NO_USAGE_STATS |
| Voices designed through the API | Deleted 24 hours after they are made, unless you save them | VOICES_CANDIDATE_TTL_S |
| Batch results | Deleted 24 hours after they are made. Job records are held in memory only. | BATCH_RESULT_TTL |
| Saved voices: reference audio, transcript and settings | Until you delete the voice. Deleting the session it came from doesn’t delete it. | Saved voice lifecycle |
| Studio sessions: briefs, directions, scripts, generated audio, notes, Director conversation | Until you delete the session, its character or its project. Nothing in a session expires on its own. | Session deletion |
| Images you upload to the studio but never attach | Deleted 1 hour after upload, on the next cleanup pass | IMAGE_UPLOAD_TTL_S |
| Studio sign-in | Signed out after 7 days without use. We store a hash of the session, never the cookie. | IDLE_SECONDS |
| Waitlist requests: your email, your company and use case if you give them, and your network’s address range (/24 or /48) as a keyed hash we can map back to it | Deleted 180 days after you send them, whether or not you are invited | WAITLIST_RETENTION_S |
| Invitations: the invited email address | Deleted when the invitation is cancelled or expires: 7 days for a link a workspace owner sends, 30 days for an approved waitlist request. The link itself isn’t stored. | INVITE_SECONDS, GRANT_SECONDS |
| Which version of the terms you accepted, and when | Kept with your account. No automatic expiry. | Account record |
| Usage records | Counts only (characters, audio seconds, requests, errors), never text or audio. Kept while the workspace exists, then deleted after 730 days. | Usage ledger |
The waitlist
The waitlist isn’t open, so this site collects nothing.
What we don’t claim yet
Some things we would like to say aren’t checked yet, so we don’t say them.
- That speech leaves no copy anywhere in the system.The model-server settings above are checked when this page is built. A check of the whole deployed service, end to end, hasn’t been done yet.
- That OpenAI and Google (Gemini API) keep nothing.They keep what they receive under their standard API terms, which allow them to hold it for a limited time, for example for abuse monitoring. Deleting a session here doesn’t delete their copies.
- Security certifications.We hold none.
This website
This site sets no cookies, runs no analytics and loads nothing from other domains. The studio uses two cookies, both needed to sign you in; the privacy policy describes them.