Is Glarity ChatGPT: Summary & Translate AnyPage safe?
This extension summarizes and translates YouTube videos, searches, PDFs, emails, and webpages with AI assistance.
It generates summaries, highlights, FAQs, and chat-style answers for supported content such as YouTube videos, Google searches, webpages, and PDFs. It also provides side-by-side webpage and selected-text translation, bilingual YouTube subtitles, screenshot-based image translation, and screenshot capture for the current tab.
Who publishes itFelo Inc. - 2 other listings from the same operator, none carrying a finding
Felo Inc. - 2 other listings from the same operator, none carrying a finding
What this publisher told the store about itself, and the other listings that told it the same thing.
Same store account
2 other listings published from this account, 60k+ users between them, none of them carrying a finding.
Shared hosts - 2 hostnames
Hostnames hardcoded in this extension that few other listings call. That can mean one operator behind both, and it can equally mean a small shared vendor, so it is context rather than a conclusion. Hosts that many listings call are left out: they are services, not connections.
AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.
Publishers can request a review.
Findings
Active tab URL sent to log.felo.ai on every LLM request
Any AI feature in Glarity (summarize, translate, ask) sends the page origin/path to log.felo.ai, tagged with a device ID, building a page-visit history.
Queries/fragments stripped.
DA captured 3 POSTs after Page Summary matching current_url
- Severity
- Medium unwanted
- Type
- Unexpected
- CWE
- CWE-359
- Source
- Dynamic sandbox
You invoke a Glarity AI feature, Page Summary, translation, or chat, on any webpage.
The extension POSTs the current page's origin and pathname to log.felo.ai together with your persistent device ID and browser fingerprint.
The URL is read from chrome.storage.local (key curUrl), which the extension updates without notifying the user every time you switch or navigate to a tab.
Dynamic analysis captured 3 POST requests to this endpoint after invoking Page Summary . Each body contained current_url with the active tab URL.
- Content-Type
- application/json
{ "ext": { "event_type": "Summary", "log_type": "Data", "llm_request_type": "Backend", "current_url": "https://en.wikipedia.org/wiki/Machine_learning", "execution_time": 3421 }, "browser_language": "en-US", "browser_version": "124", "device_id": "57815de789764c4d87e8685ba7c4c1f7", "browser_type": "Chrome", "os_type": "Windows", "event_time": 1748800385123, "timezone": "Europe/London", "user_id": "usr_abc123", "report_application_version": "4.46.4"}- Current page URLhttps://en.wikipedia.org/wiki/Machine_learning
The origin and path of the page you viewed when using the AI feature, enough to identify the specific article, product page, or document.
- Device ID57815de789764c4d87e8685ba7c4c1f7
A persistent random identifier stored in the extension, appearing in every request, letting Felo link your AI use over time.
- User IDusr_3f8a21b4c9e07d56
Your Felo account ID, if you are signed in. Ties the browsing record directly to your named account.
- Browser and OSChrome 124 / Windows
Your browser name and major version, plus operating system type.
- Timezone and languageEurope/London, en-GB
Your browser's locale and timezone, which together narrow your approximate location.
- Event typeSummary
Which Glarity feature you used (e.g. Summary, Translation, Chat).
URL capture and telemetry dispatch in the service worker
Tab URL stored on every navigation
function storeCurrentTabUrl(url) { const parsed = new URL(url); const originAndPath = parsed.origin + parsed.pathname; // strips query string + hash chrome.storage.local.set({ curUrl: originAndPath });}chrome.tabs.onActivated.addListener(async ({ tabId }) => { const tab = await chrome.tabs.get(tabId); if (tab.url) storeCurrentTabUrl(tab.url);});chrome.tabs.onUpdated.addListener((tabId, changeInfo) => { if (changeInfo.url) storeCurrentTabUrl(changeInfo.url);});Telemetry function reads stored URL and POSTs to log.felo.ai
async function sendTelemetry(eventData, deviceId, skipStore) { const settings = await getSettings; const { curUrl } = await chrome.storage.local.get('curUrl'); const payload = { ext: eventData, browser_language: navigator.language, browser_version: userAgent.browser.major, device_id: deviceId, browser_type: userAgent.browser.name, os_type: userAgent.os.name, event_time: Date.now, timezone: Intl.DateTimeFormat.resolvedOptions.timeZone, user_id: userData?.data?.uid, report_application_version: chrome.runtime.getManifest.version, }; if (curUrl) payload.ext.current_url = curUrl; await fetch('https://log.felo.ai/api/data/report', { method: 'POST', body: JSON.stringify(payload), });}- log.felo.ai
Felo AI's logging endpoint. Receives telemetry payloads containing the active tab URL, device ID, user ID, and AI interaction metadata.
What it can do
Permissions this extension asks for, as declared in version 4.46.4. Asking for a permission is not a finding on its own - it is what the extension can do if it chooses to. The current listed version is 4.46.7, which we have not unpacked yet.
Read and change your data on every site you visit
<all_urls>
Read and change your data on openai.com
https://*.openai.com/
Read and change your data on openai.azure.com
https://*.openai.azure.com/
Read and change your data on glarity.app
https://*.glarity.app/ and 2 more
Read and change your data on google-analytics.com
https://*.google-analytics.com/
Read and change your data on xiaohongshu.com
https://*.xiaohongshu.com/
Read and change your data on api.glarity.app
https://api.glarity.app/*
Read and change your data on vi2vocal.s3.ap-northeast-1.amazonaws.com
https://vi2vocal.s3.ap-northeast-1.amazonaws.com/*
Read and change your data on www.google-analytics.com
https://www.google-analytics.com/*
Read and change your data on felo.ai
https://*.felo.ai/*
Read and change your data on felo.me
https://*.felo.me/*
Read and change your data on account.felo.ai
https://account.felo.ai/*
Read and change your data on glarityapi.com
https://glarityapi.com/*
Store data in your browser
storage
Act on the current tab, but only after you click the extension
activeTab
See the address and title of every tab you have open
tabs
Add items to the right-click menu
contextMenus
Show a panel beside the page
sidePanel
Run hidden pages in the background
offscreen
Read and change cookies, including the ones that keep you signed in
cookies
Run its own code inside the pages you visit
scripting
Where it sends data
Destinations our analysis observed Glarity contacting. Sending data somewhere is not a finding on its own - an extension that syncs your settings has to talk to its own server - but it is where your data can go, and who else it goes to.
- Googlewidely used
Glarity sends data to Google. Named as a recipient by 45 other extensions we have analysed.
- ChatGPT
Glarity sends data to ChatGPT. Named as a recipient by 7 other extensions we have analysed.
- Microsoft
Glarity sends data to Microsoft. Named as a recipient by 6 other extensions we have analysed.
- DeepL
Glarity sends data to DeepL. Named as a recipient by 2 other extensions we have analysed.