Security features of Notification Center
Here Core UI Notification Center offers the following features to support application security:
-
Application identity
-
Limited HTML
Application identity
When an application launches a notification, Notification Center uses the app’s manifest to determine its identity. Therefore, an application cannot pretend to be something other than itself. This strategy enables a few key security features.
No spoofing
An application does not provide an application name when it creates a notification; instead, the name is read from the application's manifest. As a result, an application cannot generate a notification pretending to be from a source that it is not, thereby causing data leakage.
No access to other apps' notifications
An application has two ways to access notifications that have already been created:
-
Ask for notifications that it has created.
-
Ask for a notification by ID.
In the first case, Notification Center returns only notifications created with that app’s identity, and not by other applications. Therefore, a vendor can’t browse the notifications of other applications. In the second case, where an app queries by the ID of the notification, a good strategy is to use UUIDs so that other applications can’t guess the IDs used by your application.
Limited HTML
Notification Center does not allow arbitrary HTML to be used for notifications: the data format is JSON. Therefore, an application vendor cannot inject HTML that contains script elements and run non-Here Core code in its Notification Center app.