Skip to content

Harden application, database, and deployment security - #150

Merged
vezcode merged 1 commit into
mainfrom
vezi/full-production-hardening
Aug 9, 2026
Merged

Harden application, database, and deployment security#150
vezcode merged 1 commit into
mainfrom
vezi/full-production-hardening

Conversation

@vezcode

@vezcode vezcode commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator

What changed

  • upgrades DOMPurify and React Router past open security advisories and removes all npm audit findings
  • removes CI vulnerability bypasses, enables real dependency review and bundle-size gates
  • separates Node API and public PostgREST database credentials and networks
  • pins container images, adds health checks, a strict Docker build context and GET-only public REST enforcement
  • fails closed on missing production Turnstile/Resend configuration and originless browser API calls
  • adds withdrawal-data anonymization, updates privacy text and fixes database provisioning/RLS order
  • removes 69 obsolete public migrations containing unsafe historical defaults
  • adds proprietary licensing, security.txt, CODEOWNERS and deployment commit-race protection

Why

The production review found active dependency advisories, CI exceptions for those advisories, shared database credentials, unnecessary network exposure, a fail-open production configuration, stale public migrations and retention gaps.

Verification

  • ESLint and TypeScript passed
  • 115 Vitest tests passed
  • backend/CSP/SEO script tests passed
  • Chromium E2E: 12 passed
  • Firefox E2E: 12 passed
  • production build and six bundle budgets passed
  • root and backend npm audits: 0 vulnerabilities
  • Compose YAML, shell syntax, Node syntax and Git whitespace checks passed

Deployment note

Apply deploy/hetzner/migrations/20260809210000_anonymize_withdrawn_newsletter.sql after a verified backup. Configure different API_DATABASE_URL and POSTGREST_DATABASE_URL credentials before removing the documented compatibility fallback.

@vezcode
vezcode force-pushed the vezi/full-production-hardening branch from b3a2963 to 1df8903 Compare August 9, 2026 19:09
@vezcode
vezcode marked this pull request as ready for review August 9, 2026 19:13
@vezcode
vezcode merged commit bba989e into main Aug 9, 2026
6 checks passed
@vezcode
vezcode deleted the vezi/full-production-hardening branch August 9, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant