# notifications (/product/modules/notifications)



`notifications` is what the platform tells a person, and the record that they saw it.

## Owns

| Table                        | Holds                                                                             |
| ---------------------------- | --------------------------------------------------------------------------------- |
| `notifications`              | A message to a person, or to an organization node whose people it reaches.        |
| `notification_confirmations` | Append-only: who acknowledged one, and when, for a notification that requires it. |
| `push_tokens`                | A device's push token, owned by its person.                                       |

A notification posted to a node reaches everyone placed beneath it, so a head-office announcement fans out down the tree and a store's reaches its staff. The inbox policy walks up from the reader's placement; the fan-out walks down from the node.

## Channels

Expo push is the primary path to a field agent's device. Email is transactional, through the platform's mailer. WhatsApp is a deep link that opens the visitor's own client with no backend at all. The in-app banner rides a server-sent stream fed by a database notification, with no realtime vendor.

## Routes

`/notifications`: the list, and per notification its confirmations.

## Settings scope

`notifications`.

## Permissions

`notifications.read` and `notifications.manage`. A person always reads their own, and their audience's.

## Switched off

Never. Every project links it at provisioning.
