Deploy to Production / Build & Verify (push) Failing after 5m56s
Ping Search Engines / Notify Search Engines (push) Successful in 2s
Deploy to Production / Pre-Deploy Tests (push) Has been skipped
Deploy to Production / Deploy to Railway (push) Has been skipped
Deploy to Production / Deploy to Render (push) Has been skipped
Deploy to Production / Deploy to VPS (PM2) (push) Has been skipped
Deploy to Production / Deploy to Fly.io (push) Has been skipped
Deploy to Production / Post-Deploy Verification (push) Has been skipped
Deploy to Production / Notify on Failure (push) Successful in 2s
E2E Test Suite / Critical User Journeys (push) Has been skipped
E2E Test Suite / API Integration Tests (push) Has been skipped
E2E Test Suite / Smoke Tests (P0) (push) Failing after 11m26s
E2E Test Suite / Form Interaction Tests (push) Failing after 11m42s
E2E Test Suite / Destructive & Chaos Tests (push) Failing after 12m2s
E2E Test Suite / Cross-Browser Regression (chromium) (push) Failing after 16m14s
E2E Test Suite / Cross-Browser Regression (webkit) (push) Failing after 17m45s
E2E Test Suite / Cross-Browser Regression (firefox) (push) Failing after 25m23s
E2E Test Suite / Security Header Tests (push) Failing after 7m55s
E2E Test Suite / Test Report Summary (push) Failing after 20s
E2E Test Suite / Mobile Device Tests (push) Failing after 2h49m9s
Uptime Monitor / Health & Response Time (push) Failing after 2s
Uptime Monitor / SSL Certificate (push) Successful in 2s
Uptime Monitor / Send Alerts (push) Failing after 3s
Uptime Monitor / Record Uptime Success (push) Has been skipped
8.8 KiB
8.8 KiB
Security Checklist for WorkRoot IT Solutions
Quick reference guide for security best practices and deployment checklist
Pre-Deployment Security Checklist
✅ Domain Configuration
- All references use
workroot.in(notworkroot.com) - Canonical URLs point to
https://workroot.in - Sitemap uses correct domain
- Structured data (JSON-LD) uses correct domain
- Open Graph tags use correct domain
- Domain validation in middleware
- DNS CAA record configured (optional)
- HSTS preload submitted (optional)
✅ Security Headers
- Content-Security-Policy (CSP) configured
- X-Frame-Options: DENY
- X-Content-Type-Options: nosniff
- Referrer-Policy: strict-origin-when-cross-origin
- Permissions-Policy configured
- Strict-Transport-Security (HSTS) for production
- X-Permitted-Cross-Domain-Policies: none
- X-DNS-Prefetch-Control: on
✅ HTTPS & Certificates
- Valid SSL/TLS certificate installed
- Certificate auto-renewal configured
- HSTS enabled (max-age=31536000)
- HTTP to HTTPS redirect configured
- Certificate covers www subdomain (if used)
✅ API Security
- CORS headers configured for API endpoints
- API endpoints use HTTPS only
- Rate limiting implemented (if accepting POST requests)
- API authentication configured (if needed)
- Input validation on all endpoints (when backend added)
- Error messages don't leak sensitive info
✅ Dependencies
npm auditrun and vulnerabilities fixed- Dependencies up to date (
npm outdated) package-lock.jsoncommitted- Automated dependency scanning enabled (Dependabot/Snyk)
- Regular security updates scheduled
✅ Environment Variables
.envfile in.gitignore- No secrets in source code
.env.exampleprovided (no sensitive values)- Production environment variables set on hosting platform
- Secrets manager used for sensitive data (if needed)
✅ External Resources
- CSP whitelists only trusted domains
- External resources use
crossoriginattribute - DNS prefetch/preconnect for external domains
- Subresource Integrity (SRI) for external scripts (if any)
- Self-hosting considered for critical resources
✅ Content Security
- XSS prevention via Astro template escaping
- CSRF protection (when forms submit to backend)
- Input sanitization (when backend added)
- SQL injection prevention (N/A - no database)
- File upload validation (if implemented)
✅ Monitoring & Logging
- Security logging middleware enabled
- Error tracking configured (Sentry, etc.)
- Access logs monitored
- Anomaly detection configured
- Incident response plan documented
Deployment Checklist
Before Going Live
- Run
npm run buildsuccessfully - Run
npm auditand fix vulnerabilities - Test security headers (see Testing section below)
- Verify HTTPS certificate installed
- Check all environment variables set
- Review CORS configuration
- Test contact form (when backend added)
- Verify domain redirects (workroot.com → workroot.in if needed)
- Run Playwright security tests:
npm run test - Check CSP violations in browser console
After Deployment
- Test site at
https://workroot.in - Verify security headers:
curl -I https://workroot.in - Test with SecurityHeaders.com
- Test with SSL Labs: https://www.ssllabs.com/ssltest/
- Verify sitemap accessible:
https://workroot.in/sitemap.xml - Test structured data with Google Rich Results Test
- Monitor error logs for issues
- Verify all API endpoints working
- Test on multiple browsers/devices
- Document any deployment-specific configurations
Testing Security Headers
Manual Testing
# Test security headers
curl -I https://workroot.in
# Test API endpoint
curl https://workroot.in/api/health.json
# Test sitemap
curl https://workroot.in/sitemap.xml
Expected Headers
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; ...
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Automated Testing
# Run Playwright security tests
npm run test tests/security-headers.test.ts
# Run all tests
npm run test
Online Security Scanners
-
SecurityHeaders.com
- URL: https://securityheaders.com/?q=https://workroot.in
- Expected: A+ grade
-
SSL Labs
- URL: https://www.ssllabs.com/ssltest/analyze.html?d=workroot.in
- Expected: A or A+ grade
-
CSP Evaluator
- URL: https://csp-evaluator.withgoogle.com/
- Paste CSP header from site
-
Mozilla Observatory
- URL: https://observatory.mozilla.org/
- Expected: A or A+ grade
Regular Maintenance Tasks
Weekly
- Monitor error logs
- Check for failed security events
- Review access patterns
Monthly
- Run
npm audit - Update dependencies:
npm update - Review security logs
- Test security headers still present
- Check certificate expiry date
Quarterly
- Full security audit
- Update SECURITY-AUDIT.md
- Review and update security policies
- Penetration testing (if applicable)
- Review incident response plan
- Update dependency versions
Annually
- Comprehensive security review
- Update security documentation
- Review access controls
- Update SSL/TLS certificate (if not auto-renewing)
- Review OWASP Top 10 compliance
Common Security Issues & Fixes
Issue: CSP Violations in Console
Solution:
- Open browser DevTools → Console
- Identify blocked resource
- If legitimate, add to CSP in
src/middleware.ts:const csp = [ // Add new domain to appropriate directive "img-src 'self' data: https: https://new-domain.com", ].join('; '); - Rebuild and redeploy
Issue: Mixed Content Warnings
Solution:
- Ensure all resources use HTTPS
- Update any HTTP URLs to HTTPS
- CSP
upgrade-insecure-requestswill auto-upgrade - Check external resources (images, fonts, scripts)
Issue: CORS Errors on API
Solution:
- Verify
Access-Control-Allow-Originheader in API route - Check request origin matches allowed origin
- For development, add localhost to allowed origins:
const origin = isDevelopment ? '*' : 'https://workroot.in'; headers.set('Access-Control-Allow-Origin', origin);
Issue: npm audit Vulnerabilities
Solution:
# Try automatic fix
npm audit fix
# If that doesn't work, fix manually
npm audit fix --force
# Or update specific package
npm update package-name
# Last resort: update to breaking changes
npm install package-name@latest
Issue: Certificate Expiry
Solution:
- Renew certificate before expiry (auto-renewal preferred)
- Verify certificate includes all domains (including www)
- Test after renewal:
curl -I https://workroot.in - Check SSL Labs score
Incident Response
If Security Issue Detected
-
Assess Severity
- Critical: Data breach, site defacement
- High: Authentication bypass, XSS
- Medium: Information disclosure
- Low: Security header missing
-
Immediate Actions
- Document the issue
- Notify team lead
- If critical: Take site offline
- Block malicious IPs (if applicable)
- Preserve logs for investigation
-
Investigation
- Review access logs
- Check git history
- Identify attack vector
- Assess damage/exposure
-
Remediation
- Fix vulnerability
- Update dependencies
- Deploy patch
- Reset credentials (if compromised)
- Clear caches
-
Post-Incident
- Document findings
- Update security measures
- Notify affected users (if applicable)
- Review and improve processes
- Update this checklist
Security Contacts
Internal Security Lead: [Your Name] Email: security@workroot.in Incident Reporting: Create issue at [GitHub repo] Emergency Contact: [Phone number]
Resources
Documentation
- SECURITY-AUDIT.md - Full security audit report
- Astro Security Guide
- OWASP Top 10
Tools
- npm audit
- Snyk - Dependency scanning
- Dependabot - Auto dependency updates
- SecurityHeaders.com
- SSL Labs
Security Standards
- OWASP Top 10 (2025)
- CWE Top 25
- MITRE ATT&CK Framework
- NIST Cybersecurity Framework
Last Updated: 2026-03-21 Next Review: 2026-06-21 Version: 1.0