@startuml Client1 -> Server: Send Message (PubKeyClient2 + Payload) Server -> Client1: Ack Message (Server UUID + DateReceived) Client1 --> Server: Message delivery ? (PubKeyClient2 + Payload) Server --> Client1: Message delivered (Server UUID + DateReceived) Client2 -> Server: Get Messages (PubKeyClient2) Server -> Client2: Get Messages [](PubKeyClient2 + Payload) Client2 --> Server: Ack Messages Processed @enduml