# ADR02: custom web push backend or which service

## Decision Drivers

* Everyone with a supported device should be prompted to subscribe, whether they have a user account or not
* We need to be able to target specific users with accounts for individual notifications, e.g. for updates to their service requests
  * It should be possible to link a subscription to a specific user account later - they might first subscribe anonymously and then login later.
* User data should only be used for the purposes of providing the services in the app - it should never be used for marketing or shared with other companies.
* We might also want to be able to notify only a segment of users, e.g. users interested in service outages but not latest news, or users in particular ward(s).

## Options considered

* Custom-built backend using pywebpush, custom javascript for subscription management and notification handling in client
* pushpad.xyz
* onesignal
