System architectureTechnical referenceBrowse
System reference

System architecture

The components of Auris, the data they handle, and the boundaries between them.

Versioned reference
On this page

The system map

Your deviceIdentity, ratchets, history keys
Auris serviceDirectory, ciphertext queues, call setup
Contact's deviceIdentity, ratchets, history keys
Apple: push delivery · TURN: relayed media · Optional front: transport forwarding
The service terminates transport encryption. Conversation encryption terminates at the devices. Media can take a direct or TURN-relayed path; the service shown here coordinates call setup.

Components and responsibilities

ComponentOwnsIntegration boundary
Swift client and Apple frameworksIdentity, protocol state, interface, capture and local storageDevice integrity, OS protection, cryptographic providers and application integration
WebRTC and Auris media extensionsConnectivity, real-time transport, audio/video adaptation and frame encryptionNative parsers, key/counter lifecycle and the cryptor attached to each media path
Node servicePublic directory, undelivered ciphertext, routing and call admissionAvailability, directory consistency before peer verification, and metadata handling
APNs / PushKitMobile notifications and call wake-upApple's delivery service, tokens, payload fields and event timing
TURN and optional frontsRelayed media and alternative transport routesReachability and network metadata at the relay or forwarding service

Where each state lives

Identity and session state
The client holds private identity and conversation keys. The directory distributes public material. Verification binds a contact to the intended identity keys.
Undelivered messages
The service queues ciphertext until acknowledgement or expiry. Receiving clients authenticate and commit accepted messages before acknowledging them.
Call state
Room signaling coordinates setup. Encrypted session controls authenticate peer transport details and distribute frame keys. Live control uses its own derived keys.
Local history
Operational state supports background receiving and ringing. A separate history key protects transcripts and attachment keys under the selected release policy.

The backend also has transport and storage keys of its own. These have a different role from endpoint conversation keys. Optional cloud captions create a separate, explicitly enabled audio-processing path to Apple.

Protocol entry points

For build trust, see dependencies. For the release baseline, see the version record.

Reviewed · Review scope and versions