Unified Push: understanding the [meta]data exchanged/exposed

Context: Some communication smartphone apps, such as Element, and Jami, force you to use a push notification server in order to get notified about new messages (instead of the app itself maintaining its own long-running connection to its server, or polling at intervals). This can reduce battery-drain if you have more than one app that needs to receive notifications, but also introduces new ways for private information to be leaked or users to be de-anonymized.

In order to assess the tradeoffs involved, I would like a better understanding of what information is exchanged between the phone app, the push server, and the application server. Unfortunately, https://unifiedpush.org/ does not provide detailed information about the protocol or structure of messages. I’d really love a sequence diagram showing an example series of requests/responses/payloads sent back and forth as the app registers itself and subscribes to receive pushes, and then as messages flow from the App server.

Does anyone know of any good writeups or documentation that describe the data exchange in this level of detail?

2 Likes