← back to Homesonspec
apps/mobile/lib/tracker-policy.ts
29 lines
/**
* Analytics and advertising hosts blocked inside the Browse WebView.
* Matching is hostname-aware: exact hosts and their subdomains are blocked,
* while lookalike domains and harmless query-string mentions remain allowed.
*/
export const TRACKER_HOSTS = [
'googletagmanager.com',
'google-analytics.com',
'analytics.google.com',
'connect.facebook.net',
'facebook.com',
'googlesyndication.com',
'doubleclick.net',
] as const;
export function isTrackerUrl(value: string): boolean {
if (!value) return false;
try {
const hostname = new URL(value).hostname.toLowerCase();
return TRACKER_HOSTS.some(
(blockedHost) =>
hostname === blockedHost || hostname.endsWith(`.${blockedHost}`),
);
} catch {
return false;
}
}