If your web app uses Content Security Policy (CSP), you’ll need to ensure that your policy allows Userflow.js requests.
Your policy must allow the following:
connect-src:
https://cdn.userflow.com
https://e.userflow.com
https://e.eu.userflow.com
https://js.userflow.com
wss://e.userflow.com
wss://e.eu.userflow.com
script-src:
https://cdn.userflow.com
https://js.userflow.com
style-src:
https://cdn.userflow.com
https://js.userflow.com
img-src:
https://blob.userflow.com
https://cdn.userflow.com
https://js.userflow.com
https://storage.googleapis.com/studio1-prod-blob/
media-src:
https://blob.userflow.com
https://cdn.userflow.com
https://storage.googleapis.com/studio1-prod-blob/
frame-src:
https://cdn.userflow.comSigns that something is blocking Userflow
If your policy is missing one of the domains above, you’ll usually see one of these:
Userflow content doesn’t appear at all, or the installation check says Userflow.js isn’t loading.
Your browser console shows an error like Refused to load… or Refused to connect… because it violates the following Content Security Policy directive, naming a userflow.com address.
Content shows, but images or videos inside steps are broken. This usually means
img-srcormedia-srcis missing a domain.
To fix it, add the domain named in the error to the directive it mentions, then reload the page.
The same domains can be blocked outside your CSP. Corporate firewalls, proxies, DNS filters, and ad-blocking or privacy browser extensions can block them too. If Userflow works for some users or networks but not others:
Ask an affected user to try with browser extensions turned off, or on a different network.
If that fixes it, have their IT team allow the domains listed above.
A few notes:
The name
studio1(in thestorage.googleapis.comURLs) was the company’s original name and is therefore used for legacy reasons.