Skip to main content

Security & Privacy

Your Data is Protected

We use industry-standard encryption to protect all sensitive data. Your private keys and credentials are never stored in plaintext.

Encryption Details

Data TypeFormatProtection
Signer Private KeyHex stringFernet AES-128-CBC + HMAC-SHA256
API CredentialsJSON key/secretFernet AES-128-CBC + HMAC-SHA256
Wallet AddressPublic addressStored as-is (public info)
Trade HistoryRelational DBUser-scoped row isolation
SettingsRelational DBUser-scoped row isolation
JWT TokensSigned tokenHS256 signed, 24h expiry
WebSocketBinary streamTLS 1.3 encrypted

Fernet encryption combines AES-128-CBC with HMAC-SHA256 for authenticated encryption. Keys are stored in environment variables, never in code or logs.

What We NEVER Have Access To

  • Your main wallet's private key
  • Your seed phrase / recovery phrase
  • Ability to withdraw your funds
  • Other users' data or credentials

User Isolation

Every user's data is completely isolated:

  • Separate signer wallets -- your signer only works for you
  • User ID scoping -- all DB records tagged with user_id
  • JWT authentication -- tokens scoped to individual users
  • API isolation -- no endpoint can access another user's data

What We Store

DataStorageEncryption
Wallet AddressPostgreSQLNone (public)
Signer Private KeyEncrypted fileFernet AES-128-CBC
Trading PreferencesPostgreSQLNone (non-sensitive)
Trade HistoryPostgreSQLUser-isolated rows
DEX API KeysEncrypted fileFernet AES-128-CBC

Infrastructure Security

  • HTTPS/TLS encryption for all API traffic
  • Server firewall with minimal open ports
  • No plaintext secrets in code or logs
  • Audit logging for sensitive operations
  • Regular security reviews