2. Technical Security Measures
•
HTTPS / TLS encryption for all traffic, with HSTS preload (max-age 1 year, includeSubDomains)
•
Strict Content Security Policy (CSP) with default-src 'none' on API responses
•
Strict-Origin-When-Cross-Origin Referrer-Policy and noindex on admin paths
•
Permissions-Policy disabling camera, microphone, geolocation, payment, USB, and FLoC
•
Server-side input validation, length clamping, and HTML escaping on every form field
•
Honeypot field and submission-timing analysis to filter automated spam
•
Per-IP rate limiting (60 req/min general; 5 submissions per 10 min on forms; 10 admin login attempts per 15 min)
•
Progressive slow-down on repeated admin login attempts to deter brute-force
•
Body-size guard rejecting payloads over 16 KB before parsing (anti-zip-bomb)
•
Origin/Referer validation on sensitive endpoints as a CSRF backstop
•
CSRF tokens required for authenticated admin actions
•
Argon2id password hashing for admin credentials (memory-hard, modern KDF)
•
Postgres-backed sessions with httpOnly, secure, sameSite=lax cookies and 8-hour expiry
•
Re-authentication required for destructive admin actions (15-minute window)
•
Active blocklist of known scanner user-agents and exploit-probe paths
•
Slowloris protection via 30-second idle socket timeout
•
Daily outbound email quota cap to limit abuse blast-radius
•
No leaked stack traces or internal error details in API responses
•
Optional Cloudflare Turnstile bot verification (configurable via environment variable)