# Notifications

Notifications in Sealed are optional and disabled by default. They are designed as a convenience layer for users who want to know when a new message may be waiting for them, without needing to manually open the app to check. When notifications are enabled, Sealed uses a separate notification flow built around a recipient tag, an open-source indexer, OHTTP-protected communication, and the standard push systems provided by Apple and Google.

### Scan Key

When a user enables notifications, the Sealed app uses a key based on master-seed of wallet that is used only for finding messages that are coming for you and establishing the recipient-tag. This key is cannot decrypt any message it is only for notification matching. It is not directly tied to the wallet shown inside the app, and it is not meant to reveal the user’s Sealed identity. The scan key allows the notification system to recognize that a new message may be relevant for a specific device, without requiring the indexer to know the user’s wallet address in the app interface.

### OHTTP-protected registration

After the recipient tag is generated, the app sends it to Sealed’s notification indexer through OHTTP encryption. OHTTP protects the network request, so the indexer receives the tag registration without directly learning the user’s IP address from the request. This is important because notification setup should not create a simple link between the device’s network identity and the user’s Sealed identity.

### Open-source notification indexer

The notification indexer watches the blockchain for message events that match registered recipient tags. When it sees a matching event, it prepares a notification signal for the device. The indexer is operated by Sealed and is open source. It is the only additional infrastructure element in this flow that is not the app itself and not the blockchain. Because it is open source, its behavior can be inspected, reviewed, and audited.

### Push delivery

When the indexer detects a matching event, it sends a push notification through Apple or Google notification systems, depending on the user’s device. The push notification is only an alert that something may have arrived. This allows Sealed to behave like a familiar mobile app while keeping the actual message handling inside the Sealed application.

### Opening the app

After receiving a notification, the user opens Sealed. The app then connects to the official Algorand RPC through OHTTP encryption, checks the blockchain, finds the relevant encrypted message, and decrypts it locally on the device. This means the notification flow only helps the user know when to open the app. The actual message is retrieved and decrypted by Sealed after the app is opened.

### Metadata trade-off

Notifications create a small privacy trade-off. The indexer can see that a registered recipient tag matched a blockchain event at a certain time, and Apple or Google can see that a push alert was delivered to the device. The recipient tag is not directly linked to the wallet in the app, and OHTTP helps protect the network request, but notifications still introduce timing-related metadata. This is why they are optional and disabled by default. Users who prefer convenience can enable them, while users who want to minimize metadata can leave them turned off.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sealed.channel/architecture/notifications.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
