Live Chat Security
Encrypted at rest.
Hardened at every layer.
Visitor data encrypted with AES-256-GCM, passwords hashed with Argon2ID, sessions protected by a two-token architecture with rotation. Every API call signed, every action logged.
Encryption at rest
Sensitive data encrypted before it hits the database.
Visitor PII — names, emails, phone numbers — is encrypted with AES-256-GCM before storage. Versioned keys support rotation without re-encrypting existing data.
AES-256-GCM
Authenticated encryption with random 16-byte IVs per record. GCM mode provides both confidentiality and tamper detection.
Versioned keys
Encryption keys are versioned and stored outside the database. Key rotation doesn't require bulk re-encryption — old versions decrypt existing data while new data uses the latest key.
PII isolation
Only sensitive visitor fields are encrypted — not message content. This keeps full-text search and analytics functional without exposing identity data.
Authentication
Four ways in. One standard of security.
Every authentication method uses the same two-token session architecture underneath.
Password
Argon2ID
Memory-hard hash with auto-upgrade from legacy bcrypt
Two-factor
TOTP
Google Authenticator compatible with encrypted backup codes
Passkeys
WebAuthn
FIDO2 hardware and biometric authentication with 5-minute challenge window
Magic links
One-time token
15-minute expiry, atomic consumption, no replay possible
Session architecture
Two-token rotation with replay detection.
Sessions use a short-lived access token paired with a rotating refresh token. Reuse of an old refresh token revokes the entire token family.
- 1-hour TTL, auto-refreshed
- 256-bit cryptographic random
- SHA-256 hashed before storage
- In-memory cache for sub-millisecond validation
- 24-hour TTL (30 days with remember-me)
- Rotated on every use
- 60-second grace window for concurrent requests
- Token family tracking detects replay attacks
API security
Scoped keys. Signed requests. Rate limited.
API keys are encrypted at rest and scoped to specific permissions. Every webhook delivery is HMAC-signed. Abuse protection is built in at every level.
- Publishable and secret keys with distinct prefixes
- 6 granular scopes: chats, visitors, team, webhooks
- Secret keys encrypted with AES-256-GCM before storage
- Per-key and per-user rate limiting
- Key rotation, revocation, and expiration support
- Full audit trail: created, rotated, revoked with actor and IP
Webhook signatures
Every delivery signed with HMAC-SHA-256. Header: X-Helpr-Signature. Constant-time verification recommended. Auto-disabled after 100 consecutive failures.
Rate limiting
Login: 5 attempts per 10 seconds. Registration: 3 per minute. API: configurable per-key RPM with X-RateLimit headers. Second-precision sliding windows.
Audit trail
Every action logged. Every session tracked.
Security events, session history, and API key lifecycle are logged with actor, IP, device, and timestamp. New-IP login detection triggers email alerts.
- Login attempts (valid, invalid, 2FA failures)
- Password changes and passkey enrollments
- API key creation, rotation, and revocation
- Active session monitoring with device and location
- Per-session revocation (individual or all)
- First-time IP detection with email notification
- Account deletion with PII anonymization
Session monitoring
Every active session shows device, browser, OS, IP, location, ISP, and last activity. Agents can revoke any session individually or all at once.
GDPR compliance
Account deletion soft-deletes and anonymizes PII. Audit trail preserved with redacted identifiers. No ghost data.
Visual Assist
Co-browse security is a different beast.
Visual Assist uses end-to-end ECDH + AES-256-GCM encryption where even our servers can't see the visitor's page. No session recording. Zero knowledge.
Visual Assist (Co-browse) securityFAQ
Frequently asked questions.
Is chat data encrypted?
How are passwords stored?
What two-factor authentication options are available?
How do sessions work?
Are API requests authenticated?
How are webhooks secured?
Is helpr GDPR compliant?
What happens when an agent leaves the company?
Does helpr detect suspicious login activity?
Can we get a penetration test or security audit?
Questions? Need an audit?
Contact our security team for architecture reviews, compliance documentation, or penetration test coordination.