Case Study — Security & Guarding Software
Guard Patrol: Proof Every Site Was Patrolled
Mont6 built a patrol verification system for South African security firms: an NFC guard app that works without signal, a web app for supervisors and managers, and a backend that spots missed patrols on its own and alerts supervisors by SMS and email.
- Client
- South African Security Firms
- Industry
- Private Security & Guarding
- Platform
- Android App, Web Admin & Cloud Backend
- Location
- South Africa
Project overview
Security firms sign contracts that promise their clients a guarded and patrolled site. For years, the proof of those patrols has been a paper logbook at the gate.
Guard Patrol replaces that logbook with records that can be trusted. Guards scan NFC tags fixed at checkpoints along each route, and every scan is stored with its time, the guard, the phone and its GPS position. The backend knows which patrols should happen and when. If one is missed, late, walked out of order or never finished, it raises the problem itself and alerts the right supervisors. Managers set up clients, sites, routes and schedules in a web app, and supervisors download reports that serve as proof of service for the firm's clients.
The platform is multi-tenant from day one. One system serves many security firms, each with many clients and sites, and the database itself keeps every firm's data separate.
The challenge
Paper logbooks are often filled in before or after a shift instead of during the patrol, so the record can't be trusted. Nobody knew in real time when a guard fell asleep, didn't arrive for a patrol or skipped part of a route. Firms couldn't prove to their clients that a site had been patrolled, and after an incident, gaps in the record could affect insurance claims.
The people using the app made it harder. Many guards have limited schooling and only basic phone skills, and read most easily in their home language. Sites are often out of signal. Guards share phones that belong to the firm or the client. The system also had to stop records being written after the fact, and keep the app off unapproved phones such as a friend's personal handset.
Our solution
Mont6 started from a written intent and a detailed specification, then built the system in end-to-end slices, demonstrated on real phones. The riskiest parts came first: offline sync, the patrol rules, signing requests with a key held in the phone, and whether guards could actually use the app.
The Android guard app is built for guards first. A guard taps a 6-digit PIN, confirms their name, taps their site and then a route. After that there is nothing to type. Large, bold text and Day and Night themes keep it readable in bright sun and at night. Every scan gives a sound, a vibration, a colour and a shape: a green tick for the right checkpoint, an amber mark for the wrong order, a red cross for a tag that isn't on the route. All guard text lives in translation files, ready for Afrikaans and South Africa's nine official African languages.
Once on duty, the app works with no signal at all. Scans, pauses and emergencies are saved on the phone with the time they happened and sent when signal returns. Only phones activated with a one-time install code can use the app, and each phone signs its requests with a key that never leaves its secure hardware. The backend checks each phone's clock as data arrives and flags scans it can't trust.
The backend decides every patrol result. A background worker tracks every scheduled patrol. Once a deadline and its grace window pass without the expected data, it records the exception and sends one SMS and email per patrol, listing everything that went wrong. Emergencies go out on their own, at once. Records are append-only: if late data changes a result, a new result is added and the first one stays in the history.
Key features
NFC checkpoint scanning
Guards hold the phone to tags fixed along the route. Only a tag scan proves presence. GPS is recorded at each scan for the map, but never used to decide whether a guard was there.
Works without signal
After going on duty, the whole patrol runs offline. Every event is stored on the phone with the time it happened and synced when signal returns, so dead zones don't break the record.
Built for every guard
No typing to sign in or patrol, very few choices per screen, and big text with pictures, colours, sounds and vibration. Each guard's language is set by their manager.
Automatic exceptions and alerts
The backend raises missed, late, out-of-order and unfinished patrols itself, even when a phone sends nothing. Supervisors get one SMS and email per patrol, not a flood of messages.
One-touch emergency
A large red button on every screen, held for two seconds, alerts the site's supervisors at once. The guard can see whether it was delivered or is still waiting for signal.
Tamper-evident audit trail
Every scan, pause, note, photo and duty change is recorded and can't be edited or deleted. Phones sign their requests with a hardware-held key, and unregistered phones are locked out.
Proof-of-service reports
Supervisors and managers filter by client, site, route, guard and date, then download CSV or PDF reports. Each PDF carries a hash, and a map shows every scan in order.
Multi-tenant by design
One platform serves many security firms. PostgreSQL row-level security keeps each firm's data apart in the database itself, and limits supervisors to their own sites and guards.
App screenshots





Need field software your team will actually use?
From offline-first mobile apps to multi-tenant platforms, we build business software that holds up in the real world.
