Security, privacy and tenant isolation
Protect encrypted SIP secrets, one-time routes, guest tokens, origins, rate limits, event signatures, private switch services and tenant boundaries.
Guides in this workflow
Follow the guide that matches the exact action, filter, menu change or issue.
Understand tenant isolation
Route calls and directory data only within the authorised platform/customer context.
Understand deny-by-default routing
Reject targets that cannot be resolved and authorised.
Protect encrypted SIP secrets
Keep stored SIP passwords encrypted and never display them in management tables.
Protect browser session credentials
Return short-lived credentials only to the authenticated active browser session.
Protect website access tokens
Store guest access tokens as SHA-256 hashes and compare them in constant time.
Expire guest sessions
Disable expired guest extensions and record expiry audit evidence.
Validate exact widget origins
Normalise and compare each origin against the current account allow-list.
Require HTTPS origins
Allow secure origins in production and limit HTTP to localhost development addresses.
Apply website rate limits
Restrict repeated widget requests per IP/account window.
Apply website concurrency limits
Restrict the number of active guest sessions/calls.
Protect switch events
Use timestamp, nonce, HMAC signature and replay records.
Protect the event secret file
Store it outside public web roots with restricted permissions.
Protect one-time call routes
Consume the route token at the voice switch and reject reuse.
Review xConnect audit logs
Use audit records for allocation, widget sessions, event/configuration and security-relevant actions.
Understand API security headers
Use no-store, nosniff and referrer restrictions on JSON/public responses.
Protect call and presence metadata
Apply retention/minimisation to participant IDs, IP, user-agent, timing, failure and presence evidence.
Protect private voice services
Expose only approved WSS/RTP paths and keep SIP/event-control interfaces private.
Keep external calling disabled
Maintain the server-side external_calling_enabled lock at 0.
