This policy specifies the primary theme color for the extension interface using a hex color code in Google Chrome.
@@ -419,16 +447,26 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -468,16 +506,26 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -491,4 +539,4 @@
-
\ No newline at end of file
+
diff --git a/enterprise/firefox/policies.json b/enterprise/firefox/policies.json
index be564a92..b98be793 100644
--- a/enterprise/firefox/policies.json
+++ b/enterprise/firefox/policies.json
@@ -34,6 +34,8 @@
"companyURL": "https://cyberdrain.com/",
"productName": "",
"supportEmail": "",
+ "supportUrl": "",
+ "privacyPolicyUrl": "",
"primaryColor": "#F77F00",
"logoUrl": ""
},
@@ -50,4 +52,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/enterprise/macos-linux/chrome-managed-policy.json b/enterprise/macos-linux/chrome-managed-policy.json
index 58ac0eb7..efaeace8 100644
--- a/enterprise/macos-linux/chrome-managed-policy.json
+++ b/enterprise/macos-linux/chrome-managed-policy.json
@@ -20,8 +20,11 @@
"enableDebugLogging": false,
"customBranding": {
"companyName": "",
+ "companyURL": "https://cyberdrain.com/",
"productName": "",
"supportEmail": "",
+ "supportUrl": "",
+ "privacyPolicyUrl": "",
"primaryColor": "#F77F00",
"logoUrl": ""
},
@@ -37,4 +40,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/enterprise/macos-linux/edge-managed-policy.json b/enterprise/macos-linux/edge-managed-policy.json
index fc44bd0d..c3535504 100644
--- a/enterprise/macos-linux/edge-managed-policy.json
+++ b/enterprise/macos-linux/edge-managed-policy.json
@@ -20,8 +20,11 @@
"enableDebugLogging": false,
"customBranding": {
"companyName": "",
+ "companyURL": "https://cyberdrain.com/",
"productName": "",
"supportEmail": "",
+ "supportUrl": "",
+ "privacyPolicyUrl": "",
"primaryColor": "#F77F00",
"logoUrl": ""
},
@@ -37,4 +40,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/options/options.html b/options/options.html
index 7a69aead..e692024c 100644
--- a/options/options.html
+++ b/options/options.html
@@ -405,6 +405,22 @@ Company Information
Email address for user support
+
+
+
+
URL opened by the popup Support button
+
+
+
+
+
URL opened by the popup Privacy button
+
diff --git a/options/options.js b/options/options.js
index a24dc1f0..f317c566 100644
--- a/options/options.js
+++ b/options/options.js
@@ -98,6 +98,8 @@ class CheckOptions {
this.elements.companyURL = document.getElementById("companyURL");
this.elements.productName = document.getElementById("productName");
this.elements.supportEmail = document.getElementById("supportEmail");
+ this.elements.supportUrl = document.getElementById("supportUrl");
+ this.elements.privacyPolicyUrl = document.getElementById("privacyPolicyUrl");
this.elements.primaryColor = document.getElementById("primaryColor");
this.elements.logoUrl = document.getElementById("logoUrl");
this.elements.brandingPreview = document.getElementById("brandingPreview");
@@ -187,6 +189,8 @@ class CheckOptions {
this.elements.companyName,
this.elements.companyURL,
this.elements.productName,
+ this.elements.supportUrl,
+ this.elements.privacyPolicyUrl,
this.elements.primaryColor,
this.elements.logoUrl,
];
@@ -476,8 +480,10 @@ class CheckOptions {
console.warn("Options: Using fallback branding configuration");
this.brandingConfig = {
companyName: "CyberDrain",
- companyURL: "https://cyberdrain.com/",
+ companyURL: "https://cyberdrain.com/",
productName: "Check",
+ supportUrl: "https://support.cyberdrain.com",
+ privacyPolicyUrl: "https://cyberdrain.com/privacy",
primaryColor: "#F77F00",
logoUrl: "images/icon48.png",
};
@@ -485,8 +491,10 @@ class CheckOptions {
console.error("Error loading branding configuration:", error);
this.brandingConfig = {
companyName: "CyberDrain",
- companyURL: "https://cyberdrain.com/",
+ companyURL: "https://cyberdrain.com/",
productName: "Check",
+ supportUrl: "https://support.cyberdrain.com",
+ privacyPolicyUrl: "https://cyberdrain.com/privacy",
primaryColor: "#F77F00",
logoUrl: "images/icon48.png",
};
@@ -1014,6 +1022,9 @@ class CheckOptions {
this.elements.companyURL.value = this.brandingConfig?.companyURL || "";
this.elements.productName.value = this.brandingConfig?.productName || "";
this.elements.supportEmail.value = this.brandingConfig?.supportEmail || "";
+ this.elements.supportUrl.value = this.brandingConfig?.supportUrl || "";
+ this.elements.privacyPolicyUrl.value =
+ this.brandingConfig?.privacyPolicyUrl || "";
this.elements.primaryColor.value =
this.brandingConfig?.primaryColor || "#F77F00";
this.elements.logoUrl.value = this.brandingConfig?.logoUrl || "";
@@ -1342,6 +1353,8 @@ class CheckOptions {
companyURL: this.elements.companyURL.value,
productName: this.elements.productName.value,
supportEmail: this.elements.supportEmail.value,
+ supportUrl: this.elements.supportUrl.value,
+ privacyPolicyUrl: this.elements.privacyPolicyUrl.value,
primaryColor: this.elements.primaryColor.value,
logoUrl: this.elements.logoUrl.value,
};
@@ -2459,6 +2472,8 @@ class CheckOptions {
companyName: "CyberDrain",
companyURL: "https://cyberdrain.com/",
productName: "Check Enterprise",
+ supportUrl: "https://support.cyberdrain.com",
+ privacyPolicyUrl: "https://cyberdrain.com/privacy",
primaryColor: "#F77F00",
logoUrl:
"https://cyberdrain.com/images/favicon_hu_20e77b0e20e363e.png",
@@ -2601,6 +2616,8 @@ class CheckOptions {
companyURL: this.elements.companyURL,
productName: this.elements.productName,
supportEmail: this.elements.supportEmail,
+ supportUrl: this.elements.supportUrl,
+ privacyPolicyUrl: this.elements.privacyPolicyUrl,
primaryColor: this.elements.primaryColor,
logoUrl: this.elements.logoUrl,
};
diff --git a/scripts/modules/config-manager.js b/scripts/modules/config-manager.js
index 7f869395..3ff3ea9e 100644
--- a/scripts/modules/config-manager.js
+++ b/scripts/modules/config-manager.js
@@ -116,7 +116,10 @@ export class ConfigManager {
// Custom branding (matches managed_schema.json structure)
customBranding: {
companyName: "CyberDrain",
+ companyURL: "https://cyberdrain.com/",
productName: "Check Enterprise",
+ supportUrl: "https://support.cyberdrain.com",
+ privacyPolicyUrl: "https://cyberdrain.com/privacy",
primaryColor: "#F77F00",
logoUrl:
"https://cyberdrain.com/images/favicon_hu_20e77b0e20e363e.png",
diff --git a/tests/config-persistence.test.js b/tests/config-persistence.test.js
index b991d5fc..aa5efed5 100644
--- a/tests/config-persistence.test.js
+++ b/tests/config-persistence.test.js
@@ -235,3 +235,48 @@ test('ConfigManager - merge precedence', async (t) => {
delete global.fetch;
teardownGlobalChrome();
});
+
+test('ConfigManager - branding links for manual and enterprise config', async (t) => {
+ const chromeMock = setupGlobalChrome();
+
+ global.fetch = async () => ({
+ ok: false,
+ status: 404
+ });
+
+ const { ConfigManager } = await import('../scripts/modules/config-manager.js');
+
+ await t.test('should honor explicit support/privacy URLs from enterprise custom branding', async () => {
+ chromeMock.storage.managed.set({
+ customBranding: {
+ companyURL: 'https://enterprise.example',
+ supportUrl: 'https://enterprise.example/support',
+ privacyPolicyUrl: 'https://enterprise.example/privacy'
+ }
+ });
+
+ const configManager = new ConfigManager();
+ const branding = await configManager.getFinalBrandingConfig();
+
+ assert.strictEqual(branding.supportUrl, 'https://enterprise.example/support');
+ assert.strictEqual(branding.privacyPolicyUrl, 'https://enterprise.example/privacy');
+ });
+
+ await t.test('should derive support/privacy links from supportEmail/companyURL when URLs are not set', async () => {
+ await chromeMock.storage.local.set({
+ brandingConfig: {
+ companyURL: 'https://manual.example',
+ supportEmail: 'help@manual.example'
+ }
+ });
+
+ const configManager = new ConfigManager();
+ const branding = await configManager.getFinalBrandingConfig();
+
+ assert.strictEqual(branding.supportUrl, 'mailto:help@manual.example');
+ assert.strictEqual(branding.privacyPolicyUrl, 'https://manual.example');
+ });
+
+ delete global.fetch;
+ teardownGlobalChrome();
+});
From 3afc8a4ddb6ad68c11808ed9310881fb28ddc57d Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 28 Feb 2026 05:32:47 +0000
Subject: [PATCH 05/13] feat: add configurable about url for popup footer and
enterprise policies
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
---
config/branding.json | 1 +
config/managed_schema.json | 7 ++++++
enterprise/Check-Extension-Policy.reg | 2 ++
enterprise/Deploy-Windows-Chrome-and-Edge.ps1 | 2 ++
enterprise/Remove-Windows-Chrome-and-Edge.ps1 | 1 +
enterprise/admx/Check-Extension.admx | 18 ++++++++++++++
enterprise/admx/en-US/Check-Extension.adml | 24 +++++++++++++++++++
enterprise/firefox/policies.json | 1 +
.../macos-linux/chrome-managed-policy.json | 1 +
.../macos-linux/edge-managed-policy.json | 1 +
options/options.html | 8 +++++++
options/options.js | 8 +++++++
popup/popup.js | 9 ++++++-
scripts/modules/config-manager.js | 2 ++
tests/config-persistence.test.js | 7 ++++--
15 files changed, 89 insertions(+), 3 deletions(-)
diff --git a/config/branding.json b/config/branding.json
index 26426b5f..25b40943 100644
--- a/config/branding.json
+++ b/config/branding.json
@@ -4,6 +4,7 @@
"productName": "Check",
"supportUrl": "https://support.cyberdrain.com",
"privacyPolicyUrl": "https://cyberdrain.com/privacy",
+ "aboutUrl": "https://cyberdrain.com/about",
"version": "1.1.0",
"description": "Protect against phishing attacks targeting Microsoft 365 login pages with enterprise-grade detection",
"branding": {
diff --git a/config/managed_schema.json b/config/managed_schema.json
index 96d32089..e3a27b63 100644
--- a/config/managed_schema.json
+++ b/config/managed_schema.json
@@ -159,6 +159,13 @@
"format": "uri",
"default": ""
},
+ "aboutUrl": {
+ "title": "About URL",
+ "description": "URL opened by the popup About link",
+ "type": "string",
+ "format": "uri",
+ "default": ""
+ },
"primaryColor": {
"title": "Primary Color",
"description": "Primary theme color (hex code)",
diff --git a/enterprise/Check-Extension-Policy.reg b/enterprise/Check-Extension-Policy.reg
index d94bdb5f..3df93e0b 100644
--- a/enterprise/Check-Extension-Policy.reg
+++ b/enterprise/Check-Extension-Policy.reg
@@ -28,6 +28,7 @@ Windows Registry Editor Version 5.00
"supportEmail"=""
"supportUrl"=""
"privacyPolicyUrl"=""
+"aboutUrl"=""
"primaryColor"="#F77F00"
"logoUrl"=""
@@ -63,6 +64,7 @@ Windows Registry Editor Version 5.00
"supportEmail"=""
"supportUrl"=""
"privacyPolicyUrl"=""
+"aboutUrl"=""
"primaryColor"="#F77F00"
"logoUrl"=""
diff --git a/enterprise/Deploy-Windows-Chrome-and-Edge.ps1 b/enterprise/Deploy-Windows-Chrome-and-Edge.ps1
index b5320852..22b91f87 100644
--- a/enterprise/Deploy-Windows-Chrome-and-Edge.ps1
+++ b/enterprise/Deploy-Windows-Chrome-and-Edge.ps1
@@ -36,6 +36,7 @@ $productName = "Check - Phishing Protection" # This will set the "Product Name"
$supportEmail = "" # This will set the "Support Email" option in the Custom Branding settings; default is blank.
$supportUrl = "" # This will set the "Support URL" option in the Custom Branding settings; default is blank.
$privacyPolicyUrl = "" # This will set the "Privacy URL" option in the Custom Branding settings; default is blank.
+$aboutUrl = "" # This will set the "About URL" option in the Custom Branding settings; default is blank.
$primaryColor = "#F77F00" # This will set the "Primary Color" option in the Custom Branding settings; default is "#F77F00"; must be a valid hex color code (e.g., #FFFFFF).
$logoUrl = "" # This will set the "Logo URL" option in the Custom Branding settings; default is blank. Must be a valid URL including the protocol (e.g., https://example.com/logo.png); protocol must be https; recommended size is 48x48 pixels with a maximum of 128x128.
@@ -97,6 +98,7 @@ function Configure-ExtensionSettings {
New-ItemProperty -Path $customBrandingKey -Name "supportEmail" -PropertyType String -Value $supportEmail -Force | Out-Null
New-ItemProperty -Path $customBrandingKey -Name "supportUrl" -PropertyType String -Value $supportUrl -Force | Out-Null
New-ItemProperty -Path $customBrandingKey -Name "privacyPolicyUrl" -PropertyType String -Value $privacyPolicyUrl -Force | Out-Null
+ New-ItemProperty -Path $customBrandingKey -Name "aboutUrl" -PropertyType String -Value $aboutUrl -Force | Out-Null
New-ItemProperty -Path $customBrandingKey -Name "primaryColor" -PropertyType String -Value $primaryColor -Force | Out-Null
New-ItemProperty -Path $customBrandingKey -Name "logoUrl" -PropertyType String -Value $logoUrl -Force | Out-Null
diff --git a/enterprise/Remove-Windows-Chrome-and-Edge.ps1 b/enterprise/Remove-Windows-Chrome-and-Edge.ps1
index a3b65dbf..b05fefc2 100644
--- a/enterprise/Remove-Windows-Chrome-and-Edge.ps1
+++ b/enterprise/Remove-Windows-Chrome-and-Edge.ps1
@@ -68,6 +68,7 @@ function Remove-ExtensionSettings {
"supportEmail",
"supportUrl",
"privacyPolicyUrl",
+ "aboutUrl",
"primaryColor",
"logoUrl"
)
diff --git a/enterprise/admx/Check-Extension.admx b/enterprise/admx/Check-Extension.admx
index a0f8f5e2..dc6a89a5 100644
--- a/enterprise/admx/Check-Extension.admx
+++ b/enterprise/admx/Check-Extension.admx
@@ -203,6 +203,15 @@
+
+
+
+
+
+
+
+
+
@@ -414,6 +423,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/enterprise/admx/en-US/Check-Extension.adml b/enterprise/admx/en-US/Check-Extension.adml
index e99d5b73..483261fd 100644
--- a/enterprise/admx/en-US/Check-Extension.adml
+++ b/enterprise/admx/en-US/Check-Extension.adml
@@ -222,6 +222,13 @@
Example: https://contoso.com/privacy
+
+ About URL
+
+ This policy specifies the about URL opened by the extension About link.
+
+ Example: https://contoso.com/about
+
Primary theme color
@@ -385,6 +392,13 @@
Example: https://contoso.com/privacy
+
+ About URL (Chrome)
+
+ This policy specifies the about URL opened by the extension About link in Google Chrome.
+
+ Example: https://contoso.com/about
+
Primary theme color (Chrome)
@@ -462,6 +476,11 @@
+
+
+
+
+
@@ -521,6 +540,11 @@
+
+
+
+
+
diff --git a/enterprise/firefox/policies.json b/enterprise/firefox/policies.json
index b98be793..4b8013a8 100644
--- a/enterprise/firefox/policies.json
+++ b/enterprise/firefox/policies.json
@@ -36,6 +36,7 @@
"supportEmail": "",
"supportUrl": "",
"privacyPolicyUrl": "",
+ "aboutUrl": "",
"primaryColor": "#F77F00",
"logoUrl": ""
},
diff --git a/enterprise/macos-linux/chrome-managed-policy.json b/enterprise/macos-linux/chrome-managed-policy.json
index efaeace8..caec2369 100644
--- a/enterprise/macos-linux/chrome-managed-policy.json
+++ b/enterprise/macos-linux/chrome-managed-policy.json
@@ -25,6 +25,7 @@
"supportEmail": "",
"supportUrl": "",
"privacyPolicyUrl": "",
+ "aboutUrl": "",
"primaryColor": "#F77F00",
"logoUrl": ""
},
diff --git a/enterprise/macos-linux/edge-managed-policy.json b/enterprise/macos-linux/edge-managed-policy.json
index c3535504..778e5feb 100644
--- a/enterprise/macos-linux/edge-managed-policy.json
+++ b/enterprise/macos-linux/edge-managed-policy.json
@@ -25,6 +25,7 @@
"supportEmail": "",
"supportUrl": "",
"privacyPolicyUrl": "",
+ "aboutUrl": "",
"primaryColor": "#F77F00",
"logoUrl": ""
},
diff --git a/options/options.html b/options/options.html
index e692024c..5638330a 100644
--- a/options/options.html
+++ b/options/options.html
@@ -421,6 +421,14 @@ Company Information
URL opened by the popup Privacy button
+
+
+
+
URL opened by the popup About button (leave empty to use extension About page)
+
diff --git a/options/options.js b/options/options.js
index f317c566..8884cd1b 100644
--- a/options/options.js
+++ b/options/options.js
@@ -100,6 +100,7 @@ class CheckOptions {
this.elements.supportEmail = document.getElementById("supportEmail");
this.elements.supportUrl = document.getElementById("supportUrl");
this.elements.privacyPolicyUrl = document.getElementById("privacyPolicyUrl");
+ this.elements.aboutUrl = document.getElementById("aboutUrl");
this.elements.primaryColor = document.getElementById("primaryColor");
this.elements.logoUrl = document.getElementById("logoUrl");
this.elements.brandingPreview = document.getElementById("brandingPreview");
@@ -191,6 +192,7 @@ class CheckOptions {
this.elements.productName,
this.elements.supportUrl,
this.elements.privacyPolicyUrl,
+ this.elements.aboutUrl,
this.elements.primaryColor,
this.elements.logoUrl,
];
@@ -484,6 +486,7 @@ class CheckOptions {
productName: "Check",
supportUrl: "https://support.cyberdrain.com",
privacyPolicyUrl: "https://cyberdrain.com/privacy",
+ aboutUrl: "https://cyberdrain.com/about",
primaryColor: "#F77F00",
logoUrl: "images/icon48.png",
};
@@ -495,6 +498,7 @@ class CheckOptions {
productName: "Check",
supportUrl: "https://support.cyberdrain.com",
privacyPolicyUrl: "https://cyberdrain.com/privacy",
+ aboutUrl: "https://cyberdrain.com/about",
primaryColor: "#F77F00",
logoUrl: "images/icon48.png",
};
@@ -1025,6 +1029,7 @@ class CheckOptions {
this.elements.supportUrl.value = this.brandingConfig?.supportUrl || "";
this.elements.privacyPolicyUrl.value =
this.brandingConfig?.privacyPolicyUrl || "";
+ this.elements.aboutUrl.value = this.brandingConfig?.aboutUrl || "";
this.elements.primaryColor.value =
this.brandingConfig?.primaryColor || "#F77F00";
this.elements.logoUrl.value = this.brandingConfig?.logoUrl || "";
@@ -1355,6 +1360,7 @@ class CheckOptions {
supportEmail: this.elements.supportEmail.value,
supportUrl: this.elements.supportUrl.value,
privacyPolicyUrl: this.elements.privacyPolicyUrl.value,
+ aboutUrl: this.elements.aboutUrl.value,
primaryColor: this.elements.primaryColor.value,
logoUrl: this.elements.logoUrl.value,
};
@@ -2474,6 +2480,7 @@ class CheckOptions {
productName: "Check Enterprise",
supportUrl: "https://support.cyberdrain.com",
privacyPolicyUrl: "https://cyberdrain.com/privacy",
+ aboutUrl: "https://cyberdrain.com/about",
primaryColor: "#F77F00",
logoUrl:
"https://cyberdrain.com/images/favicon_hu_20e77b0e20e363e.png",
@@ -2618,6 +2625,7 @@ class CheckOptions {
supportEmail: this.elements.supportEmail,
supportUrl: this.elements.supportUrl,
privacyPolicyUrl: this.elements.privacyPolicyUrl,
+ aboutUrl: this.elements.aboutUrl,
primaryColor: this.elements.primaryColor,
logoUrl: this.elements.logoUrl,
};
diff --git a/popup/popup.js b/popup/popup.js
index 7d841e62..262a9de8 100644
--- a/popup/popup.js
+++ b/popup/popup.js
@@ -389,6 +389,7 @@ class CheckPopup {
logoUrl: "images/icon32.png",
supportUrl: "https://support.cyberdrain.com",
privacyPolicyUrl: "https://cyberdrain.com/privacy",
+ aboutUrl: "https://cyberdrain.com/about",
primaryColor: "#F77F00",
};
} catch (error) {
@@ -400,6 +401,7 @@ class CheckPopup {
logoUrl: "images/icon32.png",
supportUrl: "https://support.cyberdrain.com",
privacyPolicyUrl: "https://cyberdrain.com/privacy",
+ aboutUrl: "https://cyberdrain.com/about",
primaryColor: "#F77F00",
};
}
@@ -450,6 +452,9 @@ class CheckPopup {
if (this.brandingConfig.privacyPolicyUrl) {
this.elements.privacyLink.href = this.brandingConfig.privacyPolicyUrl;
}
+ if (this.brandingConfig.aboutUrl) {
+ this.elements.aboutLink.href = this.brandingConfig.aboutUrl;
+ }
// Apply primary color if available
if (this.brandingConfig.primaryColor) {
@@ -1093,7 +1098,9 @@ class CheckPopup {
url = this.brandingConfig.privacyPolicyUrl;
break;
case "about":
- url = chrome.runtime.getURL("options/options.html#about");
+ url =
+ this.brandingConfig.aboutUrl ||
+ chrome.runtime.getURL("options/options.html#about");
break;
case "company":
url = this.brandingConfig.companyURL;
diff --git a/scripts/modules/config-manager.js b/scripts/modules/config-manager.js
index 3ff3ea9e..31ba61ba 100644
--- a/scripts/modules/config-manager.js
+++ b/scripts/modules/config-manager.js
@@ -120,6 +120,7 @@ export class ConfigManager {
productName: "Check Enterprise",
supportUrl: "https://support.cyberdrain.com",
privacyPolicyUrl: "https://cyberdrain.com/privacy",
+ aboutUrl: "https://cyberdrain.com/about",
primaryColor: "#F77F00",
logoUrl:
"https://cyberdrain.com/images/favicon_hu_20e77b0e20e363e.png",
@@ -336,6 +337,7 @@ export class ConfigManager {
supportEmail: "support@check.com",
supportUrl: "https://support.check.com",
privacyPolicyUrl: "https://check.com/privacy",
+ aboutUrl: "https://check.com/about",
termsOfServiceUrl: "https://check.com/terms",
// Customizable text
diff --git a/tests/config-persistence.test.js b/tests/config-persistence.test.js
index aa5efed5..43238b70 100644
--- a/tests/config-persistence.test.js
+++ b/tests/config-persistence.test.js
@@ -246,12 +246,13 @@ test('ConfigManager - branding links for manual and enterprise config', async (t
const { ConfigManager } = await import('../scripts/modules/config-manager.js');
- await t.test('should honor explicit support/privacy URLs from enterprise custom branding', async () => {
+ await t.test('should honor explicit support/privacy/about URLs from enterprise custom branding', async () => {
chromeMock.storage.managed.set({
customBranding: {
companyURL: 'https://enterprise.example',
supportUrl: 'https://enterprise.example/support',
- privacyPolicyUrl: 'https://enterprise.example/privacy'
+ privacyPolicyUrl: 'https://enterprise.example/privacy',
+ aboutUrl: 'https://enterprise.example/about'
}
});
@@ -260,6 +261,7 @@ test('ConfigManager - branding links for manual and enterprise config', async (t
assert.strictEqual(branding.supportUrl, 'https://enterprise.example/support');
assert.strictEqual(branding.privacyPolicyUrl, 'https://enterprise.example/privacy');
+ assert.strictEqual(branding.aboutUrl, 'https://enterprise.example/about');
});
await t.test('should derive support/privacy links from supportEmail/companyURL when URLs are not set', async () => {
@@ -275,6 +277,7 @@ test('ConfigManager - branding links for manual and enterprise config', async (t
assert.strictEqual(branding.supportUrl, 'mailto:help@manual.example');
assert.strictEqual(branding.privacyPolicyUrl, 'https://manual.example');
+ assert.strictEqual(branding.aboutUrl, 'https://check.com/about');
});
delete global.fetch;
From 5b89c4c90b2e7b4b2292810c84e4be375cd321a9 Mon Sep 17 00:00:00 2001
From: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
Date: Sat, 28 Feb 2026 13:35:40 +0800
Subject: [PATCH 06/13] remove default URL
---
config/branding.json | 2 +-
options/options.js | 6 +++---
popup/popup.js | 4 ++--
scripts/modules/config-manager.js | 2 +-
4 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/config/branding.json b/config/branding.json
index 25b40943..0d6ba246 100644
--- a/config/branding.json
+++ b/config/branding.json
@@ -4,7 +4,7 @@
"productName": "Check",
"supportUrl": "https://support.cyberdrain.com",
"privacyPolicyUrl": "https://cyberdrain.com/privacy",
- "aboutUrl": "https://cyberdrain.com/about",
+ "aboutUrl": "",
"version": "1.1.0",
"description": "Protect against phishing attacks targeting Microsoft 365 login pages with enterprise-grade detection",
"branding": {
diff --git a/options/options.js b/options/options.js
index 8884cd1b..ae981e28 100644
--- a/options/options.js
+++ b/options/options.js
@@ -486,7 +486,7 @@ class CheckOptions {
productName: "Check",
supportUrl: "https://support.cyberdrain.com",
privacyPolicyUrl: "https://cyberdrain.com/privacy",
- aboutUrl: "https://cyberdrain.com/about",
+ aboutUrl: "",
primaryColor: "#F77F00",
logoUrl: "images/icon48.png",
};
@@ -498,7 +498,7 @@ class CheckOptions {
productName: "Check",
supportUrl: "https://support.cyberdrain.com",
privacyPolicyUrl: "https://cyberdrain.com/privacy",
- aboutUrl: "https://cyberdrain.com/about",
+ aboutUrl: "",
primaryColor: "#F77F00",
logoUrl: "images/icon48.png",
};
@@ -2480,7 +2480,7 @@ class CheckOptions {
productName: "Check Enterprise",
supportUrl: "https://support.cyberdrain.com",
privacyPolicyUrl: "https://cyberdrain.com/privacy",
- aboutUrl: "https://cyberdrain.com/about",
+ aboutUrl: "",
primaryColor: "#F77F00",
logoUrl:
"https://cyberdrain.com/images/favicon_hu_20e77b0e20e363e.png",
diff --git a/popup/popup.js b/popup/popup.js
index 262a9de8..7951c509 100644
--- a/popup/popup.js
+++ b/popup/popup.js
@@ -389,7 +389,7 @@ class CheckPopup {
logoUrl: "images/icon32.png",
supportUrl: "https://support.cyberdrain.com",
privacyPolicyUrl: "https://cyberdrain.com/privacy",
- aboutUrl: "https://cyberdrain.com/about",
+ aboutUrl: "",
primaryColor: "#F77F00",
};
} catch (error) {
@@ -401,7 +401,7 @@ class CheckPopup {
logoUrl: "images/icon32.png",
supportUrl: "https://support.cyberdrain.com",
privacyPolicyUrl: "https://cyberdrain.com/privacy",
- aboutUrl: "https://cyberdrain.com/about",
+ aboutUrl: "",
primaryColor: "#F77F00",
};
}
diff --git a/scripts/modules/config-manager.js b/scripts/modules/config-manager.js
index 31ba61ba..93a8ceeb 100644
--- a/scripts/modules/config-manager.js
+++ b/scripts/modules/config-manager.js
@@ -120,7 +120,7 @@ export class ConfigManager {
productName: "Check Enterprise",
supportUrl: "https://support.cyberdrain.com",
privacyPolicyUrl: "https://cyberdrain.com/privacy",
- aboutUrl: "https://cyberdrain.com/about",
+ aboutUrl: "",
primaryColor: "#F77F00",
logoUrl:
"https://cyberdrain.com/images/favicon_hu_20e77b0e20e363e.png",
From ba3cd4a3f9dbc6f92acfda105ab97d3938d591a8 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 28 Feb 2026 05:47:26 +0000
Subject: [PATCH 07/13] refactor: remove obsolete companyurl branding
configuration
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
---
config/branding.json | 1 -
config/managed_schema.json | 6 ----
docs/settings/branding.md | 8 ++---
enterprise/Check-Extension-Policy.reg | 2 --
enterprise/Deploy-Windows-Chrome-and-Edge.ps1 | 2 --
enterprise/Remove-Windows-Chrome-and-Edge.ps1 | 1 -
enterprise/Test-Extension-Policy.ps1 | 1 -
enterprise/admx/Check-Extension.admx | 18 ----------
enterprise/admx/en-US/Check-Extension.adml | 36 +++----------------
enterprise/firefox/policies.json | 1 -
.../macos-linux/chrome-managed-policy.json | 1 -
.../macos-linux/edge-managed-policy.json | 7 ++--
options/options.html | 8 -----
options/options.js | 12 -------
popup/popup.html | 2 +-
popup/popup.js | 9 -----
scripts/modules/config-manager.js | 6 +---
tests/config-persistence.test.js | 6 ++--
18 files changed, 13 insertions(+), 114 deletions(-)
diff --git a/config/branding.json b/config/branding.json
index 0d6ba246..1e54978d 100644
--- a/config/branding.json
+++ b/config/branding.json
@@ -1,6 +1,5 @@
{
"companyName": "CyberDrain",
- "companyURL": "https://cyberdrain.com/",
"productName": "Check",
"supportUrl": "https://support.cyberdrain.com",
"privacyPolicyUrl": "https://cyberdrain.com/privacy",
diff --git a/config/managed_schema.json b/config/managed_schema.json
index e3a27b63..5cc63bcb 100644
--- a/config/managed_schema.json
+++ b/config/managed_schema.json
@@ -125,12 +125,6 @@
"description": "Company name to display in the extension",
"type": "string",
"default": ""
- },
- "companyURL": {
- "title": "Company URL",
- "description": "Company URL used in the extension",
- "type": "string",
- "default": "https://cyberdrain.com/"
},
"productName": {
"title": "Product Name",
diff --git a/docs/settings/branding.md b/docs/settings/branding.md
index a4dce7b6..60b0918c 100644
--- a/docs/settings/branding.md
+++ b/docs/settings/branding.md
@@ -30,9 +30,8 @@ If some settings do not appear on your version, it means your organization's IT
You can customize the following properties:
1. **Company Name** - Enter your organization's name. This appears in the extension interface and blocked page messages (displayed as "Protected by \[Company Name]").
-2. **Company URL** - Your company website URL (e.g., `https://yourcompany.com`). Used in extension branding and contact information. _(Firefox: required, Chrome/Edge: optional)_
-3. **Product Name** - What you want to call the extension (like "Contoso Security" instead of "Check"). This replaces the default "Check" branding throughout the interface.
-4. **Support Email** - Where users should go for help. This email address is used in the "Contact Admin" button when phishing sites are blocked.
+2. **Product Name** - What you want to call the extension (like "Contoso Security" instead of "Check"). This replaces the default "Check" branding throughout the interface.
+3. **Support Email** - Where users should go for help. This email address is used in the "Contact Admin" button when phishing sites are blocked.
## Visual Customization
@@ -106,7 +105,6 @@ For Firefox deployments, configure branding through the `policies.json` file:
"check@cyberdrain.com": {
"customBranding": {
"companyName": "Your Company",
- "companyURL": "https://yourcompany.com",
"productName": "Security Extension",
"supportEmail": "security@example.com",
"primaryColor": "#FF5733",
@@ -201,7 +199,6 @@ Enterprise policies always take precedence over manual settings.
* Uses extension ID: `check@cyberdrain.com`
* Configuration is managed through `policies.json` file
-* Supports additional `companyURL` property
* Policies file location varies by operating system
### Chrome & Edge
@@ -305,7 +302,6 @@ Logo URL: https://assets.globalmfg.com/security/gmi-logo-48.png
"check@cyberdrain.com": {
"customBranding": {
"companyName": "Contoso Corporation",
- "companyURL": "https://contoso.com",
"productName": "Contoso Defender",
"logoUrl": "https://contoso.com/assets/logo.png",
"primaryColor": "#0078D4",
diff --git a/enterprise/Check-Extension-Policy.reg b/enterprise/Check-Extension-Policy.reg
index 3df93e0b..9f2f0044 100644
--- a/enterprise/Check-Extension-Policy.reg
+++ b/enterprise/Check-Extension-Policy.reg
@@ -23,7 +23,6 @@ Windows Registry Editor Version 5.00
; Custom branding configuration
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\3rdparty\extensions\knepjpocdagponkonnbggpcnhnaikajg\policy\customBranding]
"companyName"="CyberDrain"
-"companyURL"="https://cyberdrain.com/"
"productName"="Check"
"supportEmail"=""
"supportUrl"=""
@@ -59,7 +58,6 @@ Windows Registry Editor Version 5.00
; Custom branding configuration for Chrome
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\3rdparty\extensions\benimdeioplgkhanklclahllklceahbe\policy\customBranding]
"companyName"="CyberDrain"
-"companyURL"="https://cyberdrain.com/"
"productName"="Check"
"supportEmail"=""
"supportUrl"=""
diff --git a/enterprise/Deploy-Windows-Chrome-and-Edge.ps1 b/enterprise/Deploy-Windows-Chrome-and-Edge.ps1
index 22b91f87..1e991b78 100644
--- a/enterprise/Deploy-Windows-Chrome-and-Edge.ps1
+++ b/enterprise/Deploy-Windows-Chrome-and-Edge.ps1
@@ -31,7 +31,6 @@ $webhookEvents = @() # This will set the "Event Types" to send to the webhook; d
# Custom Branding Settings
$companyName = "CyberDrain" # This will set the "Company Name" option in the Custom Branding settings; default is "CyberDrain".
-$companyURL = "https://cyberdrain.com" # This will set the Company URL option in the Custom Branding settings; default is "https://cyberdrain.com"; Must include the protocol (e.g., https://).
$productName = "Check - Phishing Protection" # This will set the "Product Name" option in the Custom Branding settings; default is "Check - Phishing Protection".
$supportEmail = "" # This will set the "Support Email" option in the Custom Branding settings; default is blank.
$supportUrl = "" # This will set the "Support URL" option in the Custom Branding settings; default is blank.
@@ -93,7 +92,6 @@ function Configure-ExtensionSettings {
# Set custom branding settings
New-ItemProperty -Path $customBrandingKey -Name "companyName" -PropertyType String -Value $companyName -Force | Out-Null
- New-ItemProperty -Path $customBrandingKey -Name "companyURL" -PropertyType String -Value $companyURL -Force | Out-Null
New-ItemProperty -Path $customBrandingKey -Name "productName" -PropertyType String -Value $productName -Force | Out-Null
New-ItemProperty -Path $customBrandingKey -Name "supportEmail" -PropertyType String -Value $supportEmail -Force | Out-Null
New-ItemProperty -Path $customBrandingKey -Name "supportUrl" -PropertyType String -Value $supportUrl -Force | Out-Null
diff --git a/enterprise/Remove-Windows-Chrome-and-Edge.ps1 b/enterprise/Remove-Windows-Chrome-and-Edge.ps1
index b05fefc2..b221b231 100644
--- a/enterprise/Remove-Windows-Chrome-and-Edge.ps1
+++ b/enterprise/Remove-Windows-Chrome-and-Edge.ps1
@@ -63,7 +63,6 @@ function Remove-ExtensionSettings {
if (Test-Path $customBrandingKey) {
$brandingPropertiesToRemove = @(
"companyName",
- "companyURL",
"productName",
"supportEmail",
"supportUrl",
diff --git a/enterprise/Test-Extension-Policy.ps1 b/enterprise/Test-Extension-Policy.ps1
index 6a07d23e..eaa3218a 100644
--- a/enterprise/Test-Extension-Policy.ps1
+++ b/enterprise/Test-Extension-Policy.ps1
@@ -26,7 +26,6 @@ $testConfig = @{
# Custom branding test values
$testBranding = @{
companyName = "Test Company"
- companyURL = "https://example.com"
productName = "Test Product"
supportEmail = "test@example.com"
primaryColor = "#FF6B00"
diff --git a/enterprise/admx/Check-Extension.admx b/enterprise/admx/Check-Extension.admx
index dc6a89a5..2c937226 100644
--- a/enterprise/admx/Check-Extension.admx
+++ b/enterprise/admx/Check-Extension.admx
@@ -158,15 +158,6 @@
-
-
-
-
-
-
-
-
-
@@ -378,15 +369,6 @@
-
-
-
-
-
-
-
-
-
diff --git a/enterprise/admx/en-US/Check-Extension.adml b/enterprise/admx/en-US/Check-Extension.adml
index 483261fd..3a217d8b 100644
--- a/enterprise/admx/en-US/Check-Extension.adml
+++ b/enterprise/admx/en-US/Check-Extension.adml
@@ -181,16 +181,7 @@
The company name appears in the extension popup and settings pages.
-
- Company URL
-
- This policy specifies the company URL used in the extension for branding and navigation purposes.
-
- Example: https://contoso.com
-
- The company URL is used for linking back to the company website from the extension interface.
-
-
+
Product name
This policy specifies a custom product name for the extension.
@@ -351,16 +342,7 @@
The company name appears in the extension popup and settings pages.
-
- Company URL (Chrome)
-
- This policy specifies the company URL used in the extension for branding and navigation purposes in Google Chrome.
-
- Example: https://contoso.com
-
- The company URL is used for linking back to the company website from the extension interface.
-
-
+
Product name (Chrome)
This policy specifies a custom product name for the extension in Google Chrome.
@@ -451,12 +433,7 @@
-
-
-
-
-
-
+
@@ -515,12 +492,7 @@
-
-
-
-
-
-
+
diff --git a/enterprise/firefox/policies.json b/enterprise/firefox/policies.json
index 4b8013a8..16f7e491 100644
--- a/enterprise/firefox/policies.json
+++ b/enterprise/firefox/policies.json
@@ -31,7 +31,6 @@
"enableDebugLogging": false,
"customBranding": {
"companyName": "",
- "companyURL": "https://cyberdrain.com/",
"productName": "",
"supportEmail": "",
"supportUrl": "",
diff --git a/enterprise/macos-linux/chrome-managed-policy.json b/enterprise/macos-linux/chrome-managed-policy.json
index caec2369..190df728 100644
--- a/enterprise/macos-linux/chrome-managed-policy.json
+++ b/enterprise/macos-linux/chrome-managed-policy.json
@@ -20,7 +20,6 @@
"enableDebugLogging": false,
"customBranding": {
"companyName": "",
- "companyURL": "https://cyberdrain.com/",
"productName": "",
"supportEmail": "",
"supportUrl": "",
diff --git a/enterprise/macos-linux/edge-managed-policy.json b/enterprise/macos-linux/edge-managed-policy.json
index 778e5feb..acdee00a 100644
--- a/enterprise/macos-linux/edge-managed-policy.json
+++ b/enterprise/macos-linux/edge-managed-policy.json
@@ -18,10 +18,9 @@
"customRulesUrl": "",
"updateInterval": 24,
"enableDebugLogging": false,
- "customBranding": {
- "companyName": "",
- "companyURL": "https://cyberdrain.com/",
- "productName": "",
+ "customBranding": {
+ "companyName": "",
+ "productName": "",
"supportEmail": "",
"supportUrl": "",
"privacyPolicyUrl": "",
diff --git a/options/options.html b/options/options.html
index 5638330a..0162651f 100644
--- a/options/options.html
+++ b/options/options.html
@@ -382,14 +382,6 @@ Company Information
Company name displayed in the extension
-
-
-
Your company website URL
-
-
-
+ CyberDrain
diff --git a/popup/popup.js b/popup/popup.js
index 7951c509..a8d88812 100644
--- a/popup/popup.js
+++ b/popup/popup.js
@@ -67,7 +67,6 @@ class CheckPopup {
this.elements.aboutLink = document.getElementById("aboutLink");
this.elements.companyBranding = document.getElementById("companyBranding");
this.elements.companyName = document.getElementById("companyName");
- this.elements.companyLink = document.getElementById("companyLink");
// Debug section
this.elements.debugSection = document.getElementById("debugSection");
@@ -144,9 +143,6 @@ class CheckPopup {
this.elements.aboutLink.addEventListener("click", (e) =>
this.handleFooterLink(e, "about")
);
- this.elements.companyLink.addEventListener("click", (e) =>
- this.handleFooterLink(e, "company")
- );
// Notification close listener
this.elements.notificationClose.addEventListener("click", () =>
@@ -384,7 +380,6 @@ class CheckPopup {
console.warn("Popup: Using fallback branding configuration");
this.brandingConfig = {
companyName: "CyberDrain",
- companyURL: "https://cyberdrain.com/",
productName: "Check",
logoUrl: "images/icon32.png",
supportUrl: "https://support.cyberdrain.com",
@@ -396,7 +391,6 @@ class CheckPopup {
console.error("Error loading branding configuration:", error);
this.brandingConfig = {
companyName: "CyberDrain",
- companyURL: "https://cyberdrain.com/",
productName: "Check",
logoUrl: "images/icon32.png",
supportUrl: "https://support.cyberdrain.com",
@@ -1102,9 +1096,6 @@ class CheckPopup {
this.brandingConfig.aboutUrl ||
chrome.runtime.getURL("options/options.html#about");
break;
- case "company":
- url = this.brandingConfig.companyURL;
- break;
}
if (url) {
diff --git a/scripts/modules/config-manager.js b/scripts/modules/config-manager.js
index 93a8ceeb..1b5f1af4 100644
--- a/scripts/modules/config-manager.js
+++ b/scripts/modules/config-manager.js
@@ -116,7 +116,6 @@ export class ConfigManager {
// Custom branding (matches managed_schema.json structure)
customBranding: {
companyName: "CyberDrain",
- companyURL: "https://cyberdrain.com/",
productName: "Check Enterprise",
supportUrl: "https://support.cyberdrain.com",
privacyPolicyUrl: "https://cyberdrain.com/privacy",
@@ -489,13 +488,10 @@ export class ConfigManager {
finalBranding.genericWebhook = currentConfig.genericWebhook;
}
- // Derive support/privacy URLs when only partial branding is configured
+ // Derive support URL when only partial branding is configured
if (!finalBranding.supportUrl && finalBranding.supportEmail) {
finalBranding.supportUrl = `mailto:${finalBranding.supportEmail}`;
}
- if (!finalBranding.privacyPolicyUrl && finalBranding.companyURL) {
- finalBranding.privacyPolicyUrl = finalBranding.companyURL;
- }
return finalBranding;
}
diff --git a/tests/config-persistence.test.js b/tests/config-persistence.test.js
index 43238b70..5320d06b 100644
--- a/tests/config-persistence.test.js
+++ b/tests/config-persistence.test.js
@@ -249,7 +249,6 @@ test('ConfigManager - branding links for manual and enterprise config', async (t
await t.test('should honor explicit support/privacy/about URLs from enterprise custom branding', async () => {
chromeMock.storage.managed.set({
customBranding: {
- companyURL: 'https://enterprise.example',
supportUrl: 'https://enterprise.example/support',
privacyPolicyUrl: 'https://enterprise.example/privacy',
aboutUrl: 'https://enterprise.example/about'
@@ -264,10 +263,9 @@ test('ConfigManager - branding links for manual and enterprise config', async (t
assert.strictEqual(branding.aboutUrl, 'https://enterprise.example/about');
});
- await t.test('should derive support/privacy links from supportEmail/companyURL when URLs are not set', async () => {
+ await t.test('should derive support link from supportEmail when URLs are not set', async () => {
await chromeMock.storage.local.set({
brandingConfig: {
- companyURL: 'https://manual.example',
supportEmail: 'help@manual.example'
}
});
@@ -276,7 +274,7 @@ test('ConfigManager - branding links for manual and enterprise config', async (t
const branding = await configManager.getFinalBrandingConfig();
assert.strictEqual(branding.supportUrl, 'mailto:help@manual.example');
- assert.strictEqual(branding.privacyPolicyUrl, 'https://manual.example');
+ assert.strictEqual(branding.privacyPolicyUrl, 'https://check.com/privacy');
assert.strictEqual(branding.aboutUrl, 'https://check.com/about');
});
From a0a92cf6fd9dc0a340275ece0479cee63fe6f333 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 28 Feb 2026 05:50:11 +0000
Subject: [PATCH 08/13] test: tie privacy/about fallback assertions to default
branding config
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
---
tests/config-persistence.test.js | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/tests/config-persistence.test.js b/tests/config-persistence.test.js
index 5320d06b..e0630e07 100644
--- a/tests/config-persistence.test.js
+++ b/tests/config-persistence.test.js
@@ -272,10 +272,11 @@ test('ConfigManager - branding links for manual and enterprise config', async (t
const configManager = new ConfigManager();
const branding = await configManager.getFinalBrandingConfig();
+ const defaultBranding = configManager.getDefaultBrandingConfig();
assert.strictEqual(branding.supportUrl, 'mailto:help@manual.example');
- assert.strictEqual(branding.privacyPolicyUrl, 'https://check.com/privacy');
- assert.strictEqual(branding.aboutUrl, 'https://check.com/about');
+ assert.strictEqual(branding.privacyPolicyUrl, defaultBranding.privacyPolicyUrl);
+ assert.strictEqual(branding.aboutUrl, defaultBranding.aboutUrl);
});
delete global.fetch;
From 79e72d7d362d769ca5776482afcf8330f8f8851a Mon Sep 17 00:00:00 2001
From: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
Date: Sat, 28 Feb 2026 13:50:59 +0800
Subject: [PATCH 09/13] Update edge-managed-policy.json
---
enterprise/macos-linux/edge-managed-policy.json | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/enterprise/macos-linux/edge-managed-policy.json b/enterprise/macos-linux/edge-managed-policy.json
index acdee00a..59394080 100644
--- a/enterprise/macos-linux/edge-managed-policy.json
+++ b/enterprise/macos-linux/edge-managed-policy.json
@@ -18,9 +18,9 @@
"customRulesUrl": "",
"updateInterval": 24,
"enableDebugLogging": false,
- "customBranding": {
- "companyName": "",
- "productName": "",
+ "customBranding": {
+ "companyName": "",
+ "productName": "",
"supportEmail": "",
"supportUrl": "",
"privacyPolicyUrl": "",
From 664431ed3b8b34ef4acf506cc601b211dcf425c5 Mon Sep 17 00:00:00 2001
From: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
Date: Sat, 28 Feb 2026 13:54:00 +0800
Subject: [PATCH 10/13] Update config-manager.js
---
scripts/modules/config-manager.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/modules/config-manager.js b/scripts/modules/config-manager.js
index 1b5f1af4..5d29715b 100644
--- a/scripts/modules/config-manager.js
+++ b/scripts/modules/config-manager.js
@@ -336,7 +336,7 @@ export class ConfigManager {
supportEmail: "support@check.com",
supportUrl: "https://support.check.com",
privacyPolicyUrl: "https://check.com/privacy",
- aboutUrl: "https://check.com/about",
+ aboutUrl: "",
termsOfServiceUrl: "https://check.com/terms",
// Customizable text
From 39360fef5dc90392d5d16a73b56c7913d90b671d Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 28 Feb 2026 05:59:24 +0000
Subject: [PATCH 11/13] docs: align branding docs with support privacy and
about urls
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
---
docs/settings/branding.md | 29 +++++++++++++++++++++++++----
1 file changed, 25 insertions(+), 4 deletions(-)
diff --git a/docs/settings/branding.md b/docs/settings/branding.md
index 60b0918c..d7b8c563 100644
--- a/docs/settings/branding.md
+++ b/docs/settings/branding.md
@@ -32,6 +32,9 @@ You can customize the following properties:
1. **Company Name** - Enter your organization's name. This appears in the extension interface and blocked page messages (displayed as "Protected by \[Company Name]").
2. **Product Name** - What you want to call the extension (like "Contoso Security" instead of "Check"). This replaces the default "Check" branding throughout the interface.
3. **Support Email** - Where users should go for help. This email address is used in the "Contact Admin" button when phishing sites are blocked.
+4. **Support URL** - URL opened by the popup **Support** link (for example, `https://support.yourcompany.com`).
+5. **Privacy URL** (`privacyPolicyUrl`) - URL opened by the popup **Privacy** link (for example, `https://yourcompany.com/privacy`).
+6. **About URL** (`aboutUrl`) - URL opened by the popup **About** link. Leave empty to use the built-in extension About page.
## Visual Customization
@@ -59,6 +62,9 @@ The branding preview shows you exactly how your customizations will appear to us
* Logo (upload or provide URL)
* Primary Color
* Support Email
+ * Support URL
+ * Privacy URL
+ * About URL
4. Click "Save"
Your branding will be immediately applied to all components.
@@ -77,7 +83,10 @@ For enterprise deployments using Windows Group Policy:
"companyName": "Your Company",
"logoUrl": "https://example.com/logo.png",
"primaryColor": "#FF5733",
- "supportEmail": "security@example.com"
+ "supportEmail": "security@example.com",
+ "supportUrl": "https://support.example.com",
+ "privacyPolicyUrl": "https://example.com/privacy",
+ "aboutUrl": "https://example.com/about"
}
}
```
@@ -107,6 +116,9 @@ For Firefox deployments, configure branding through the `policies.json` file:
"companyName": "Your Company",
"productName": "Security Extension",
"supportEmail": "security@example.com",
+ "supportUrl": "https://support.example.com",
+ "privacyPolicyUrl": "https://example.com/privacy",
+ "aboutUrl": "https://example.com/about",
"primaryColor": "#FF5733",
"logoUrl": "https://example.com/logo.png"
}
@@ -135,7 +147,10 @@ For organizations using Microsoft Intune with Chrome/Edge:
"companyName": "Your Company",
"logoUrl": "https://example.com/logo.png",
"primaryColor": "#FF5733",
- "supportEmail": "security@example.com"
+ "supportEmail": "security@example.com",
+ "supportUrl": "https://support.example.com",
+ "privacyPolicyUrl": "https://example.com/privacy",
+ "aboutUrl": "https://example.com/about"
}
}
```
@@ -287,7 +302,10 @@ Logo URL: https://assets.globalmfg.com/security/gmi-logo-48.png
"productName": "Contoso Defender",
"logoUrl": "https://contoso.com/assets/logo.png",
"primaryColor": "#0078D4",
- "supportEmail": "security@contoso.com"
+ "supportEmail": "security@contoso.com",
+ "supportUrl": "https://support.contoso.com",
+ "privacyPolicyUrl": "https://contoso.com/privacy",
+ "aboutUrl": "https://contoso.com/about"
}
}
```
@@ -305,7 +323,10 @@ Logo URL: https://assets.globalmfg.com/security/gmi-logo-48.png
"productName": "Contoso Defender",
"logoUrl": "https://contoso.com/assets/logo.png",
"primaryColor": "#0078D4",
- "supportEmail": "security@contoso.com"
+ "supportEmail": "security@contoso.com",
+ "supportUrl": "https://support.contoso.com",
+ "privacyPolicyUrl": "https://contoso.com/privacy",
+ "aboutUrl": "https://contoso.com/about"
}
}
}
From 581b6b88a51d4332e9691463292c3cb85a87ffbb Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 28 Feb 2026 05:59:51 +0000
Subject: [PATCH 12/13] docs: use privacy policy url naming consistency
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
---
docs/settings/branding.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/settings/branding.md b/docs/settings/branding.md
index d7b8c563..cad94fa5 100644
--- a/docs/settings/branding.md
+++ b/docs/settings/branding.md
@@ -33,7 +33,7 @@ You can customize the following properties:
2. **Product Name** - What you want to call the extension (like "Contoso Security" instead of "Check"). This replaces the default "Check" branding throughout the interface.
3. **Support Email** - Where users should go for help. This email address is used in the "Contact Admin" button when phishing sites are blocked.
4. **Support URL** - URL opened by the popup **Support** link (for example, `https://support.yourcompany.com`).
-5. **Privacy URL** (`privacyPolicyUrl`) - URL opened by the popup **Privacy** link (for example, `https://yourcompany.com/privacy`).
+5. **Privacy Policy URL** (`privacyPolicyUrl`) - URL opened by the popup **Privacy** link (for example, `https://yourcompany.com/privacy`).
6. **About URL** (`aboutUrl`) - URL opened by the popup **About** link. Leave empty to use the built-in extension About page.
## Visual Customization
From fbcb4931b68b08e133d3a21fab29af5494eb99ad Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 28 Feb 2026 06:00:17 +0000
Subject: [PATCH 13/13] docs: align privacy policy url label in manual settings
list
Co-authored-by: Zacgoose <107489668+Zacgoose@users.noreply.github.com>
---
docs/settings/branding.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/settings/branding.md b/docs/settings/branding.md
index cad94fa5..9ba3fed7 100644
--- a/docs/settings/branding.md
+++ b/docs/settings/branding.md
@@ -63,7 +63,7 @@ The branding preview shows you exactly how your customizations will appear to us
* Primary Color
* Support Email
* Support URL
- * Privacy URL
+ * Privacy Policy URL
* About URL
4. Click "Save"