> ## Documentation Index
> Fetch the complete documentation index at: https://help.plannotator.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# How Workspaces Handles Active Content

> Learn how Workspaces serves and isolates HTML, SVG, and JavaScript, and what it does not scan.

Workspaces serves stored file bytes without sanitizing or rewriting them. It
does not scan active content for malware. HTML, SVG, and JavaScript can still
run scripts.

## Which files are active

Workspaces treats these media types as active content, including when the value
has a parameter such as a character set:

* `text/html`
* `image/svg+xml`
* `application/javascript`

## How the sandbox works

Workspaces sends active content with this policy:

```text theme={null}
Content-Security-Policy: sandbox allow-scripts
```

The policy lets scripts run but puts the file in a separate, opaque origin.
Without `allow-same-origin`, it cannot use same-origin access to read the
Workspaces app's cookies or page content.

In-app HTML previews use the same sandbox. Hosted raw content uses a separate,
cookieless origin. A Node self-hosted instance may serve raw files from the app
origin, but it still sends the sandbox policy for active files.

The sandbox isolates active files but does not remove harmful code. Active
files can still make outside network requests or show false or harmful content.

## Review active files safely

* Open active files only when you trust their source or can inspect their code.
* Do not enter credentials or private data into an active preview.
* Treat a downloaded HTML, SVG, or JavaScript file as untrusted outside the
  Workspaces sandbox.
* Use a static image or plain-text export when the recipient does not need
  active behavior.
* Workspaces does not scan PDFs for malware.

On a self-hosted instance, verify that active files return the
`Content-Security-Policy` header shown above.

Learn how the viewer and downloads work in [Publish and review Workspaces
artifacts](/workspaces/documents/artifacts).

*Reviewed July 20, 2026. Maintained by the Plannotator documentation team.*
