Third-Party Script Auditor
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This script audits all third-party scripts and iframes on any webpage, giving you visibility into what external resources are loading. It scans for script and iframe tags with external sources, extracts the domain, and categorizes each domain as analytics, advertising, social media, CDN, tracking, or third-party. The results are displayed in the settings panel with a summary showing total requests, number of domains, and how many are blocked. You can block individual domains by clicking the "Block" button next to each domain—blocked domains are added to a local blocklist, and the script prevents resources from those domains from loading. This helps you understand privacy implications, reduce tracking, and improve page load speed by blocking unnecessary third-party resources.
WHERE IT RUNS
The script runs on all websites (*://*/*), making it truly universal. It works on any page with scripts or iframes—news sites, e-commerce, blogs, corporate sites, and more. It supports both desktop and mobile views.
HOW TO USE
After installation, the settings panel appears on the left side of the screen with the gear emoji (⚙️). Open the panel to configure the script:
- The "Enable auditor" toggle enables or disables the script.
- The "Resources Found" section shows a list of all third-party domains with their category and resource count.
- Click the "Block" button next to any domain to block all scripts and iframes from that domain.
- Click "Unblock" to remove a domain from the blocklist.
- Click "Scan page" to manually re-scan for resources.
- Click "Clear blocklist" to remove all blocked domains.
The script works automatically—just browse the web and the auditor will show you what third-party resources are loading.
TECHNICAL SECTION — REAL MECHANISM
The script scans the page for script elements with src attributes and iframe elements with src attributes. For each resource, it extracts the domain using the URL API and normalizes it by removing www. and reducing to the base domain (handling country-code TLDs like co.uk, com.au). Each domain is categorized by checking against keyword lists for analytics, advertising, social media, CDN, and tracking. The categories are color-coded in the display. The blocklist is stored as an array of domain strings via GM_setValue. When a domain is blocked, the script applies the blocklist by scanning existing scripts and iframes and marking blocked ones (iframes are hidden with display:none). Future page loads will have resources from blocked domains automatically hidden. The script uses a MutationObserver to detect new resources added dynamically and re-scans periodically.
THE PANEL
The settings panel is built with BotGentz's BGPanel component. It is draggable via its header, allowing you to reposition it anywhere on the screen. The panel snaps to the left edge by default but can be moved freely. Click the gear emoji to collapse the panel into a small bubble, and click the bubble to expand it again. The panel remembers its position per page session. Press the Escape key to quickly close or minimize the panel. The panel includes a status flash bar that provides visual feedback when settings are changed or actions are performed. All settings and the blocklist save automatically via GM_setValue.
PLEASE NOTE
This script requires the free BotGentz browser extension to run. It does not function as a standalone Chrome extension and does not use chrome.* APIs. The script scans resources that are already loaded on the page—it cannot block resources that have already executed. Blocking domains may break some site functionality if essential scripts are blocked. The categorization is heuristic-based and may not be 100% accurate. The script stores only your preferences and blocklist via GM_setValue. No data is sent externally—all processing is performed locally in your browser. The script never reads or writes password fields, hidden inputs, or file inputs. All DOM operations use safe methods (style properties, textContent, appendChild) and never use innerHTML.