Privacy Policy
UVT - Universal Voice Translator (Chrome extension)
Effective date: November 10, 2026
The short version: UVT has no servers and collects nothing. While you translate, your audio goes straight from your browser to the translation service you picked (Google Gemini or OpenAI). Your API key, settings and subtitles stay in your browser.
Who we are
UVT is a free, open-source Chrome extension (MIT license). It is made by an independent developer. Anyone can read the code at github.com/mgmehdiforme/UVT. In this policy, "we" means the UVT developer and "you" means the person using UVT.
What we do not do
- We do not run any UVT servers. Your data never passes through us.
- We do not use analytics, telemetry, crash reporting, ads or tracking of any kind.
- We do not collect, store, see, sell or rent any of your data.
- We do not share your data with anyone, except that your audio is sent to the translation service you chose, so UVT can do the job you asked it to do.
- We do not use your data for advertising, credit checks or lending, or for any purpose other than the translation feature.
What UVT handles, and where it goes
| Data | When | Where it goes | How long it is kept |
|---|---|---|---|
| Your microphone audio | Only while a session runs in Both ways or Speak mode | Streamed directly from your browser to the engine you chose for "what I say" | UVT does not store it. The provider's terms apply on their side. |
| The chosen tab's audio | Only while a session runs in Both ways or Listen mode | Streamed directly from your browser to the engine you chose for "what I hear" | UVT does not store it. The provider's terms apply on their side. |
| Transcripts and subtitles (what was said and the translation) | While a session runs | Stay on your computer, in memory and in Chrome's session storage | Deleted when you close the browser or press Clear subtitles. They leave your computer only if you press Export, which saves a text file on your computer. |
| Your API keys (Gemini, OpenAI) | When you paste them | Saved in Chrome's local extension storage. Sent only to the matching provider to connect. | Until you delete them or uninstall UVT |
| Settings (languages, volumes, mode, allowed sites) | When you change them | Saved in Chrome's local extension storage only | Until you change them or uninstall UVT |
| Title and address of the tab you pick | While you use the side panel | Used only inside your browser, to show the tab and stop when it closes | Not saved or sent anywhere |
The translation services
UVT works with services you choose and pay for (or use for free, where offered) with your own API key. Audio is sent over an encrypted connection only to:
- Google Gemini API at
wss://generativelanguage.googleapis.com. Google's Gemini API terms and privacy policy apply. On the free tier, Google says it may use your content to improve its products. Please read Google's terms before you use the free tier for private calls. - OpenAI at
wss://api.openai.com/v1/realtime/translations, only if you add an OpenAI key and choose OpenAI for a direction. OpenAI's terms and policies apply.
You can use a different service for each direction. We do not control these services and are not responsible for how they handle data.
How your API keys are protected
- Keys are stored in
chrome.storage.local. Only UVT's own pages can read them. Web pages cannot. - Your Gemini key is sent only to Google, as the
keyparameter that Google requires, on the encrypted (wss) connection. - Your OpenAI key is attached as an Authorization header only to UVT's own connection to OpenAI.
- Keys are never sent to us or anyone else.
Before the first translation
Before your first translation, UVT shows a screen that explains that audio is sent to Google or OpenAI. It also reminds you that other people in a call may need to be told that an AI service is translating their speech. Laws about this differ from place to place. You are responsible for following the laws that apply to you.
Chrome permissions and why UVT needs them
| Permission | Why |
|---|---|
sidePanel | Shows UVT in Chrome's side panel. |
storage | Saves your settings and keys in your browser, and keeps subtitles until the browser closes. |
offscreen | Runs the audio engine in a hidden extension page. |
tabCapture | Hears the sound of the one tab you choose, while translation runs. |
activeTab | Chrome requires you to click UVT on a tab before UVT can hear it. |
tabs | Lists your open tabs in the tab picker, shows the chosen tab's title and address, and stops when that tab closes or goes to another page. |
scripting | Adds the call bridge (which sends your translated voice into the call) only on sites you allowed. |
declarativeNetRequestWithHostAccess and access to api.openai.com | Attaches your OpenAI key as a header to UVT's own connection to OpenAI. Browser WebSockets cannot set headers any other way. |
Optional access to websites (http://*/*, https://*/*) | Asked for one site at a time, only when you press Allow, or for all sites if you choose "Allow on all websites". Needed only to put your translated voice into a call. |
Limited Use
The use of information received from Google APIs will adhere to the Chrome Web Store User Data Policy, including the Limited Use requirements.
UVT uses the data it handles only to provide the translation feature you see. Data is not transferred to anyone except the translation provider you chose, as needed for that feature. No human at UVT reads your data, because we never receive it.
Your choices
- Press Stop to end sending audio at any time.
- Use Listen mode if you do not want your microphone used.
- Delete your keys in UVT's Settings.
- Remove allowed sites in Settings → Sites, or in
chrome://extensions. - Uninstall UVT to delete everything it saved in your browser.
- To ask Google or OpenAI about data they hold, contact them under their own policies.
Children
UVT is not made for children under 13 and we do not knowingly handle children's data. Note that Google and OpenAI have their own age rules for their services and API keys.
Changes to this policy
If we change this policy, we will update this page and the effective date above. You can see every past version in the project's history on GitHub.
Contact
Questions about privacy? Please open an issue at github.com/mgmehdiforme/UVT/issues. Please do not post your API key or any private information there.
For private questions, email the developer, Mehdi Golzari, at mehdigolzari.official@gmail.com.
If UVT ever starts handling your data differently, this page will be updated and the extension will ask for your agreement again before the next translation.