Skip to content

Security

Security at
ByteBarker

Every client site we run is isolated by construction. Your data lives in its own application, its own database, and under its own encryption keys. There is no shared data plane for a bug to leak across.

Isolation by architecture,
not policy

Most platforms put every customer's data in shared tables and rely on query filters to keep it apart. We do not. Each ByteBarker client runs as:

  • A dedicated application instance.

    One compiled binary per client, serving only that client's site. Requests for your domain are answered only by your instance.

  • A dedicated database.

    No shared tables, no customer ID columns, no cross-client query paths. The entire class of "another customer saw my data" bugs is structurally impossible, not merely tested for.

Encryption in depth

  • Field-level encryption.

    Sensitive fields such as client contact details are encrypted at the application layer with AES-256-GCM under keys unique to each client before they ever reach the database. For these fields, the database only ever stores ciphertext.

  • Encryption at rest.

    Database storage sits on encrypted volumes.

  • Encryption in transit.

    All traffic is served over TLS; internal database connections are TLS with certificate verification.

  • Key discipline.

    Encryption keys are vault-managed, never stored in code or configuration files, and every client's keys are distinct, so no key opens more than one client's data.

Your data
stays yours

  • Because each client has a complete, self-contained database, exporting your full dataset or deleting it entirely is a first-class operation, not a best-effort extraction from shared storage.
  • Backups are taken automatically and are restorable per client: recovering your data never requires touching anyone else's.

How we build

  • Every change runs a gated pipeline before it can reach production: automated tests, race detection, static analysis, and code quality gates.
  • Automated security scanning runs on a recurring schedule across the stack: dependency vulnerability audits, secret-leak detection, and Go and JavaScript security linters.
  • Secrets never live in the codebase. They are injected from a managed vault at deploy time and rotated when needed.

Verifiable by design

We believe security claims should be verifiable, not taken on trust. Our isolation guarantees hold by architecture rather than by promise, and we are glad to walk any prospective client through exactly how it works. For engagements that call for formal attestations such as SOC 2, we are happy to discuss the specific requirements.

Questions about our security posture? Get in touch.