Skip to content

Commit f7bcc80

Browse files
CSP: allow blob: in frame-src so the in-app PDF viewer renders
The file viewer renders PDFs in an iframe backed by a client-side blob: URL (also used for decrypted Zero-Knowledge files). frame-src lacked blob:, so the browser blocked the PDF frame. img-src/media-src already allowed blob:.
1 parent c7e7bbf commit f7bcc80

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

‎apps/web/next.config.mjs‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,11 @@ const csp = [
2121
"object-src 'none'",
2222
"frame-ancestors 'none'",
2323
"form-action 'self'",
24-
// Share previews stream image/audio/video/pdf from the API origin.
24+
// Share previews + the in-app viewer stream image/audio/video/pdf from the API origin or
25+
// a client-side blob: URL (e.g. decrypted Zero-Knowledge files, the PDF viewer iframe).
2526
`img-src 'self' data: blob: ${apiOrigin}`.trim(),
2627
`media-src 'self' blob: ${apiOrigin}`.trim(),
27-
`frame-src 'self' ${apiOrigin}`.trim(),
28+
`frame-src 'self' blob: ${apiOrigin}`.trim(),
2829
"font-src 'self'",
2930
"style-src 'self' 'unsafe-inline'",
3031
"script-src 'self' 'unsafe-inline'",

0 commit comments

Comments
 (0)