Lexi Hover is a browser extension that shows a dictionary card when you hold Alt and point at an English word, underlines words you may not know, and keeps a word list on your device. It has no account, no analytics and no server of its own.
| What | When | Where it goes |
|---|---|---|
| One English word | You hold Alt and point at it | api.dictionaryapi.dev (definitions, pronunciation) and api.mymemory.translated.net (Chinese translation) |
| A phrase or sentence you selected | Only when you select it and press the translate button on its card | api.mymemory.translated.net, or DeepL if you entered your own DeepL key |
| A pronunciation audio file | You press the speaker button | The address the dictionary service returned |
| The surrounding sentence, as context for a lookup | Only if you turn Send sentence for context on (off by default) | DeepL, as a context parameter, if you use DeepL |
Every request is made without cookies and without a referrer, so the services above receive the word and nothing about which page you were reading.
Results are cached on your device for 30 days, so a word you have looked up before makes no request at all.
Both are off when you install the extension, and neither can be turned on by accident: each needs you to paste something into the extension's settings.
Sync. If you deploy the sync server (source included with the extension) and paste its address into the word list page, your word list is sent to that server encrypted in your browser with a key derived from a code that never leaves your device. The server stores an opaque id, a version number and bytes it cannot read. There is no account; whoever holds your code can read the list, and nobody can recover it for you. Sync runs about a minute after you file a word and every half hour otherwise, or only when you press Sync now if you turn the automatic option off.
Sentence translation by an AI model (the 文A button on a word card). If you paste a Cloudflare account id and an API token of your own into the popup, pressing that button sends the word and the one sentence it appeared in — nothing else — to api.cloudflare.com (Workers AI), under Cloudflare's terms. The sentence is capped at 400 characters. The token is sent in a request header, stored only on your device, and never given to any web page. The answer is kept in memory while the browser is open and discarded when it closes.
All of it is in the browser's extension storage, which is removed when you uninstall:
The extension deliberately does not use the browser's own account-backed sync storage.
| Permission | Why |
|---|---|
storage | Settings, the word list and the local cache. |
activeTab | Read the current tab's address when you click the toolbar icon, so the popup can offer to enable that site; and read the page's text once if you press Save this page or Check this page. The access arrives with your click and ends when the popup closes. |
scripting | Run the extension on the sites you enabled, and run the article extractor on the tab where you pressed Save this page. |
offscreen | Play pronunciation audio outside the web page. |
alarms | The half-hourly sync round — only if you have set up sync; otherwise no alarm exists. |
Access to api.dictionaryapi.dev and api.mymemory.translated.net | The dictionary and translation services above. |
| Access to other websites (optional) | Granted only when you press Enable on a site, or switch All sites on. The extension needs to read the page you are looking at in order to underline words and open the card. You can revoke it from the popup or from the browser's extensions page at any time. |
The services named above receive the words you look up under their own privacy terms: dictionaryapi.dev, MyMemory, and, only if you set them up, DeepL and Cloudflare. Lexi Hover does not sell, share or otherwise use any data for purposes other than the feature you triggered.
The extension does not collect personal data from anyone, including children.
If a future version sends anything new anywhere, this policy and the extension's own README change in the same release, and the version number at the top of this page is updated.
Open an issue at github.com/NNNCODE/lexi-hover/issues.