{"version":"2.1.247","anchor":"preview-locks-the-browser-to-the-local-server-and-self-tests","canonical_anchor":"preview-locks-the-browser-to-the-local-server-and-self-tests","heading":"Preview locks the browser to the local server and self-tests the lock before loading","tier":"internal","area":"Artifacts","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247\/e\/preview-locks-the-browser-to-the-local-server-and-self-tests","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247","markdown":"### Preview locks the browser to the local server and self-tests the lock before loading\n\nThe preview browser is locked to the local server and refuses to run if the lock fails.\n\n**What**\n\nThe Chrome instance spawned for artifact preview is confined to the loopback preview host plus Google Fonts. Every other name is black-holed by host-resolver rules, proxies are off, new web contents and the GPU are disabled, and a fresh profile directory is created under a `claude-artifact-preview-` prefix. Before the real page loads, preview navigates to a throwaway local name and requires the failure to be `net::ERR_NAME_NOT_RESOLVED`; if the browser resolved it anyway, the run stops.\n\n**Details**\n\n- Debugger-level request interception fails anything that is not the page itself or a fonts.googleapis \/ gstatic stylesheet path.\n- An injected script deletes `RTCPeerConnection` and related APIs and, via a mutation observer, strips `preconnect`, `dns-prefetch` and `prerender` links plus speculation-rules scripts.\n- Workers or worklets that attach without waiting for the debugger also abort the run.\n- Behind the same preview gate, `tengu_cobalt_plinth_aspen`, as the rest of preview.\n\n**Evidence**\n\n`this browser ignored the preview network lock-down; preview stopped before loading the page`\n\n- Flag `tengu_cobalt_plinth_aspen`: Not enough to say (read for one account on one subscription tier against v2.1.247; this account: no value returned, anonymous baseline: no value returned, compiled default: off)\n- Area: Artifacts\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 3\/5"}