@@ -43,7 +43,12 @@ function generateCSP(env, isDevServer) {
4343 'https://api.lfcla.dev.platform.linuxfoundation.org/' ,
4444 'https://easycla.dev.communitybridge.org/' ,
4545 'https://easycla.lfx.linuxfoundation.org/' ,
46- 'https://contributor.easycla.lfx.linuxfoundation.org/'
46+ 'https://contributor.easycla.lfx.linuxfoundation.org/' ,
47+ 'https://cmp.osano.com' , // Cookie consent management
48+ 'https://www.google-analytics.com' , // Google Analytics beacons
49+ 'https://analytics.google.com' , // Google Analytics 4
50+ 'https://www.googletagmanager.com' , // GTM fetch requests
51+ 'https://stats.g.doubleclick.net' // DoubleClick stats
4752 ] ;
4853 let scriptSources = [ SELF , UNSAFE_EVAL , UNSAFE_INLINE ,
4954 'https://cdn.dev.platform.linuxfoundation.org/lfx-header-v2.js' ,
@@ -54,7 +59,8 @@ function generateCSP(env, isDevServer) {
5459 'https://cdn.dev.platform.linuxfoundation.org/lfx-footer-no-zone.js' ,
5560 'https://cdn.staging.platform.linuxfoundation.org/lfx-footer-no-zone.js' ,
5661 'https://cdn.platform.linuxfoundation.org/lfx-footer-no-zone.js' ,
57- 'https://cmp.osano.com' // Cookie consent
62+ 'https://cmp.osano.com' , // Cookie consent
63+ 'https://www.googletagmanager.com' // Google Tag Manager for Osano
5864 ] ;
5965
6066 const styleSources = [ SELF , UNSAFE_INLINE , 'https://use.fontawesome.com/' , 'https://communitybridge.org/' ] ;
@@ -106,7 +112,8 @@ function generateCSP(env, isDevServer) {
106112 'https://linuxfoundation-dev.auth0.com' ,
107113 'https://linuxfoundation-staging.auth0.com' ,
108114 'https://linuxfoundation.auth0.com' ,
109- 'https://sso.linuxfoundation.org/'
115+ 'https://sso.linuxfoundation.org/' ,
116+ 'https://cmp.osano.com' // Cookie consent UI iframe
110117 ] ,
111118 'child-src' : [ ] ,
112119 'media-src' : [ ] ,
0 commit comments