Year

2026

Healthcare · Therapy SaaS

Duration

12+

Encryption at rest

AES-256-GCM via a single EncryptionService, shared across messages, therapist notes, and Daily-room join payloads. Round-trip + tamper-detection unit tests.

TRS overview

Sensitive payloads are never persisted in cleartext. The api ships an EncryptionService keyed by a single ENCRYPTION_KEY env, used by MessageService for chat bodies, NotesService for therapist notes, and the join-payload service for video-room links. The same service is wired with round-trip and tamper-detection tests; rotating the key is a runbook step rather than a code change. Combined with Stripe-signed raw-body webhook verification and JWT-signed upload / download tokens, the data plane stays defensible even if the database is leaked.

Mechanics
  • AES-256-GCM, single env-keyed service.
  • Used by chat, notes, and video-room join-payloads.
  • Tamper-detection + round-trip tests in CI.
  • Rotation = runbook, not code.
  • JWT-signed upload / download tokens for resources.
More deep dives

Got something
this size?

Big ambitions, we match the energy. Drop a brief — reply within one working day.