CSP: worker-src

The HTTP Content-Security-Policy (CSP) worker-src directive specifies valid sources for Worker, SharedWorker, or ServiceWorker scripts.

CSP version 3
Directive type Fetch directive
Fallback

If this directive is absent, the user agent will first look for the child-src directive, then the script-src (en-US) directive, then finally for the default-src directive, when governing worker execution.

Chrome 59 and higher skips the child-src directive.

Edge 17 skips the script-src (en-US) directive (bug).

Syntax

One or more sources can be allowed for the worker-src policy:

Content-Security-Policy: worker-src <source>;
Content-Security-Policy: worker-src <source> <source>;

Sources

<source> can be any one of the values listed in CSP Source Values.

Note that this same set of values can be used in all fetch directives (and a number of other directives).

Examples

Violation cases

Given this CSP header:

Content-Security-Policy: worker-src https://example.com/

Worker, SharedWorker, ServiceWorker are blocked and won't load:

<script>
  var blockedWorker = new Worker("data:application/javascript,...");
  blockedWorker = new SharedWorker("https://not-example.com/");
  navigator.serviceWorker.register('https://not-example.com/sw.js');
</script>

Specifications

Specification Status Comment
Content Security Policy Level 3
worker-src
Working Draft Initial definition.

Browser compatibility

BCD tables only load in the browser

See also