This report is designed to be parsed by AI coding assistants. Copy this entire report and paste it to your AI agent with: "Fix these security issues"
Target: https://www.indietools.app Scanned: 2026-02-02T06:11:21.581Z Grade: C (60/100)
- ID: missing-content-security-policy
- Category: Security Headers
- Description: CSP prevents XSS attacks by controlling which resources can be loaded
- Fix: Add header: Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'
- ID: missing-x-frame-options
- Category: Security Headers
- Description: Prevents clickjacking by controlling if the site can be embedded in iframes
- Fix: Add header: X-Frame-Options: DENY (or SAMEORIGIN if you need iframes)
- ID: missing-x-content-type-options
- Category: Security Headers
- Description: Prevents MIME-type sniffing attacks
- Fix: Add header: X-Content-Type-Options: nosniff
- ID: missing-referrer-policy
- Category: Security Headers
- Description: Controls how much referrer information is sent with requests
- Fix: Add header: Referrer-Policy: strict-origin-when-cross-origin
- ID: missing-permissions-policy
- Category: Security Headers
- Description: Controls which browser features the site can use
- Fix: Add header: Permissions-Policy: geolocation=(), microphone=(), camera=()
- ID: missing-x-xss-protection
- Category: Security Headers
- Description: Legacy XSS filter (deprecated but still useful for older browsers)
- Fix: Add header: X-XSS-Protection: 1; mode=block
- ID: server-x-powered-by
- Category: Information Disclosure
- Description: Server reveals: Next.js. This helps attackers target known vulnerabilities.
- Fix: Remove X-Powered-By header. In PHP: Header("X-Powered-By: "); In Express: app.disable("x-powered-by")
- ID: dns-no-spf
- Category: Email Security
- Description: Without SPF, anyone can send emails pretending to be from your domain. This is like having no caller ID on your phone. (Your domain has no MX records, so this is lower priority.)
- Fix: Add a TXT record to your DNS: v=spf1 include:_spf.google.com ~all (adjust based on your email provider)
- ID: dns-no-dmarc
- Category: Email Security
- Description: DMARC tells email servers what to do when SPF/DKIM checks fail. Without it, spoofed emails may still be delivered. (Your domain has no MX records, so this is lower priority.)
- Fix: Add a TXT record for _dmarc.www.indietools.app: v=DMARC1; p=quarantine; rua=mailto:[email protected]
- ID: robots-sensitive-paths
- Category: Information Disclosure
- Description: Found 1 potentially sensitive paths: /dashboard/
- Fix: While hiding paths in robots.txt is not a security measure, be aware that this reveals your directory structure to attackers. Ensure these paths are properly secured.
- Grade: C
- Score: 50/100
- Tests Passed: 7
- Tests Failed: 3
- Full Report: https://developer.mozilla.org/en-US/observatory/analyze?host=www.indietools.app
These tools require manual verification:
Confidence: medium
Our scan found issues that external tools did not flag (they may check different things).
Issues found by our scan:
- Missing Content-Security-Policy header
- Missing X-Frame-Options header
- Missing X-Content-Type-Options header
- X-Powered-By header exposes technology stack
- Vercel (hosting)
- Next.js (framework)
- WordPress (cms)
- Webflow (cms)
- Ghost (cms)
Address issues in this order:
- CRITICAL - Fix immediately (security breach risk)
- HIGH - Fix soon (significant vulnerability)
- MEDIUM - Fix when possible (best practice)
- LOW - Nice to have (hardening)
This scanner cannot test the following. Consider reviewing manually:
- Rate Limiting - Does your login/API have limits to prevent brute force attacks?
- Input Sanitization - Are user inputs cleaned before display? (prevents XSS attacks)
- Business Logic on Backend - Are sensitive operations (auth, payments, validation) on the server, not in client-side JS?
- SQL Injection - If you use a database, are queries parameterized?
- Authentication Flow - Are sessions/tokens handled securely?
Tip: Ask your AI agent to audit these areas in your codebase.
To fix these issues:
- Start with CRITICAL and HIGH severity issues
- For each issue, implement the fix described
- Test the fix locally before deploying
- After deploying, the user should re-scan to verify
Domain: www.indietools.app Total Issues: 10 Critical: 0, High: 0, Medium: 4, Low: 6