Skip to main content

Isolate untrusted components

When your applications load UI that someone else wrote (a partner, an agency, a marketplace, an AI tool), you need to decide how much of your page that code can reach. Myop lets your application make that decision per component, at render time.

Four levels, chosen by your code​

ModeWhat the component can reach
Web componentYour page directly. For first-party UI you trust
IframeIts own frame, on your origin. The default
Isolated iframeNothing of yours. A sandboxed, cross-origin frame with no access to your DOM, cookies, storage or window.parent
BlockedIt does not render at all

Your application installs one render policy, a function that sees each component before it renders and returns the mode. A common rule: render your own components as authored, isolate everything that comes from outside your organization.

hostSDK.setRenderPolicy((ctx) =>
isFirstParty(ctx.componentDefinition) ? ctx.requestedMode : 'isolatedIframe');

What isolation does​

An isolated component runs in a sandboxed iframe without same-origin access, so it cannot read or change anything on your page. It still works as a normal component: data goes in, actions come out, and it resizes to its content, through a narrow message bridge the SDK provides. Component authors don't change anything.

Net effect: code from outside your organization never runs on your page.

Learn more​

The full guide covers the policy hook, precedence rules, framework-specific usage, and which kinds of components should not be isolated: Component Isolation & Render Policy.