example.com (a public demo domain we don't own or operate), captured once and shown here so you can see everything a paid report includes. Results for your site will differ.Scan your own site →Sample deep report: example.com
Scanned Thu, 15 Oct 2026 21:24:57 GMT
🤖 Fix prompt for Cursor / Claude / Lovable / Bolt
Open your project in Cursor, Claude Code, Lovable or Bolt, paste this in, and let it work through the list. On WordPress, Shopify or another hosted platform, paste it into any AI assistant for step-by-step settings.
You are a senior engineer helping me get my website/web app launch-ready. A ChillScan scan of https://example.com/ found the issues below. Fix them in this codebase. Rules: - Work through them in order (most severe first). For each, find where in the code it originates, make the change, and briefly explain what you changed. - For any exposed secret: remove it from all client-side code, move the API call into a server-only route/function that reads the key from an environment variable, and remind me to ROTATE the key (removing it from code is not enough — it's already public). - Security headers: add them in the framework or host config (e.g. next.config.js `headers()`, vercel.json, netlify.toml, _headers, middleware, .htaccess/nginx, or Cloudflare rules) rather than per page. If this is a hosted platform (WordPress, Shopify, Webflow, Squarespace) where I can't edit server config, tell me which settings, plugins or CDN rules to use instead. - SEO: use the framework's metadata API where available (Next.js `metadata` export, app/robots.ts, app/sitemap.ts). - Don't break existing functionality; if a fix needs a decision from me (e.g. which domains to allow in the CSP), ask instead of guessing. Findings: 1. [MEDIUM] No Content-Security-Policy Problem: Without a CSP, any injected script (XSS) can run freely and send your users' data anywhere. Fix: Add a Content-Security-Policy header. Start with `default-src 'self'` plus the domains you actually load from, or use report-only mode first. 2. [MEDIUM] No HSTS header Problem: Browsers may still try plain HTTP first, opening a window for downgrade attacks. Fix: Send `Strict-Transport-Security: max-age=63072000; includeSubDomains; preload`. 3. [MEDIUM] Page can be embedded in iframes (clickjacking) Problem: No X-Frame-Options or CSP frame-ancestors, so another site could overlay your UI and trick users into clicking. Fix: Add `X-Frame-Options: DENY` (or `Content-Security-Policy: frame-ancestors 'self'`). 4. [MEDIUM] Missing meta description Problem: Google will improvise a snippet from page text, which usually converts worse. Fix: Add `<meta name="description" content="…">` with 70–160 characters. 5. [MEDIUM] Missing Open Graph tags: og:title, og:description, og:image Problem: Links shared on X, LinkedIn, Slack, and iMessage will look bare with no preview card. Fix: Add og:title, og:description and a 1200×630 og:image (Next.js: `metadata.openGraph`; WordPress: an SEO plugin like Yoast; Shopify: theme social sharing settings). 6. [LOW] Missing X-Content-Type-Options Problem: Browsers may MIME-sniff responses into executable types. Fix: Add `X-Content-Type-Options: nosniff`. 7. [LOW] Missing Referrer-Policy Problem: Full URLs (which may contain tokens or IDs) can leak to third-party sites via the Referer header. Fix: Add `Referrer-Policy: strict-origin-when-cross-origin`. 8. [LOW] No <h1> heading in HTML Problem: Search engines use the H1 to understand the page topic. (If your page renders only in JS, crawlers may see an empty page.) Fix: Add one clear <h1> and consider server-side rendering for key pages. 9. [LOW] No robots.txt Problem: Crawlers have no guidance, and you can't point them to your sitemap. Fix: Add /robots.txt (Next.js: app/robots.ts) with `Sitemap: https://yourdomain.com/sitemap.xml`. 10. [LOW] No sitemap.xml Problem: Search engines discover pages more slowly without a sitemap. Fix: Generate /sitemap.xml (Next.js: app/sitemap.ts) and submit it in Google Search Console. When done, list every file you changed and anything I must do manually (rotate keys, set env vars, DNS/host settings).
Exposed secrets (0)
✓ No issues found.
HTTPS, redirects & cookies (0)
✓ No issues found.
Security headers (6)
No Content-Security-Policy
Without a CSP, any injected script (XSS) can run freely and send your users' data anywhere.
Fix: Add a Content-Security-Policy header. Start with `default-src 'self'` plus the domains you actually load from, or use report-only mode first.
No HSTS header
Browsers may still try plain HTTP first, opening a window for downgrade attacks.
Fix: Send `Strict-Transport-Security: max-age=63072000; includeSubDomains; preload`.
Page can be embedded in iframes (clickjacking)
No X-Frame-Options or CSP frame-ancestors, so another site could overlay your UI and trick users into clicking.
Fix: Add `X-Frame-Options: DENY` (or `Content-Security-Policy: frame-ancestors 'self'`).
Missing X-Content-Type-Options
Browsers may MIME-sniff responses into executable types.
Fix: Add `X-Content-Type-Options: nosniff`.
Missing Referrer-Policy
Full URLs (which may contain tokens or IDs) can leak to third-party sites via the Referer header.
Fix: Add `Referrer-Policy: strict-origin-when-cross-origin`.
Missing Permissions-Policy
You aren't restricting browser features like camera, mic, or geolocation.
Fix: Add e.g. `Permissions-Policy: camera=(), microphone=(), geolocation=()`.
SEO (6)
Missing meta description
Google will improvise a snippet from page text, which usually converts worse.
Fix: Add `<meta name="description" content="…">` with 70–160 characters.
Missing Open Graph tags: og:title, og:description, og:image
Links shared on X, LinkedIn, Slack, and iMessage will look bare with no preview card.
Fix: Add og:title, og:description and a 1200×630 og:image (Next.js: `metadata.openGraph`; WordPress: an SEO plugin like Yoast; Shopify: theme social sharing settings).
No <h1> heading in HTML
Search engines use the H1 to understand the page topic. (If your page renders only in JS, crawlers may see an empty page.)
Fix: Add one clear <h1> and consider server-side rendering for key pages.
No robots.txt
Crawlers have no guidance, and you can't point them to your sitemap.
Fix: Add /robots.txt (Next.js: app/robots.ts) with `Sitemap: https://yourdomain.com/sitemap.xml`.
No sitemap.xml
Search engines discover pages more slowly without a sitemap.
Fix: Generate /sitemap.xml (Next.js: app/sitemap.ts) and submit it in Google Search Console.
No canonical URL
Duplicate URLs (with/without www, query params) may split ranking.
Fix: Add `<link rel="canonical" href="https://yourdomain.com/">`.
Performance (1)
Lightweight page (2 KB, 97ms)
Page weight and response time look healthy.
Fix: Keep an eye on bundle size as you add features.
Deep Scan $12 one-time · Pricing