# Tempest Push Notifications

**Tempest Push** delivers push notifications between your Tempest devices: your laptop runs a scheduled snippet, the run fails, your phone gets a notification. The opposite works too — start a long-running command from your phone via a saved snippet, get notified on your Mac when it finishes.

The whole flow is opt-in per device and end-to-end encrypted.

## What you can be notified about

* **Scheduled snippet failures** — a cron-style run exits non-zero
* **Long-running snippet completions** — for jobs you fired and forgot
* **Connection errors** on critical hosts (configurable per-host)

## Setup

1. Sign in to Tempest on each device that should send or receive notifications.
2. **Settings → Notifications → Tempest Push** → toggle on per device.
3. On mobile (iOS / Android), grant push permission when prompted.
4. On desktop, register the device with the OS notification center.

Each device gets its own opt-in toggle — you can have a phone that *only* receives, or a server that *only* sends.

## How the routing works

* Your laptop / server / phone each register a push token with the Tempest backend.
* When one device emits a notification, the payload is encrypted to the receiving devices' public keys *before* it leaves the sending device.
* The Tempest backend hands the ciphertext to APNs (iOS) / FCM (Android) / OS notification API (desktop) — but never sees the plaintext message.

See [End-to-End Encryption](/account-and-privacy/end-to-end-encryption.md) for the cryptographic detail.

## Device push token (desktop)

Desktop Tempest doesn't go through OAuth2 — it uses a **device push token** (`LSDevicePushToken`) issued by Tempest's web services for sending notifications. The token is per-device, can be revoked individually, and is what allows headless / standalone Tempest backends to send pushes without holding any user OAuth credentials.

## Disable / revoke

Per device:

* **Settings → Notifications → Tempest Push** → toggle off.

Globally:

* **gotempest.app → Account → Devices** → revoke the device's push token. This stops all notification traffic from that device immediately.

## Limitations

* Push delivery best-effort — APNs / FCM may delay or drop messages under load.
* Critical alerts should still flow through dedicated tools (PagerDuty, Opsgenie, etc.). Tempest Push is for individual / small-team workflows.

## See also

* [Snippets & Scheduled Runs](/productivity/snippets-scheduled-runs.md) — the most common notification source
* [End-to-End Encryption](/account-and-privacy/end-to-end-encryption.md) — how plaintext stays on your devices


---

# 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.gotempest.app/productivity/tempest-push-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.
