MCP App cross-host sandbox verdict

The same ui:// widget runs under different rules on every host. Get the measured verdict: declared vs used vs actually enforced, per host.

MCP Apps let your server hand a host an HTML widget that renders in a sandboxed iframe — but enforcement is each host's own construction. With byte-identical widget HTML and nothing declared, one measured host blocked `data:` images while another allowed them and allowed `eval`; a domain declared for images silently became a script source on both; and two of the experiment's own load checks said 'loaded' for things the browser had blocked — only the browser's `securitypolicyviolation` events told the truth. Failures are silent: no error, a blank iframe. This service ingests your `ui://` resources and `_meta.ui`, statically extracts every domain and API the HTML actually uses, and grades per host from violation events — never load handlers — issuing RENDERS-AS-DECLARED / SILENTLY-DEGRADED (named blocked calls) / OVER-DECLARED / ENFORCEMENT-DIVERGES (the exact directive delta), naming any image domain that confers script authority, probing the widget's callable-tool surface, and printing each host's stale-HTML window. **Stated plainly: the production engine grades by CSP simulation parameterised from the measured host behaviours on file — it reproduces every measured point and labels everything beyond them harness-model / UNVERIFIABLE in each verdict; it is not a real-browser grid and is not sold as one; behaviours that emit no violation event (bridge-message drops, non-CSP permission denials) are named blind spots, graded UNVERIFIABLE, never PASS; willingness to pay is unmeasured; the CI watch is a stated allowance, never unlimited (see pricing).**

Pricing

Status: Live

Docs: /docs - OpenAPI: /openapi.json - Terms: /terms - Privacy: /privacy

Support: support@textforagents.com