Security Audit
Rule: A ✗ FAIL is a blocker — do not deploy. A ⚠ WARN is a conversation — review and decide.
Steps
Run the automated audit:
bash ~/.claude/skills/security-audit/scripts/audit.shFix every
✗ FAILbefore continuing — no exceptionsReview each
⚠ WARNmanually — decide if acceptable for this specific deployManual checklist (cannot be automated):
- All public endpoints are intentional and documented
- JWT secret is strong (32+ random chars, not a word or phrase)
- CORS origins match actual frontend URLs for this environment
- Rate limiting thresholds make sense for expected traffic volume
- No sensitive data written to logs (passwords, full tokens, PII)
Re-run after fixing to confirm clean pass before deploying