-
Notifications
You must be signed in to change notification settings - Fork 323
Open
Labels
a-AndroidIssues specific to Android, or requiring Android-specific workIssues specific to Android, or requiring Android-specific worka-iOSIssues specific to iOS, or requiring iOS-specific workIssues specific to iOS, or requiring iOS-specific worka-notifications
Milestone
Description
As proposed in ZAP 2. See there for background, and the previous issue zulip/zulip-mobile#1190 (in the legacy app's tracker) for historical context.
Most of the server- and bouncer-side implementation of this feature is now done, and will be in the upcoming Zulip Server 11. The main work remaining is to:
- Implement the client side.
- Do whatever iteration is required once we have working implementations of all three of the parties to the protocol and so can try them out.
- Require a feature level that ensures the server has any important fixes identified through the above process.
- Migrate the app's push registrations from the old protocol to the new one, avoiding double-notifications.
References
- Original issue, on the legacy app: Encrypt push notifications end-to-end from Zulip server zulip-mobile#1190
- Server issue: Add end-to-end encryption for push notifications zulip#6954
- Spec: ZAP 2 (but note many details have evolved since that version; see other references below)
- API design threads… there are a lot of them. Try a search for "e2ee" in #api design. Particularly the threads since about 2025-07-06: that's when the ZAP was merged, so the results of earlier discussion should all be incorporated in the ZAP.
- API docs: /api/register-push-device; possibly other docs, such as the docs added today in settings: Add
require_e2ee_push_notifications
realm setting. zulip#35436 for therequire_e2ee_push_notifications
realm setting. (Which requires no implementation in this repository except, but is relevant as a reminder to update documentation in zulip/zulip when this is completed)
rnhurt
Metadata
Metadata
Assignees
Labels
a-AndroidIssues specific to Android, or requiring Android-specific workIssues specific to Android, or requiring Android-specific worka-iOSIssues specific to iOS, or requiring iOS-specific workIssues specific to iOS, or requiring iOS-specific worka-notifications
Type
Projects
Status
No status