Google Fonts

CSP for Google Fonts

Design

Using Google Fonts with Content Security Policy

Google fonts is the most common design asset on the Web. Note that even if you are not loading it into your page - one of your SDKs could likely be loading it. It is generally safe to allow.

Allow these directives in your CSP, to support Google Fonts in your Content Security Policy:

style-src
  fonts.googleapis.com;
img-src
  fonts.gstatic.com;
font-src
  fonts.gstatic.com
  fonts.googleapis.com;
connect-src
  fonts.googleapis.com
  fonts.gstatic.com;

The main domains used by Google Fonts are:

gstatic.com
fonts.googleapis.com

Sources:

Using Google Fonts with Content Security Policy(Offical Docs)RapidSec CSP Generator(RapidSec Data Network)

Example Content-Security-Policy violations / reports:

Using the above CSP package, will fix these errors that you may be seeing in your console logs:

script-src/script-src-elem/script-src-attrviolations

If you see inline style errors, you need to add SHA-256 hashes / nonces to your CSP with RapidSec:

Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'report-sample'". Either the 'unsafe-inline' keyword, a hash ('sha256-RFWPLDbv2BY+rCkDzsE+0fr8ylGr2R2faWMhq4lfEQc='), or a nonce ('nonce-...') is required to enable inline execution.

If you see inline eval() errors, RapidSec will generate your CSP with the specific content of the errors:

Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self' 'report-sample'".

style-src/style-src-elem/style-src-attrviolations

Refused to load the stylesheet 'https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700&lang=en' because it violates the following Content Security Policy directive: "style-src 'self' 'report-sample'". Note that 'style-src-elem' was not explicitly set, so 'style-src' is used as a fallback.

If you see inline style errors, you need to add SHA-256 hashes / nonces to your CSP with RapidSec:

Refused to apply inline style because it violates the following Content Security Policy directive: "style-src 'self' 'report-sample'". Either the 'unsafe-inline' keyword, a hash ('sha256-RFWPLDbv2BY+rCkDzsE+0fr8ylGr2R2faWMhq4lfEQc='), or a nonce ('nonce-...') is required to enable inline execution.

font-srcviolations

Refused to load the font 'https://fonts.gstatic.com' because it violates the following Content Security Policy directive: "font-src 'self'"

img-srcviolations

Refused to load the image 'gstatic.com' because it violates the following Content Security Policy directive: "img-src 'self'".

frame-srcviolations

[Report Only] Refused to frame 'gstatic.com' because it violates the following Content Security Policy directive: "frame-src 'self'".

form-actionviolations

[Report Only] Refused to send form data to 'gstatic.com' because it violates the following Content Security Policy directive: "form-action 'self'".

connect-srcviolations

[Report Only] Refused to connect to 'gstatic.com' because it violates the following Content Security Policy directive: "connect-src 'self'"