---
title: How offline works
description: What keeps running when the internet drops, what waits, how the on-premises node uploads in order, and why the browser app is not the offline layer.
order: 4
updated: 2026-09-16
keywords: offline, edge node, outage, sync, kitchen, capture queue
---

"Works offline" means different things in different products. Here is exactly what it means in ChowChirp.

## Two different things

**The browser app** (what you open on a laptop or phone) installs its shell so it opens instantly, and it queues invoice captures and kiosk clock-ins when the connection is poor. Live screens, uploads and commands need a connection. The offline page says so rather than pretending.

**The on-premises node** (a small computer installed in the outlet with the kitchen and counter) is the real offline layer. It holds a local copy of the outlet's kitchen state and keeps working when the internet is down.

## What keeps running on the node

- Ticket routing to stations, bump, recall, void and remake.
- 86 changes and the service-day phases.
- Unit safety limits, loaded from the node's local cache before any cloud attempt.
- Station unlock, through an offline delegation that was staged while the connection was up: a signed record with an offline PIN and a clock check.

## What waits for the connection

- Anything that needs a cloud-issued operational session.
- Recipe consumption evidence sync, unit limit refresh, outlet authority refresh.
- Uploads, live dashboards and most commands in the browser app.

## Why the node can refuse

The node must be sure of the time before it lets anyone unlock a station offline, because time is what makes signed delegations safe. If it cannot prove the clock is trustworthy, for example after a restart with no connection, it shows _blocked, manual_ and the kitchen falls back to numbered paper tickets. That is a deliberate choice: a controlled paper process beats two systems both believing they are in charge.

## How it catches up

The node keeps an outbox. Every event has a sequence number per stream and a record of what it depends on. When the connection returns, events upload in dependency order, and the cloud rejects anything out of sequence rather than accepting a duplicate. A privileged action carries a signed receipt. The result is one copy of what happened, in order, with no double-counting.

## What this is not

The node is not a second server you manage, and the browser app is not an offline POS. Card and e-wallet acceptance offline is deny-by-default. If you need the kitchen and counter to survive an outage, that is the installation with the node; if you only use the back-of-house modules, the browser app is enough.

## Related

- [Pair a kitchen display](/docs/how-to/pair-a-kitchen-display)
- [Statuses and outcome labels](/docs/reference/statuses-and-outcomes)
