SFrame media end-to-end encryption¶
Crypto - sframe-media
CRY-04 - status: draft - audio, video, group
Per-frame end-to-end AEAD sealing of media payloads, applied above SRTP so the relay only forwards ciphertext.
- Each media frame MUST be sealed with an SFrame-style AEAD before transport.
- The sealed frame carries an authenticated header (key id + monotonic frame counter) over a payload encrypted under a per-participant SFrame key derived from the call key.
- The frame counter MUST NOT repeat under a given key.
- The relay MUST be unable to recover plaintext; it only forwards sealed frames.
- Group calls use per-sender keys.
Requires: srtp-master-key
Breakdown: call-key, group-call-crypto
Implemented by
| Flavor | Status | Source | Notes |
|---|---|---|---|
whatsapp-rust |
working | history - blame - commits 674e851 |
— |
zapo-caller |
working | — | — |
Annotation wacrg:CRY-04 — a flavor marks its implementation site in source with this comment; a script clones the source, finds it, and attaches the commit blame/permalink.
Contributors
| Contributor | Role |
|---|---|
| wrote initial spec |
protocol history / diff - blame
Open questions - Exact AEAD suite, nonce construction, and header varint layout. - Group-call key distribution and rotation.
Changelog¶
- 2026-06-21 — Initial spec entry.