As effective as CSP can be I always felt this was an awkward way to achieve the goal. The API is not very intuitive. Possibly due to the limitations of being an HTTP header or the broad scope offering fine-grained control for every type of element (CSS, JS iframes, etc). It seems to be trying to appease every type of situation.<p>Just look at how OWASP describes it:<p>&gt; Content Security Policy <i>requires careful tuning and precise definition of the policy</i>. If enabled, CSP has significant impact on the way browser renders pages<p>If they want wide adoption they should really keep it simple. How often would sites need multiple URL whitelists for each (img&#x2F;script&#x2F;stylesheet)? A single whitelist would be fine. This is what I would have proposed:<p><pre><code>    Content-Security-Whitelist: self analytics.google.com mixpanel.com;
    Content-Security-Policy: 
            scripts=&lt;whitelist|*|none&gt;; 
            styles=&lt;whitelist|*|none&gt;;  
            img=&lt;whitelist|*|none&gt;; 
            plugins=&lt;whitelist|*|none&gt;; 
            iframes=&lt;whitelist|*|none&gt;;      
            inline-scripts=&lt;allow|deny&gt;; 
            inline-styles=&lt;allow|deny&gt;; 
            insecure-requests=&lt;upgrade|allow|deny&gt;;</code></pre>