ux.sgit.ai

Findings / UX-048

A vault app can load images and scripts from a site but cannot fetch its data

OpenLowGapdev.vault.sgraph.ai

What we saw

The host CSP is connect-src blob: data:. fetch() to newsroom.sgit.ai is refused although it sends access-control-allow-origin *, while <img> and classic <script src> from the same origin load.

Why it matters

Builders reasonably expect CORS-open data to be readable and discover otherwise in production; apps must snapshot data instead.

The fix

Snapshot the data into the vault (with SHA-256 in sources.json) and say in the UI which copy is shown. State the CSP where builders read about vault apps.

The record

StatusOpen
SeverityLow
KindGap: something the reader needs is not there
Productdev.vault.sgraph.ai, platform
Wherevault apps reading newsroom.sgit.ai
ProblemsHost trap
VisibilitySilent: no symptom on screen: found only by measuring, or by its consequences
RecommendationDesign for the host: use the host's own mechanisms (route variable, sg.state, vault snapshot) instead of the browser's defaults
AreaPlatform
BreaksA vault app works inside the host, not just on its own
Observed2026-10-11, host
Last checked2026-10-11, host
SourceDesign lab: what building it measured

Previous: UX-047 localStorage throws inside the vault app frame, so reader data is lost on reload

Next: UX-049 Query strings break inside the vault host, so filters must live in the route path