Is Bright Tab safe?
Bright Tab routes every new-tab search query through its own server with a persistent user ID and a server-assigned secret token.
When installed, Bright Tab contacts bright-tab.com to obtain a secret token and a user identifier, which are stored locally alongside a device-generated UUID. Every subsequent search typed in a new tab is transmitted to bright-tab.com as a URL parameter bundle that includes the search query, the UUID, the secret, and browser metadata, linking the full search history to a stable per-user profile on the vendor's server.
AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.
Publishers can request a review.
Findings
Bright Tab links new-tab searches to persistent IDs
Searching from Bright Tab's new-tab page sends the terms to bright-tab.com in a GET URL that also carries a user UUID, a server token, theme code, browser version, and a stored utm_uid value, confirmed by dynamic analysis.
You submit a search from Bright Tab's replacement new-tab page.
Pressing Enter or clicking the search button calls the same search path.
The extension sends the search to bright-tab.com with persistent identifiers attached.
The request includes the typed query, a user UUID, a server-assigned token, and utm_uid.
| Field | Value | Why it matters | |
|---|---|---|---|
Search terms | weather radar | This is the text you typed into the new-tab search box. It can include personal, work, or internal terms if you search for them there. | |
Persistent user ID | 7a24b0de-0f43-4b64-a9c5-2f6d90c3e812 | This lets repeated searches from the same browser be tied together over time. | |
Server token | redacted server token | This is a server-assigned value stored by the extension and sent with later searches. | |
Attribution ID | 3481609274 | This adds another stable value that can group searches or installs in the vendor's system. | |
Browser context | b=chrome&bv=126&themeIndex=102 | This records that the request came from Chrome and includes the browser version used by your browser. |
Install identifiers are stored, read on the new-tab page, and appended to each search.
function fireInstallPixel(userId) {
const url = "https://" + SEARCH_DOMAIN + "/ch/install.php";
let parameters = {
uid: userId,
b: "chrome",
extension: EXTENSION,
theme_index: EXTENSION_CODE
};
let formBody = [];
for (let property in parameters) {
let encodedKey = encodeURIComponent(property);
let encodedValue = encodeURIComponent(parameters[property]);
formBody.push(encodedKey + "=" + encodedValue);
}
formBody = formBody.join("&");
fetch(url, {
method: "POST",
body: formBody,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
}).then(res => {
return res.json()
}).then(data => {
SECRET = data["ch"];
utm_uid = data["utm_uid"];
chrome.storage.local.set({ secret: SECRET, utm_uid: utm_uid });
let ty_page =
"https://" +
SEARCH_DOMAIN +
"/ch/ty.php?uid=" +
utm_uid +
"&ch=" +
SECRET;
chrome.tabs.create({
url: ty_page,
});
}).catch(error => {
console.log(error);
});
}window.addEventListener("load", function () {
chrome.storage.local.get(
[
"secret",
"userId",
"utm_uid",
"installation_week",
"installation_year",
"reset_time",
],
function (items) {
const { reset_time: resetTime } = items;
if (items.userId !== undefined) {
USER_ID = items.userId;
}
if (items.secret !== undefined) {
SECRET = items.secret;
}
if (items.utm_uid !== undefined) {
utm_uid = items.utm_uid;
}
if (items.installation_week !== undefined) {
installation_week = items.installation_week;
}
if (items.installation_year !== undefined) {
installation_year = items.installation_year;
}
}
);
});function startSearch() {
let query = $("#SearchBar").val().trim();
if (query.length === 0) {
return;
}
let queryStringObject = {
uid: USER_ID,
rnd: 1,
themeIndex : 102,
b: "chrome",
bv: ffVersion,
secret: SECRET,
source: 1,
utm_uid: utm_uid,
};
// if (query !== undefined && query !== null)
// queryStringObject["q"] = query;
let obj = new URLSearchParams(queryStringObject).toString();
window.location="https://bright-tab.com/ch/search.php?q="+query + "&" + obj;
}function OpenSearchResult(searchQuery) {
startSearch(searchQuery);
}- bright-tab.com
Receives the install request that returns the server token and utm_uid, then receives new-tab search requests containing q, uid, the token parameter, and utm_uid.