Skip to content

Security & 2FA

Dialer.CX includes multiple layers of security to protect your call center operations, customer data, and system credentials. This page covers authentication hardening, encryption, access control, and session management.

System Settings security section showing 2FA policy, session timeout, and password requirements

Dialer.CX supports two 2FA methods for enhanced login security. When enabled, users must provide a second verification factor after entering their password.

The recommended method — works offline and is resistant to email interception:

  1. Go to your account settings
  2. Click Enable 2FA
  3. Scan the QR code with your authenticator app (Google Authenticator, Authy, 1Password, etc.)
  4. Enter the 6-digit verification code to confirm setup
  5. Future logins require your password + a fresh authenticator code

A fallback method for users who do not have an authenticator app configured:

  • A 6-digit verification code is sent to the user’s registered email address
  • The code must be entered within 10 minutes before it expires
  • Automatic fallback when TOTP is not configured for the account

Administrators can manage 2FA across the organization:

  • Force 2FA enrollment for all users — new users are required to set up 2FA on first login
  • Reset 2FA for individual users who have lost their authenticator device
  • View enrollment status — see which users have 2FA enabled and which method they use
  • Exemptions — temporarily exempt specific accounts if needed during onboarding
  • All API keys and third-party credentials are encrypted before storage
  • Encryption is automatic — credentials are encrypted when saved and decrypted only when needed by the application
  • Database-stored secrets (AI provider keys, SMTP passwords, SIP credentials) are never stored in plaintext
  • All web traffic uses HTTPS/TLS — HTTP requests are redirected automatically
  • Browser softphone uses encrypted signaling (TLS) and encrypted voice (SRTP) for all WebRTC calls
  • Email delivery uses STARTTLS encryption when supported by the receiving mail server
  • AMI connections to the PBX use authenticated TCP sessions
  • Call recordings are protected with HMAC-SHA256 signed tokens
  • Tokens are time-limited and expire after 8 hours
  • No sequential IDs are exposed in URLs — each access request requires a cryptographically signed token, preventing enumeration attacks

Four access tiers ensure users only see the pages and data relevant to their responsibilities:

RoleUser LevelAccess
Agent1—4Dashboard, Agent Workspace, Callbacks
Supervisor5—6+ Monitoring, Recordings, Reports, Wallboard
Manager7—8+ Campaigns, Lists, Contacts, Inbound, Operations
Admin9Full access to all features and settings

Access control is enforced at two layers:

  1. Frontend — the sidebar navigation only renders links the user’s role permits
  2. Backend — every API route checks the user’s role from their JWT token and rejects unauthorized requests
  • JWT-based sessions with HS256 signing — tokens cannot be forged without the server secret
  • Sessions expire after 8 hours of inactivity by default (configurable in system settings)
  • Active sessions are tracked in the database and can be revoked immediately by an administrator
  • All login and logout events are recorded in the Login History log with timestamps and IP addresses