Is Glarity ChatGPT: Summary & Translate AnyPage safe?

Medium risk

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.

Felo株式会社v4.46.7Chrome Web Store
49Risk
Who publishes it

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.

Publisher
Felo株式会社
Declared legal entity
Felo Inc.
Registered contact
Felo Inc.

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.

glarity.app
Also called by 2 other listings, including eJOY
d2l.com
Also called by 3 other listings, including BetterCampus (prev. BetterCanvas)

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
What actually happens
You did this

You invoke a Glarity AI feature, Page Summary, translation, or chat, on any webpage.

The extension did this

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.

Captured request
POSThttps://log.felo.ai/api/data/report

Dynamic analysis captured 3 POST requests to this endpoint after invoking Page Summary . Each body contained current_url with the active tab URL.

Headers
Content-Type
application/json
Body
{  "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"}
Fields transmitted to log.felo.ai on each AI interaction
  • Current page URL
    https://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 ID
    57815de789764c4d87e8685ba7c4c1f7

    A persistent random identifier stored in the extension, appearing in every request, letting Felo link your AI use over time.

  • User ID
    usr_3f8a21b4c9e07d56

    Your Felo account ID, if you are signed in. Ties the browsing record directly to your named account.

  • Browser and OS
    Chrome 124 / Windows

    Your browser name and major version, plus operating system type.

  • Timezone and language
    Europe/London, en-GB

    Your browser's locale and timezone, which together narrow your approximate location.

  • Event type
    Summary

    Which Glarity feature you used (e.g. Summary, Translation, Chat).

The code that does this

URL capture and telemetry dispatch in the service worker

Readable version

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), });}
Where this data is sent
    • 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.

Updated 30 September 2026cmnlolelipjlhfkhpohphpedmkfbobjc