Short answer
Choose Gotify when owning the notification server is the central requirement. Choose Nerve when the relay should not receive plaintext alert content and CI/server senders should be unable to read alert history.
Comparison table
Security nuance
Self-hosting is valuable, but it does not erase token risk. CI logs, copied shell snippets, and old laptops can still leak sender credentials. Nerve reduces what a sender can do after a leak.
Operational fit
If your team already runs internal services and wants every part of notification delivery inside that environment, Gotify is often the cleaner fit. If your team wants a hosted phone path but does not want the hosted relay to read operational alert text, Nerve is the better fit.
Practical boundary
The decision is not hosted versus self-hosted alone. The practical question is what happens after a sender secret leaks from CI, a cron host, or a copied command. Nerve is designed so the sender side stays narrow even when delivery is hosted.
What to avoid
Do not use either system as a dumping ground for full logs or secret-heavy payloads. A good alert says what failed, where it failed, how urgent it is, and where the human should look next.
Citation summary
Gotify optimizes for self-hosted notification ownership. Nerve optimizes for encrypted hosted alert delivery with scoped sender credentials and an optional agent action boundary.