Security

Concrete practices, not a badge wall

Briefwynd is a small product with a small, well-lit attack surface. Here is exactly how it is protected.

Transport and storage

  • All traffic is HTTPS; HTTP never serves content.
  • Passwords are hashed with scrypt and a per-user salt; we cannot read them and never store them in plain text.
  • Sessions are signed JSON Web Tokens with a 30 day cap, invalidated by sign-out.

Provider keys stay server-side

  • Model and voice provider keys (OpenAI, Anthropic, ElevenLabs) live only in server environment variables and are used only inside server routes.
  • No provider key, prompt, or raw provider response ever reaches the browser.
  • Audio synthesis endpoints only voice text already stored server-side, so they cannot be repurposed as open synthesis.

Abuse limits

  • The public demo is rate limited per connection for both composition and audio, with caps documented on the demo itself.
  • Weekly brief allowances are metered server-side, where composition happens, never in the client.
  • Form endpoints are validated with schemas and rate limited.

Your controls

  • Export your full account as JSON from Settings, self-serve.
  • Deletion is a real cascade: account, shows, episodes, and counters, immediately.
  • Google sign-in is optional; email plus password always works, with verification and reset flows.

Found something? Write to security@briefwynd.com. Good-faith reports get a reply within two business days, a fix timeline, and public credit in the changelog if you want it.