Security

How CRHQ protects your data — encryption, authentication, access control, and server isolation.

CRHQ is designed with security at every layer — from server isolation to credential encryption.

Server Isolation

Each CRHQ instance runs on a dedicated VPS. There's no shared infrastructure between customers:

  • Separate server — Your instance runs on its own machine
  • Separate database — Your data is in its own PostgreSQL database
  • Separate file system — Files are isolated to your server
  • Separate network — Each server has its own IP and SSL certificate

Authentication

User Authentication

  • Session-based — Secure session cookies with httpOnly flag
  • Password hashing — bcrypt with salt
  • Two-factor authentication — TOTP-based 2FA with backup codes
  • Session expiration — Configurable session timeout

API Authentication

  • API keys — For agent-to-service communication
  • Hub keys — For CRHQ Hub sync operations
  • Session tokens — For authenticated API requests

Credential Encryption

Stored credentials (API keys, tokens, passwords) are encrypted using:

  • Algorithm — AES-256-GCM
  • Per-value encryption — Each credential is encrypted independently
  • Server-side only — Decryption only happens on the server, never in the browser
  • Audit logging — Every credential access is logged

Agent Isolation

Agents run as an isolated agent user on the server:

  • Separate Linux user with limited permissions
  • Process isolation from the main application
  • No access to system-level configurations
  • File system access scoped to the working directory

Network Security

  • SSL/TLS — All traffic encrypted with HTTPS
  • Nginx reverse proxy — No direct access to application ports
  • Security headers — HSTS, X-Frame-Options, X-Content-Type-Options
  • Firewall — Only necessary ports exposed (80, 443, SSH)

Data Protection

  • No data sharing — Your data stays on your server
  • No training data — Conversations are not used to train models
  • Backup system — Regular automated backups
  • Version history — All content changes are versioned and recoverable