Privacy
Last updated 6 October 2026
How translation works
Duozuo is a static web app. To translate, your browser sends your OpenRouter API key, the text you enter or speak, the selected languages, and the translation request directly to OpenRouter over HTTPS. OpenRouter routes the request content to an endpoint for your selected LLM (default: openai/gpt-6-luna; you can choose a custom model). OpenRouter and the model provider process the text under their own policies. Duozuo has no application server that receives or stores translation requests.
Zero data retention (ZDR)
Off (the default): Duozuo does not add a ZDR requirement to the OpenRouter request. Your OpenRouter account or guardrail settings may still enforce ZDR. Otherwise, the selected endpoint's retention and training policies apply; leaving this switch off does not tell you whether that endpoint retains or trains on data.
On: Duozuo sends provider.zdr: true, asking OpenRouter to route only to endpoints it classifies as zero data retention. If no eligible endpoint is available for your model and other settings, translation can fail. The text still reaches OpenRouter and the LLM provider for processing. ZDR covers the eligible inference provider's retention of prompts and responses; it does not mean that no data leaves your device.
This switch does not control OpenRouter's separate account-level Input & Output Logging or usage metadata, or the browser's and speech service's handling of data. Review your OpenRouter account settings and the ZDR documentation, logging documentation, and provider policies before translating sensitive information.
Speech and audio
Speech recognition and read-aloud use browser and device features. Your browser or device vendor may process audio to recognize speech. Duozuo does not record or upload audio to its own server. Recognition availability varies by browser, device, and language.
What stays on this device
Language, model, and ZDR preferences are saved in your browser's localStorage. Your API key is saved there only if you choose “Remember this key on this device.” localStorage is unencrypted and can be read by someone with access to your browser profile. Without that choice, the key stays in page memory until the page closes. Safari tabs and an iPhone Home Screen web app have separate storage, so you may need to enter the key again in the one you use. You can clear stored settings with “Forget key and reset settings.” The on-screen conversation is not saved by Duozuo.
Hosting
The static site host may process ordinary access information such as IP address and request logs to serve the site. This app does not set analytics or advertising cookies and currently has no advertising code.
For OpenRouter's own handling of data, read its Privacy Policy. Model providers may have different policies.