# Notifications

> Outpost has one durable place for attention: Needs you. Activity, Chat, the app badge, push, and optional email are views of that same store—not separate queues.

Outpost has one durable place for attention: **Needs you**. Activity, Chat, the
app badge, push, and optional email are views of that same store—not separate
queues.

<!-- SOURCE: container/dashboard/delivery.py, container/dashboard/push.py, container/dashboard/mailer.py, container/dashboard/inbox.py, container/dashboard/inbox_api.py, container/dashboard/static/sw.js -->

## Outcome

Enable content-free browser notifications, open the exact item that needs you,
and understand what resolves or clears the badge.

## Fast path

1. Install the Outpost web app as **Kin** if you want phone/desktop push.
2. Open **More → Settings**.
3. Enable notifications and accept the browser permission.
4. Confirm the setting reports an active subscription.
5. When a notification arrives, open it and authenticate if required.
6. Resolve the exact Needs-you item; resolving the final open item clears the
   app badge.

Notifications contain no question, model output, prompt, or other sensitive
content. They say only that Kin needs you, a Kin update is ready, or an alert
exists, and carry a same-origin deep link.

## After the tap

A notification opens the stable item route and focuses the live row in
Activity. Ordinary questions can be answered directly. Approval, plan, and
proposal shortcuts require visible confirmation before the canonical reply is
posted.

Only open, still-current items are actionable or counted. Cancelling their
run, or a newer run/halt taking ownership, leaves the durable row visible as
invalidated or superseded history but makes every later answer conflict. One
generic reply never approves several questions bundled into one item.

A Rig login item exposes only **Open Computer**. It cannot inherit Approve,
Deny, or a synthetic run link. A failed continuation similarly exposes only
**Retry continuation**. Chat's harness permission cards are narrower,
conversation-local calls and do not create a second Inbox.

The badge is the number of open, active Needs-you items, never unread Chat messages.
Opening the app reconciles it from the durable store.

## Alternative delivery

#### Web Push


This is the ordinary path. Current Apple platforms and the
Chrome/Android service worker receive the same content-free event without
producing duplicates.

#### Email break-glass


Operators can enable a content-free SMTP fallback for Inbox items and
alerts. The subject is fixed and the body contains only the Outpost deep
link. Credentials and cooldown settings belong in
[Outpost operations](/docs/kin/internals/outpost-operations/), not the browser.

#### Open Activity


Notifications are optional. Activity always remains the authoritative list
of current Needs-you items.

## Troubleshooting

| Symptom | Check |
|---|---|
| Push is unavailable | Ask the operator to confirm Outpost's VAPID key is installed. |
| Nothing arrives | Confirm notifications are allowed for the installed app, then disable/re-enable to replace a stale subscription. |
| Badge is stale | Open Kin while online; the Inbox refresh reconciles it. |
| A tap reaches sign-in | Expected after the SSO session expires. Sign in and the same-origin item route continues. |
| The wrong item opened | Return to Activity; the durable row, not the notification text, is authoritative. |

## Reference

- [Outpost overview](/docs/kin/guide/outpost/)
- [Chat](/docs/kin/guide/chat/)
- [Rig](/docs/kin/guide/rig/)
- [Outpost operations](/docs/kin/internals/outpost-operations/)
