Security

JobScout security policy

Report a vulnerability

Email security@jobscout-hq.com (or cory.salisbury@gmail.com) with a clear writeup. Plain text is fine. We acknowledge within 48 hours and triage within 7 days.

What we ask

  • Give us 60 days to fix before public disclosure.
  • Don't access other users' data beyond what's needed to demonstrate the issue.
  • Don't run automated scanners against production at scale. Manual probing + a small set of test accounts is fine.
  • Don't pivot a finding into broader access — if you found a way in, stop and report.

What we promise

  • Good-faith research = safe harbor. We won't pursue legal action against researchers acting within this policy.
  • We acknowledge every credible report and credit researchers (with permission) in our changelog.
  • For high-severity findings (RCE, auth bypass, mass-PII exposure) we offer a thank-you bounty. Email us for details.
  • We share our remediation timeline and ship a fix or a documented mitigation within 30 days for high-severity issues.

Out of scope

  • Vulnerabilities in third-party services we depend on (Firebase Auth, Stripe, Anthropic, Cloudflare, Google Cloud) — please report those to the vendor directly.
  • Self-XSS or social-engineering attacks that require already-compromised user accounts.
  • Reports based solely on missing security headers without a demonstrated attack path.
  • Denial-of-service or volumetric attacks.
  • Vulnerabilities in our marketing pages that don't expose authenticated data.

Security posture

  • HTTPS everywhere with Google-managed certificates and HSTS.
  • Session cookies are HttpOnly + Secure + SameSite=Lax. CSRF mitigated by SameSite + same-origin checks on mutating endpoints.
  • Authentication via Firebase Auth with session-cookie verification on every request.
  • Multi-tenant data isolation enforced at the data-access layer — every read/write requires the session UID.
  • Stripe webhook signatures verified before any mutation.
  • Secrets stored in Google Cloud Run env, never in source.
  • Daily backups via Firestore point-in-time recovery.