[GH-ISSUE #332] iOS app doesn't properly handle "Critical" or "Time Sensitive" interruption levels #259

Open
opened 2026-05-07 00:22:23 +02:00 by BreizhHardware · 16 comments

Originally created by @willscottuk on GitHub (Jun 19, 2022).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/332

As discussed briefly on Discord, iOS 15 has particular mechanisms for handling "Time Sensitive" and "Critical" notifications. Time Sensitive can bypass focus modes, Critical bypasses silent mode.

The correct interruption levels are being set in https://github.com/binwiederhier/ntfy-ios/blob/main/ntfy/Utils/NotificationContent.swift#L54, aligned sensibly with priority 4 and 5, however neither of these are working natively on iOS.

For Time Sensitive the permission toggle doesn't appear in notification settings so the app isn't requesting permission to show them at all. It may just be a missing entitlement flag (see bottom of this Apple Developer forum threat - I've rebooted my device as suggested earlier in that thread to ensure that it's not that that's at fault.

If it's helpful context, a Time Sensitive notification should appear like this:

IMG_9387

For Critical notifications, there's an Apple approval process (as you posted in Discord, this Medium article takes you through the steps required.

The Home Assistant app was ultimately granted entitlement for Critical Notifications, if it's useful, their rationale to Apple can be found here.

Again for context, a Critical notification would appear like this:

IMG_0295

As I said last night on Discord, thanks so much for releasing an iOS app!

Originally created by @willscottuk on GitHub (Jun 19, 2022). Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/332 As discussed briefly [on Discord](https://discord.com/channels/874398661709295626/874398661709295629/987834223702454282 ), iOS 15 has particular mechanisms for handling "Time Sensitive" and "Critical" notifications. Time Sensitive can bypass focus modes, Critical bypasses silent mode. The correct interruption levels are being set in https://github.com/binwiederhier/ntfy-ios/blob/main/ntfy/Utils/NotificationContent.swift#L54, aligned sensibly with priority 4 and 5, however neither of these are working natively on iOS. For Time Sensitive the permission toggle doesn't appear in notification settings so the app isn't requesting permission to show them at all. It may just be a missing entitlement flag (see bottom of [this Apple Developer forum threat](https://developer.apple.com/forums/thread/683630) - I've rebooted my device as suggested earlier in that thread to ensure that it's not that that's at fault. If it's helpful context, a Time Sensitive notification should appear like this: ![IMG_9387](https://user-images.githubusercontent.com/28684940/174476480-4869f69a-b7eb-4594-be6e-efafa1e88ebe.jpg) For Critical notifications, there's an Apple approval process (as you posted in Discord, [this Medium article](https://medium.com/bandyliuk-code/how-to-implement-ios-critical-alerts-july-2021-f3bfbcc87d3f) takes you through the steps required. The Home Assistant app was ultimately granted entitlement for Critical Notifications, if it's useful, their rationale to Apple can be found [here](https://github.com/home-assistant/iOS/pull/153#issuecomment-424882358). Again for context, a Critical notification would appear like this: ![IMG_0295](https://user-images.githubusercontent.com/28684940/174476811-e827e1f6-a70e-41e3-824d-597448c34559.jpg) As I said last night on Discord, thanks so much for releasing an iOS app!
Author
Owner

@binwiederhier commented on GitHub (Jun 19, 2022):

Thank you for the detailed bug report, especially for the link the the HA request text they used.

I will likely wait a bit for a few more iOS users (maybe 500 or so) before requesting the entitlement. Don't want to get denied because they think it's a super small app. There's usually only one shot at this.

<!-- gh-comment-id:1159710482 --> @binwiederhier commented on GitHub (Jun 19, 2022): Thank you for the detailed bug report, especially for the link the the HA request text they used. I will likely wait a bit for a few more iOS users (maybe 500 or so) before requesting the entitlement. Don't want to get denied because they think it's a super small app. There's usually only one shot at this.
Author
Owner

@AligningEntropy commented on GitHub (Jun 19, 2022):

Adding to this instead of creating a separate ticket just to provide some extra info for when the user base grows and this can be looked at again.

Background

In IOS, notifications can be sent with a special criticalAlert priority which enables these alerts to bypass the users mute switch and Do Not Disturb settings. However, due to the disrupting nature of these notifications, Apple restricts the use of this priority and requires developers request a special entitlement (issued by Apple) and user setting authorization.

To be approved for this entitlement (I believe) one must reasonably state why such alerts are needed; consequently, it is imperative to highlight how these notifications will be limited to specific alerts, designated by the user, which are time sensitive, high urgency, and for serious events or something along those lines.

Current state / issue

Presently, when a message is published with the priority of 5 (.critical) it does not act any different than one with a priority of 4 (.timeSensitive) on the end user device alert-wise.

How to fix

The following 2 links document the steps required to enable this functionality.

  • Stackoverflow question where both answers are helpful here.
  • Medium article going over the steps similar to the link above here.

Example of an application that uses this feature

Here is an example of an application that uses the critical alert functionality.

<!-- gh-comment-id:1159775751 --> @AligningEntropy commented on GitHub (Jun 19, 2022): Adding to this instead of creating a separate ticket just to provide some extra info for when the user base grows and this can be looked at again. # Background In IOS, notifications can be sent with a special `criticalAlert` priority which enables these alerts to bypass the users mute switch and Do Not Disturb settings. However, due to the disrupting nature of these notifications, Apple restricts the use of this priority and requires developers request a special entitlement (issued by Apple) and user setting authorization. To be approved for this entitlement (I believe) one must reasonably state why such alerts are needed; consequently, it is imperative to highlight how these notifications will be limited to specific alerts, designated by the user, which are time sensitive, high urgency, and for serious events or something along those lines. # Current state / issue Presently, when a message is published with the priority of 5 (`.critical`) it does not act any different than one with a priority of 4 (`.timeSensitive`) on the end user device alert-wise. # How to fix The following 2 links document the steps required to enable this functionality. - Stackoverflow question where both answers are helpful [here](https://stackoverflow.com/questions/66057840/ios-how-do-you-implement-critical-alerts-for-your-app-when-you-dont-have-an-en/68522623#68522623). - Medium article going over the steps similar to the link above [here](https://medium.com/bandyliuk-code/how-to-implement-ios-critical-alerts-july-2021-f3bfbcc87d3f). # Example of an application that uses this feature [Here](https://support.pagerduty.com/docs/mobile-app-settings#ios-critical-alerts) is an example of an application that uses the critical alert functionality.
Author
Owner

@bbbenjie commented on GitHub (Mar 4, 2023):

Hi @binwiederhier, I hope that the number of users has increased significantly since June 2022 :-)
Is there now a chance to request this entitlement? I would love to see real critical alerts on iOS.

<!-- gh-comment-id:1454798945 --> @bbbenjie commented on GitHub (Mar 4, 2023): Hi @binwiederhier, I hope that the number of users has increased significantly since June 2022 :-) Is there now a chance to request this entitlement? I would love to see real critical alerts on iOS.
Author
Owner

@joepbuhre commented on GitHub (Jul 2, 2023):

+1 I also think this is a really must have. Because I miss the critical notification error I am seriously contemplating to write a kind of NTFY to HA parser. I love the way Ntfy is integrated with all kinds of open source notification systems, that really is amazing. However I use the critical notifications for a lot of things and I don't want multiple notification services. Keep up the really amazing work!

<!-- gh-comment-id:1616592088 --> @joepbuhre commented on GitHub (Jul 2, 2023): +1 I also think this is a really must have. Because I miss the critical notification error I am seriously contemplating to write a kind of NTFY to HA parser. I love the way Ntfy is integrated with all kinds of open source notification systems, that really is amazing. However I use the critical notifications for a lot of things and I don't want multiple notification services. Keep up the really amazing work!
Author
Owner

@eqTom commented on GitHub (Jul 16, 2023):

+1 this would be game changing for ntfy! Until then the alerts just don't really work for important senarios like engineers on-call, hopefully one day 👍 then we can get away from pushover

<!-- gh-comment-id:1637011736 --> @eqTom commented on GitHub (Jul 16, 2023): +1 this would be game changing for ntfy! Until then the alerts just don't really work for important senarios like engineers on-call, hopefully one day 👍 then we can get away from pushover
Author
Owner

@philnickl commented on GitHub (Aug 22, 2023):

+1 I use critical alerts with other systems and it is ideal for overnight activations

<!-- gh-comment-id:1687293837 --> @philnickl commented on GitHub (Aug 22, 2023): +1 I use critical alerts with other systems and it is ideal for overnight activations
Author
Owner

@adrianwalthert commented on GitHub (Oct 18, 2023):

+1

<!-- gh-comment-id:1767922207 --> @adrianwalthert commented on GitHub (Oct 18, 2023): +1
Author
Owner

@alflogar commented on GitHub (Jan 23, 2024):

+1 is important for my company this critical notification, if i can for help update write me. thanks good app.

<!-- gh-comment-id:1905925701 --> @alflogar commented on GitHub (Jan 23, 2024): +1 is important for my company this critical notification, if i can for help update write me. thanks good app.
Author
Owner

@wolflu05 commented on GitHub (Jul 30, 2024):

Hello, I just discovered ntfy and I'm really liking it. However this issue is blocking me from really use it, because I can only allow all messages in do not disturb mode or none. But I really need to receive critical notifications like my house fills with water even my phone is set to do not disturb. But I also want to send notifications like a backup has finished which should not disturb me when do not disturb is on.

From the initial comment it seems like only a request to Apple is missing to get permissions for the app to send critical notifications. This was not done initially since the app had not enough users and there was a fear of rejection because if it gets denied it won't get a second chance normally. Now it's two years later, and the app should got a lot of downloads. Would it be possible to do this request now? Is there anything I can help with?

<!-- gh-comment-id:2258168360 --> @wolflu05 commented on GitHub (Jul 30, 2024): Hello, I just discovered ntfy and I'm really liking it. However this issue is blocking me from really use it, because I can only allow all messages in do not disturb mode or none. But I really need to receive critical notifications like my house fills with water even my phone is set to do not disturb. But I also want to send notifications like a backup has finished which should not disturb me when do not disturb is on. From the initial comment it seems like only a request to Apple is missing to get permissions for the app to send critical notifications. This was not done initially since the app had not enough users and there was a fear of rejection because if it gets denied it won't get a second chance normally. Now it's two years later, and the app should got a lot of downloads. Would it be possible to do this request now? Is there anything I can help with?
Author
Owner

@jensbodal commented on GitHub (Sep 28, 2024):

Sorry to necro this thread but just wondering if anyone has found an alternative they can self host that allows this? Ntfy is so simple and easy to set up.

Well I'll keep looking. At any rate I just paid for a year of the pro subscription even though I self host mainly, thanks for the work so far :)

<!-- gh-comment-id:2380881742 --> @jensbodal commented on GitHub (Sep 28, 2024): Sorry to necro this thread but just wondering if anyone has found an alternative they can self host that allows this? Ntfy is so simple and easy to set up. Well I'll keep looking. At any rate I just paid for a year of the pro subscription even though I self host mainly, thanks for the work so far :)
Author
Owner

@federicotravaini commented on GitHub (Jan 4, 2025):

adding myself to the people requesting this feature

<!-- gh-comment-id:2571415095 --> @federicotravaini commented on GitHub (Jan 4, 2025): adding myself to the people requesting this feature
Author
Owner

@jensbodal commented on GitHub (Jan 4, 2025):

Sorry to necro this thread but just wondering if anyone has found an alternative they can self host that allows this? Ntfy is so simple and easy to set up.

Well I'll keep looking. At any rate I just paid for a year of the pro subscription even though I self host mainly, thanks for the work so far :)

It's not ideal but I ended up using PagerDuty for the most critical notifications, I cannot inline images but I can link them. If I want an image in the notification and a critical alert I'll use pushover. The nice thing about PagerDuty is I don't use it otherwise and you can make it pretty annoying where you will absolutely see the notification if your phone is anywhere near you. It can call, text, and send you critical alerts.

I would still absolutely pay extra to have critical alerts with ntfy, it would be much much simpler and also be much easier to setup on other peoples devices that I share some alerts with.

<!-- gh-comment-id:2571421743 --> @jensbodal commented on GitHub (Jan 4, 2025): > Sorry to necro this thread but just wondering if anyone has found an alternative they can self host that allows this? Ntfy is so simple and easy to set up. > > > > Well I'll keep looking. At any rate I just paid for a year of the pro subscription even though I self host mainly, thanks for the work so far :) It's not ideal but I ended up using PagerDuty for the most critical notifications, I cannot inline images but I can link them. If I want an image in the notification and a critical alert I'll use pushover. The nice thing about PagerDuty is I don't use it otherwise and you can make it pretty annoying where you will absolutely see the notification if your phone is anywhere near you. It can call, text, and send you critical alerts. I would still absolutely pay extra to have critical alerts with ntfy, it would be much much simpler and also be much easier to setup on other peoples devices that I share some alerts with.
Author
Owner

@aaronraimist commented on GitHub (Jun 24, 2025):

There is a pull request open that adds support for Time Sensitive notifications, it just needs to be reviewed https://github.com/binwiederhier/ntfy-ios/pull/21

<!-- gh-comment-id:3002137814 --> @aaronraimist commented on GitHub (Jun 24, 2025): There is a pull request open that adds support for Time Sensitive notifications, it just needs to be reviewed https://github.com/binwiederhier/ntfy-ios/pull/21
Author
Owner

@giovanne-oliveira commented on GitHub (Oct 8, 2025):

Hey! Sorry to bring this up to life again. But by any chance the maintainer can now request that entitlement to Apple? This will be a huge addition to the app.

<!-- gh-comment-id:3383122325 --> @giovanne-oliveira commented on GitHub (Oct 8, 2025): Hey! Sorry to bring this up to life again. But by any chance the maintainer can now request that entitlement to Apple? This will be a huge addition to the app.
Author
Owner

@apapatzis commented on GitHub (Oct 11, 2025):

Hey, adding myself to the people requesting it m. Let us know if we can help move this forward somehow. This would be a huge upgrade for the iOS user base.

<!-- gh-comment-id:3393264127 --> @apapatzis commented on GitHub (Oct 11, 2025): Hey, adding myself to the people requesting it m. Let us know if we can help move this forward somehow. This would be a huge upgrade for the iOS user base.
Author
Owner

@RonaldJerez commented on GitHub (Dec 8, 2025):

Came here to also check on this. Looking to self host my own and move away from pushover, which also has critical alerts.

<!-- gh-comment-id:3628607252 --> @RonaldJerez commented on GitHub (Dec 8, 2025): Came here to also check on this. Looking to self host my own and move away from pushover, which also has critical alerts.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ntfy#259
No description provided.