Is Tenere safe?

Medium risk

Automatically applies coupon codes at checkout for participating online stores.

This extension helps users shop through Tenere’s supported merchants and applies available discount codes during checkout. Tenere says it uses part of its commission from completed orders to plant trees, and it provides financial reports and tree-planting receipts for transparency. The description states that Google Analytics collects extension usage statistics to help improve the user experience.

adminv2.0.5Chrome Web Store
48Risk

AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.

Publishers can request a review.

Findings

Browsing History Transmitted to couponego.com on Every Tab Switch

MediumunwantedCWE-359Dynamic sandbox

DA captured 14 requests from Tenere to couponego.com during one visit to ebay.com.

What actually happens

You did this

You switch to any browser tab, any website, not just a shopping site.

The extension did this

Tenere sends the site's hostname to couponego.com before checking whether the site sells anything.

Only 18 domains (Google, Facebook, and Amazon variants) are excluded. All other HTTP and HTTPS sites trigger the lookup.

Captured request

GEThttps://couponego.com/api/ext/coupons/ebay.com

JSON response containing available coupons, store metadata, and user_info fields for the visited domain.

Headers
Cache
no-cache
User-Agent
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36

What Tenere transmits to couponego.com on each tab switch

  • Visited hostname
    ebay.com

    The domain of every site you switch to, stripped of the 'www.' prefix. Builds a record of all sites you browse.

  • Domain in URL path
    https://couponego.com/api/ext/coupons/ebay.com

    The hostname appears directly in the request URL path, making it visible in server logs and any network intermediary.

The code that does this

Navigation listener and domain lookup from the background service worker.

Readable version

Tab activation handler (readable form)

background/background.js
const onTabActivated = async ({ tabId }) => {  resetState();  try {    const tab = await chrome.tabs.get(tabId);    if (!tab || !tab.url) return;    const domain = new URL(tab.url).hostname.replace(/^www\./, '');    if (EXCLUDED_DOMAINS.some(exc => domain.includes(exc))) return;    const result = await fetchCouponsForDomain(tabId, domain);    if (result?.coupons?.length > 0) {      // inject coupon UI into the active tab      chrome.scripting.executeScript({ target: { tabId }, files: ['contentScript/couponScript.js'] });    }  } catch {}};chrome.tabs.onActivated.addListener(onTabActivated);

Server fetch (readable form)

background/background.js
async function fetchCouponsFromServer(domain) {  const url = CONFIG.api_path + 'ext/coupons/' + domain;  // → 'https://couponego.com/api/ext/coupons/' + domain  const response = await fetch(url, { mode: 'cors', method: 'GET', credentials: 'same-origin', headers: { ... } });  return response.json();}

Hosts that receive the visited domain on every tab switch

    • couponego.com

    Primary coupon lookup backend. Receives visited hostname via GET /api/ext/coupons/{domain} and POST /api/extension/domain-config. Operated by the Tenere team.

What it can do

Permissions this extension asks for, as declared in version 2.0.5. Asking for a permission is not a finding on its own - it is what the extension can do if it chooses to.

  • Read and change your data on every site you visit

    http://*/*

  • Read and change your data on every secure site you visit

    https://*/*

  • See the address and title of every tab you have open

    tabs

  • Store data in your browser

    storage

  • Act on the current tab, but only after you click the extension

    activeTab

  • Run its own code inside the pages you visit

    scripting

  • Store an unlimited amount of data in your browser

    unlimitedStorage

Where it sends data

Destinations our analysis observed Tenere 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.

  • Google Analyticswidely used

    Tenere sends data to Google Analytics. Named as a recipient by 38 other extensions we have analyzed.

Updated 30 September 2026kdffomfplcfeemdjjnifjeenlpbcgfcj