Skip to main content

Encryption

In transit

All connections to Rivestack databases require SSL/TLS. Unencrypted connections are rejected at the protocol level.
SettingValue
SSL moderequire (enforced)
TLS versionTLS 1.2+
CertificateSigned by trusted public CA
No CA certificate download is needed — standard PostgreSQL clients trust the certificate automatically.
postgresql://user:pass@host:5432/mydb?sslmode=require

At rest

  • Database storage: Encrypted at the volume level on all nodes
  • Backups: Encrypted in S3-compatible object storage
  • WAL archives: Encrypted alongside backups

Network security

Private networking

Database nodes communicate over private networks. Only the load balancer endpoint is exposed to the public internet.

Port access

PortServiceAccess
5432PostgreSQL (primary)Via load balancer
5001Read replicasVia load balancer
5002Sync replicasVia load balancer
5003Async replicasVia load balancer

Authentication

  • Database users: Username/password authentication over SSL
  • Dashboard: Authenticated via Auth0 with email verification
  • API: API key authentication (see API Reference)

Infrastructure

ComponentDetails
ProviderHetzner Cloud
Data centersEU (Falkenstein, Germany), US (Virginia, USA)
Node isolationDedicated VMs per HA cluster
Internal communicationPrivate network between cluster nodes
BackupsStored in S3-compatible object storage, separate from database nodes

Compliance

StandardStatus
GDPREU Central region stores all data within the EU
Encryption in transitEnforced on all connections
Encryption at restAll storage volumes and backups

Reporting vulnerabilities

If you discover a security vulnerability, please report it to [email protected].