BAPC saryasa

Security

How saryasa protects your accounts, your code and the results it reports. To report a vulnerability, write to support@bapc.app.

Accounts

  • Passwords are stored only as scrypt hashes. Repeated failed sign-ins are slowed down and then locked for a while.
  • Two-step sign-in with an authenticator app and single-use recovery codes. Organizations can require it for every member.
  • Sessions are held in a secure, HTTP-only cookie and end after inactivity; every change also needs a per-session security token, which blocks cross-site request forgery.
  • You are told by email when a new device signs in, and can end any session from your account.

Organizations and access

  • Each organization's data is separated in the database by row-level security, not only by the application.
  • Five roles decide who may do what, and every request is checked on the server.
  • Important actions are written to an audit log with who, what and when.

Code and reviews

  • Protected branches take changes only through merge requests with approvals on the latest commit.
  • Changes written by AI always need a human approval before they can be merged.
  • Commits that look like they add credentials are blocked, and projects can be scanned for secrets, vulnerable dependencies, licences and sensitive data.

Builds and tests

  • Jobs run in gVisor sandboxes with limits on time, CPU and memory, on a pinned commit.
  • Dependency downloads go through a proxy that allows only listed package registries over HTTPS and refuses private and internal addresses.
  • Logs are scrubbed of secrets before they are stored and again before they are shown.
  • Results are signed with an Ed25519 key; exported test runs include the signature and the public key to check it.

This website

  • HTTPS only, with a strict content security policy and no inline scripts.
  • Only the cookies sign-in needs. See the Privacy notice.