Skip to content

Commit c6b60fd

Browse files
ethanpalmclaudemayankshouchelucaspunz
authored
Add missing hostnames to CSP configuration (#1202)
* Add missing hostnames to CSP configuration Added 13 missing domains found in comprehensive codebase search: - *.mintlify.com (dashboard, API, analytics proxy) - leaves.mintlify.com (GitLab webhooks) - d1ctpt7j8wusba.cloudfront.net (mint releases) - mintcdn.com (asset tracking) - api.mintlifytrieve.com (search API) - mintlify-assets.b-cdn.net (BunnyCDN) - mintlify.s3-us-west-1.amazonaws.com (S3 images) - fonts.googleapis.com (Google Fonts) - cdn.jsdelivr.net (emoji assets) - us.posthog.com (PostHog analytics) - cdn.getkoala.com (Koala analytics) - browser.sentry-cdn.com (Sentry error tracking) - js.sentry-cdn.com (Sentry SDK) Updated domain whitelist table and all CSP configuration examples (Cloudflare, AWS CloudFront, Vercel) to include required domains. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> * Apply suggestions from code review Co-authored-by: Mayank Shouche <[email protected]> * Update guides/csp-configuration.mdx Co-authored-by: Lucas <[email protected]> * Update guides/csp-configuration.mdx * Update CSP examples to match revised domain whitelist - Remove mintlify-assets.b-cdn.net and mintlify.s3-us-west-1.amazonaws.com - Add *.mintcdn.com wildcard domain to img-src and connect-src - Update all configuration examples (main, Cloudflare, AWS CloudFront, Vercel) - Align with reviewer feedback from PR #1202 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> * remove redundancies in examples --------- Co-authored-by: Claude <[email protected]> Co-authored-by: Mayank Shouche <[email protected]> Co-authored-by: Lucas <[email protected]>
1 parent dbf5ce2 commit c6b60fd

File tree

1 file changed

+24
-10
lines changed

1 file changed

+24
-10
lines changed

guides/csp-configuration.mdx

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,27 @@ The following CSP directives are used to control which resources can be loaded:
2323
| Domain | Purpose | CSP directive | Required |
2424
|:-------|:--------|:--------------|:-------|
2525
| `d4tuoctqmanu0.cloudfront.net` | KaTeX CSS, fonts | `style-src`, `font-src` | Required |
26-
| `*.mintlify.dev` | Documentation content | `connect-src` | Required |
26+
| `*.mintlify.dev` | Documentation content | `connect-src`, `frame-src` | Required |
27+
| `*.mintlify.com` | Dashboard, API, analytics proxy | `connect-src` | Required |
28+
| `leaves.mintlify.com` | Assistant API | `connect-src` | Required |
2729
| `d3gk2c5xim1je2.cloudfront.net` | Icons, images, logos | `img-src` | Required |
30+
| `d1ctpt7j8wusba.cloudfront.net` | Mint version and release files | `connect-src` | Required |
31+
| `mintcdn.com` | Images, favicons | `img-src`, `connect-src` | Required |
32+
| `*.mintcdn.com` | Images, favicons | `img-src`, `connect-src` | Required |
33+
| `api.mintlifytrieve.com` | Search API | `connect-src` | Required |
34+
| `cdn.jsdelivr.net` | Emoji assets for OG images | `script-src`, `img-src` | Required |
35+
| `fonts.googleapis.com` | Google Fonts | `style-src`, `font-src` | Optional |
2836
| `www.googletagmanager.com` | Google Analytics/GTM | `script-src`, `connect-src` | Optional |
2937
| `cdn.segment.com` | Segment analytics | `script-src`, `connect-src` | Optional |
3038
| `plausible.io` | Plausible analytics | `script-src`, `connect-src` | Optional |
39+
| `us.posthog.com` | PostHog analytics | `connect-src` | Optional |
40+
| `cdn.getkoala.com` | Koala analytics | `script-src` | Optional |
3141
| `tag.clearbitscripts.com` | Clearbit tracking | `script-src` | Optional |
3242
| `cdn.heapanalytics.com` | Heap analytics | `script-src` | Optional |
3343
| `chat.cdn-plain.com` | Plain chat widget | `script-src` | Optional |
3444
| `chat-assets.frontapp.com` | Front chat widget | `script-src` | Optional |
45+
| `browser.sentry-cdn.com` | Sentry error tracking | `script-src`, `connect-src` | Optional |
46+
| `js.sentry-cdn.com` | Sentry JavaScript SDK | `script-src` | Optional |
3547

3648
## Example CSP configuration
3749

@@ -42,12 +54,14 @@ The following CSP directives are used to control which resources can be loaded:
4254
```text wrap
4355
Content-Security-Policy:
4456
default-src 'self';
45-
script-src 'self' 'unsafe-inline' 'unsafe-eval' www.googletagmanager.com cdn.segment.com plausible.io tag.clearbitscripts.com cdn.heapanalytics.com
46-
chat.cdn-plain.com chat-assets.frontapp.com;
47-
style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net;
48-
font-src 'self' d4tuoctqmanu0.cloudfront.net;
49-
img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net;
50-
connect-src 'self' *.mintlify.dev www.googletagmanager.com cdn.segment.com plausible.io;
57+
script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net www.googletagmanager.com cdn.segment.com plausible.io
58+
us.posthog.com cdn.getkoala.com tag.clearbitscripts.com cdn.heapanalytics.com chat.cdn-plain.com chat-assets.frontapp.com
59+
browser.sentry-cdn.com js.sentry-cdn.com;
60+
style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com;
61+
font-src 'self' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com;
62+
img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net mintcdn.com *.mintcdn.com cdn.jsdelivr.net;
63+
connect-src 'self' *.mintlify.dev *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com
64+
api.mintlifytrieve.com www.googletagmanager.com cdn.segment.com plausible.io us.posthog.com browser.sentry-cdn.com;
5165
frame-src 'self' *.mintlify.dev;
5266
```
5367

@@ -66,7 +80,7 @@ Create a Response Header Transform Rule:
6680
- **Header name**: `Content-Security-Policy`
6781
- **Header value**:
6882
```text wrap
69-
default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net; font-src 'self' d4tuoctqmanu0.cloudfront.net; img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net; connect-src 'self' *.mintlify.dev; frame-src 'self' *.mintlify.dev;
83+
default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; font-src 'self' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net mintcdn.com *.mintcdn.com cdn.jsdelivr.net; connect-src 'self' *.mintlify.dev *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com api.mintlifytrieve.com; frame-src 'self' *.mintlify.dev;
7084
```
7185
4. Deploy your rule.
7286

@@ -81,7 +95,7 @@ Add a response headers policy in CloudFront:
8195
"Config": {
8296
"SecurityHeadersConfig": {
8397
"ContentSecurityPolicy": {
84-
"ContentSecurityPolicy": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net; font-src 'self' d4tuoctqmanu0.cloudfront.net; img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net; connect-src 'self' *.mintlify.dev; frame-src 'self' *.mintlify.dev;",
98+
"ContentSecurityPolicy": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; font-src 'self' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net mintcdn.com *.mintcdn.com cdn.jsdelivr.net; connect-src 'self' *.mintlify.dev *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com api.mintlifytrieve.com; frame-src 'self' *.mintlify.dev;",
8599
"Override": true
86100
}
87101
}
@@ -102,7 +116,7 @@ Add to your `vercel.json`:
102116
"headers": [
103117
{
104118
"key": "Content-Security-Policy",
105-
"value": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net; font-src 'self' d4tuoctqmanu0.cloudfront.net; img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net; connect-src 'self' *.mintlify.dev; frame-src 'self' *.mintlify.dev;"
119+
"value": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' cdn.jsdelivr.net; style-src 'self' 'unsafe-inline' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; font-src 'self' d4tuoctqmanu0.cloudfront.net fonts.googleapis.com; img-src 'self' data: blob: d3gk2c5xim1je2.cloudfront.net mintcdn.com *.mintcdn.com cdn.jsdelivr.net; connect-src 'self' *.mintlify.dev *.mintlify.com d1ctpt7j8wusba.cloudfront.net mintcdn.com *.mintcdn.com api.mintlifytrieve.com; frame-src 'self' *.mintlify.dev;"
106120
}
107121
]
108122
}

0 commit comments

Comments
 (0)