Skip to content

Security: zebbern/Sentris

Security

SECURITY.md

Security Policy

We take security and user trust seriously. Please use the private channels below to report vulnerabilities so we can assess and remediate before public disclosure.

Reporting a Vulnerability

  • Preferred: Open a private advisory via GitHub’s “Report a vulnerability” link for this repository.
  • Alternative: Email z_r@tuta.com with a clear subject (e.g., Vulnerability report: <area>).

Please include:

  • Affected area (frontend, backend, worker, shared package) and commit/branch if known.
  • Reproduction steps or proof-of-concept.
  • Impact assessment (confidentiality/integrity/availability) and any prerequisites.
  • Suggested fixes or mitigations if you have them.

We aim to acknowledge new reports within 3 business days and provide an initial remediation plan or timeline within 10 business days.

Scope & Expectations

  • Do not test against production data you do not own. Avoid actions that degrade availability.
  • Respect privacy and data integrity; use test tenants/accounts where possible.
  • No bounties are currently offered; coordinated disclosure credit is provided in release notes when applicable.

Handling Secrets

  • Never include real secrets or tokens in issues, PRs, or logs. Use .env.example for new configuration keys and follow existing patterns for secret management.

Security Hardening

  • Timing-safe token comparison: Internal service authentication in auth.guard.ts uses crypto.timingSafeEqual to prevent timing side-channel attacks when comparing bearer tokens.
  • Rate limiting: @nestjs/throttler with Redis storage enforces per-controller request limits (e.g., secrets 30/min, API keys 20/min, inbound webhooks 60/min) to mitigate brute-force and abuse.

There aren't any published security advisories