Skip to main content

Offline Mode

The kiosk is designed to continue operating during brief network interruptions. Visitors can still check in, sign documents, and receive a confirmation — even when the tablet can't reach the Atrium server.

How offline check-in works

When the kiosk has no network connectivity:

  1. QR code validation happens locally. The QR code is a signed JWT token. The kiosk validates the signature and expiry using a cached copy of the signing key — no server round-trip needed.

  2. Documents are rendered from cache. Document templates are pre-cached on the kiosk via a Service Worker. If a visitor's pre-registration data was fetched before the network went down, templates are rendered with the visitor's details. If not, template variables that can't be filled show "N/A."

  3. Signatures are captured normally. The signature pad works entirely on-device.

  4. The check-in is queued locally. The signed documents and check-in data are stored in the tablet's local storage (IndexedDB). A queue of pending check-ins builds up while offline.

  5. On reconnect, queued check-ins are submitted. The kiosk automatically sends all queued check-ins to the server. The server processes them normally — including PDF generation for signed documents.

Limitations

No WiFi credentials offline. WiFi vouchers are generated server-side. During offline check-in, the completion screen cannot display WiFi credentials. The visitor is checked in, but credentials are provisioned only when connectivity returns.

No replay protection across kiosks. If two kiosks at the same site are both offline simultaneously, the same QR code could theoretically be scanned at both. Each kiosk maintains its own local replay cache, but they can't coordinate with each other. The server reconciles on reconnect and flags the duplicate. This is a low-probability edge case.

Stale revocations. If a visit is cancelled while kiosks are offline, the cancellation (QR code revocation) doesn't reach the kiosks until they reconnect. During that window, the cancelled QR code would still validate locally.

Missing pre-registration data. If the kiosk never fetched a particular visitor's data before going offline, the document templates render with empty visitor-specific fields. The server fills in the missing data from the visit record when processing the queued submission.

Cache management

The kiosk's Service Worker caches:

  • Document template HTML and assets for all active templates at the site.
  • The QR code signing public key.
  • The rendering and signature capture logic.

Cache updates happen when templates are modified (pushed via WebSocket or fetched on a polling interval, default: every 15 minutes). If a template is updated while the kiosk is offline, the kiosk will serve the previously cached version until it reconnects and fetches the update.

Offline duration

There is no hard limit on how long a kiosk can operate offline. However, the practical limit is the JWT token expiry of the signing key. As long as the cached key is valid, QR codes can be validated locally. Key rotation (which is an infrequent administrative operation) would eventually invalidate the cached key.

For best results, ensure kiosks have reliable network connectivity and treat offline mode as a resilience feature, not a primary operating mode.