Every scan saved before it is sent.
The app writes each scan, photo and signature to a local queue first, with its own id and sequence number, and only then tries the network. When signal returns, the queue drains in order and the server applies each event exactly once, so retries can never double a delivery.
- Local store
- SQLite queue, append-only
- Identity
- A unique id per event
- Order
- A sequence number per phone
- Server
- Idempotent writes, duplicates ignored
- Conflicts
- Last confirmed status wins, history kept
We ship our own products