Is Tenere safe?
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.
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
DA captured 14 requests from Tenere to couponego.com during one visit to ebay.com.
Each tab switch sends the hostname to couponego.com.
Only 18 domains (Google, Facebook, Amazon) are excluded; every other site is reported.
You switch to any browser tab, any website, not just a shopping site.
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.
| 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 |
| Field | Value | Why it matters | |
|---|---|---|---|
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. |
Navigation listener and domain lookup from the background service worker.
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);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();
}- 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.