New tab overrides explained: what an extension that replaces your new tab can really see
Replacing your new tab page takes no permission at all. Here's what a new tab override extension can really see, when it's fine, and how to check yours.

Open a new tab. Something loaded. If an extension owns that page, the thing that loaded is code written by whoever published the extension — and it got there without asking for a single permission.
That's the part that catches people out. New tab replacement is one of the most crowded extension categories on any store, and the mechanism behind it isn't a permission you can weigh up at install time. It's a manifest key. It never appears in the "This extension can…" list, because it isn't in that list at all.
So here's what that page can actually do, when it's fine, and how to work out which extension is sitting on your new tab right now.
What a new tab override actually is
Chrome lets an extension replace three of its built-in pages through a manifest key called chrome_url_overrides: the bookmark manager, the history page, and the new tab. Per the Chrome docs on overriding Chrome pages, each extension can only override one of them — so an extension that takes your new tab can't also take your history page.
The replacement is a plain HTML file shipped inside the extension. Hit Ctrl+T and Chrome loads chrome-extension://<id>/newtab.html instead of its own page.
Two constraints are worth knowing. Overrides don't apply to New Tab pages in incognito windows — Chrome blocks that outright. And the docs push authors to keep the page small and fast, because users expect a built-in page to open instantly.
Firefox supports the same key, documented on MDN as chrome_url_overrides, though the set of overridable pages isn't identical.
What it actually allows
The override page is an extension page. That matters more than it sounds.
A content script runs inside a website's tab, in an isolated world, with a deliberately narrow slice of the extension APIs. An override page runs on the extension's own origin with the extension's full API surface — whatever the manifest declared, this page can call.
And it runs every single time you open a tab. That's a behavioral stream on its own, before any permission enters the picture: how many tabs you open, at what hours, in what bursts. The page can make network requests like any other page, so "one ping per new tab" is a design choice available to the author, and nothing in the permission list would hint at it.
Then come the permissions that make the page useful — and revealing.
topSites
chrome.topSites.get() returns your most-visited sites: the same list Chrome uses to build its own tile grid. It needs the topSites permission, and per the Chrome topSites reference, each entry carries only a title and a url. No visit counts, no timestamps, and Chrome excludes the shortcuts you customized yourself. Firefox exposes a broader version of the same API with extra filtering options.
So it's narrower than it could be. It's still a ranked list of the handful of places where you spend your life — which for most people includes an employer's internal tools, a bank, and a couple of things you'd rather not have to explain.
history
Some dashboards add a "recently visited" strip. That needs the history permission and the chrome.history API, which is a far bigger ask: the full, searchable, retroactive log, including sites you visited long before the extension existed on your machine. I broke that down in the history permission piece — the short version is that it reads backwards, and browser sync means it can surface pages you only ever opened on your phone.
A new tab dashboard asking for history to power a recents row is trading a large chunk of your past for a small feature. That's a fair trade to refuse.
favicon, and the leak nobody looks for
Site tiles need icons. The clean way is Chrome's own _favicon/ path with the favicon permission, documented here — the browser serves an icon it already has, and nothing leaves your machine.
The lazy way is hotlinking a third-party favicon service — a URL shaped like icon-api.example/icon?domain=yourbank.com. Do that and every new tab you open ships your most-visited domains to a server you've never heard of, as an ordinary HTTP request with your IP attached. No permission covers this. It's an image tag.
One more wrinkle straight from the Chrome docs: the favicon permission only triggers a warning if the extension hasn't already requested tabs or host permissions. If it has, favicon slides in without a word.
The search-engine cousin
A separate manifest key, chrome_settings_overrides — MDN documents the cross-browser version here — changes your default search engine. Different mechanism, same neighborhood, worse consequences: every query you type into the address bar routes through whoever the extension points at. New tab and search takeovers usually travel together.
Why this category attracts trouble
Because it's valuable real estate that costs nothing to claim.
BleepingComputer reported on August 2, 2026 that Google is building a Chrome protection which would, by default, block policy-installed extensions from hijacking the new tab page or the default search engine. The mechanism being abused is enterprise policy: force-install keys meant for managed corporate fleets can also be written locally by malware on an unmanaged personal PC, planting a new tab hijacker without the user ever visiting the Chrome Web Store.
Google engineer Anunoy Ghosh put it plainly in the Chromium change quoted by BleepingComputer: "In low-trust environments (unmanaged consumer devices), enterprise policy force-installs and recommendations are abused to lock in search engine or new tab page hijackers."
Be precise about the status, though: this was spotted in work-in-progress Chromium changes and had not shipped as of that reporting. Until it does, the technique still works on consumer machines.
The legitimate end of the category has its own issues. LayerX Security's research into extensions that disclose data sales identified Dashy New Tab as carrying a "does not sell your data" designation on its Chrome Web Store listing while its linked privacy policy stated "Sold or Shared: Yes." I went into that mismatch in my piece on extension privacy policies; as of that reporting, the developer had not publicly responded to the findings.
When it's fine, and when it isn't
Fine:
- the new tab is the product — a dashboard, a bookmark grid, a focus timer
- it asks for
topSitesand nothing else, or asks for nothing at all - icons come from
_favicon/rather than a third-party icon API - there's a setting that hands Chrome's page back without uninstalling
Pause:
- the extension's actual job has nothing to do with new tabs — a coupon finder, a PDF converter, a video downloader — and it took the page anyway
- a new tab override plus
history - a new tab override plus broad host permissions. As of the 2026-06-01 Extenshi catalog snapshot, only 7.4% of live listings request
<all_urls>, so it's an unusual thing to find stacked on top of a page takeover - your default search engine changed at the same time
- you don't remember installing it, and
chrome://extensionssays "Installed by enterprise policy" on a personal machine
How to check yours
- Open a new tab. If it isn't Chrome's own page, right-click → Inspect. The URL shown in DevTools starts with
chrome-extension://followed by the extension's ID. That's your fingerprint. - Keep DevTools open on the Network tab and reload the new tab. Every request the page fires on load shows up there — third-party favicon services and analytics beacons are obvious within a second.
- Paste the ID into
chrome://extensions, click Details, and read the permissions.topSitesalone is proportionate.history, or "Read and change all your data on all websites", on a new tab extension is not. - On that same page, look for an "Installed by enterprise policy" label. On a personal machine, that's the route Google is working to close — treat it as a red flag rather than a formality.
- Look the extension up in the catalog to compare its declared permissions and scanner findings against similar extensions.
One honest caveat to carry through all of it: a declared permission is a statement of capability, not proof of behavior. I dug into that gap in runtime tracking versus permissions. The manifest tells you what an extension could do on every tab you open. It doesn't tell you what it does.
Check your permissions
If you've been running the same new tab dashboard for two years without thinking about it, that's the one to look at first. Pull up its permissions, watch what its page requests on load, and decide whether the tiles are worth it.
Sources
- Override Chrome pages — Chrome for Developers (Google)
- chrome.topSites API reference — Chrome for Developers (Google)
- chrome.history API reference — Chrome for Developers (Google)
- Extend the favicon API — Chrome for Developers (Google)
chrome_url_overridesmanifest key — MDN Web Docs (Mozilla)chrome_settings_overridesmanifest key — MDN Web Docs (Mozilla)topSitesAPI — MDN Web Docs (Mozilla)- Google Chrome may soon block New Tab hijacker extensions by default — BleepingComputer, August 2, 2026
- mdn/webextensions-examples — top-sites — the cross-browser reference implementation
This article is based on publicly available security research and news reporting. Extenshi does not independently verify all claims made by third-party researchers. References to specific companies or products reflect the findings of cited sources and do not constitute accusations of intentional wrongdoing. If any entity referenced in this article believes information is inaccurate, contact [email protected] and we will review and update.
Related Articles

The `history` permission explained: what an extension can dig out of your past
The history permission lets a browser extension read every site you visited — even before you installed it. Here's what it exposes and how to check yours.

Extension privacy policies explained: what 'we may sell your data' actually means
LayerX found 82 Chrome extensions legally sell 6.5M users' data via buried privacy policies. Here's how the fine-print loophole works and how to check yours.
Runtime tracking explained: what browser extensions do that their permissions never show
An ACM study found 15.97% of extensions start third-party tracking within 60 seconds. Here's why the permission list never told you, and how to check.

Extension permissions by the numbers: what 308,000 browser extensions actually request
I mapped browser extension permissions across 308,210 live listings: 62% claim storage, 7.4% can read every site you visit. Here's what to pause on.