Security and privacy

  • Tenant isolation is enforced in every query by workspace id; permissions are evaluated server-side and deny by default.
  • Passwords use Argon2id; secrets at rest are sealed with the server encryption key; invitation and attempt tokens are stored hashed.
  • Rate limits and failure budgets protect sign-in, password and invitation guessing, uploads and AI calls.
  • Uploads are sniffed, allow-listed, size-limited, optionally scanned with ClamAV and served through signed proxy links.
  • Personal data in results is masked in exports and aggregates; small cohorts are suppressed; 360° feedback responses are never attributable to a rater.
  • Account deletion queues a purge job; audit events are append-only.
  • Backups are encrypted and verified; see the operations runbooks in the repository.