Consumer Messaging Platform — WhatsApp-Class System  ·  View 07 of 23

Delivery and Receipt State Matrix

Every message state, what triggers it, who emits it, what the sender sees, and how long the server keeps anything at all.

Editable source SVG draw.io All views
Trigger
Trigger
Emitted by
Emitted by
Server action
Server action
Sender sees
Sender sees
Server retention
Server retention
Pending
Pending
No server ack yet
No server ack yet
Sender client
Sender client
None, not yet received
None, not yet received
Clock icon
Clock icon
Local outbox only
Local outbox only
Sent
Sent
Chat Service accepts
Chat Service accepts
Chat Service
Chat Service
Server id assigned, ciphertext stored
Server id assigned, ciphertext stored
One tick
One tick
Until delivered, max 30 d
Until delivered, max 30 d
Delivered
Delivered
Ciphertext reaches a device
Ciphertext reaches a device
Recipient device
Recipient device
Route receipt, purge ciphertext
Route receipt, purge ciphertext
Two ticks
Two ticks
Purged on last device ack
Purged on last device ack
Read
Read
Chat opened by recipient
Chat opened by recipient
Recipient device
Recipient device
Route if receipts enabled
Route if receipts enabled
Blue ticks
Blue ticks
Receipt event only
Receipt event only
Played
Played
Voice note or view-once opened
Voice note or view-once opened
Recipient device
Recipient device
Route, then expire view-once blob
Route, then expire view-once blob
Blue microphone
Blue microphone
Blob deleted immediately
Blob deleted immediately
Undeliverable
Undeliverable
30 days with no device ack
30 days with no device ack
TTL reaper
TTL reaper
Drop ciphertext, no notification
Drop ciphertext, no notification
Stays at one tick
Stays at one tick
Nothing retained
Nothing retained
Delivery and Receipt State Matrix
Delivery and Receipt State Matrix
Read and played states are advisory; a recipient who disables receipts stops them at delivered.
Read and played states are advisory; a recipient who disables receipts stops them at delivered.
v 1.0 · owner Platform Architecture · date 2026-08
v 1.0 · owner Platform Architecture · date 2026-08
Text is not SVG - cannot display

Why a matrix

  • A flow diagram hides which states the server can and cannot assert
  • Reading down the retention column shows how little is retained per state
  • Reading across a row is a complete specification for one tick change

Privacy behaviour

  • Read receipts are reciprocal: disabling yours removes your view of others'
  • Group chats always report read receipts to the sender, by product decision
  • View-once media is destroyed server side at first play, not at expiry

Failure case

  • Thirty days without a device acknowledgement drops the ciphertext silently
  • The sender is not told; the tick simply never advances
  • This is the only path where a message is lost by design