Delivery models
Option 1 — Self-hosted
Resistant AI provides you with a versioned Offline iFrame bundle. You host the bundle inside your own infrastructure and load it in an<iframe>.
Pros
- Works in restricted / controlled networks
- No dependency on external asset hosting
- Easier to meet internal security requirements
- You are responsible for deployment and version updates
- Pin to a specific version of the bundle in production.
- Roll out updates in a controlled manner (staging → production).
Self-hosting gives you maximum control, but you are responsible for tracking bundle updates and rolling them out.
Option 2 — Resistant AI–hosted static bundle
Resistant AI can provide a hosted static bundle URL after enablement. This is asset hosting only (the viewer still renders from the data you provide viapostMessage()).
Implications
- Your network/CSP must allow the provided bundle domain.
- Use Domains to allowlist as a baseline.
iFrame source placeholder
Use a placeholder variable for the iframesrc (bundle URL is provided during enablement):
Recommended hosting controls (self-hosted)
If you self-host the bundle, treat it like any internal web asset:- Serve over HTTPS
- Restrict embedding with
Content-Security-Policy: frame-ancestors ... - Ensure your app allows framing the bundle via
frame-src/child-src - Limit who can access the bundle URL (internal only)
- Keep versions controlled (avoid unreviewed updates in production)