After reading through the docs for both FCM and APNS, I feel like the intermediary server isn't actually necessary, you can have each individual instance send its own push notifications directly to Google/Apple. If you instruct app developers to create separate API keys just for push notifications, no harm could be done with them because you'd also need a device token to actually send something.
@grishka Yeah this is temporary using expo-notifications (https://docs.expo.dev/push-notifications/overview/)
The long term goal is to match Mastodon in terms of the push notification API and use a generic app proxy