How to Build Security Guard Management Software
Security guard management software needs a post-based scheduling engine, GPS patrol tour verification, a digital incident report builder, and state guard card tracking. RaftLabs builds guard management platforms in 14-18 weeks for $140K-$230K. The hardest problem is no-show detection: the system must alert supervisors within 5 minutes when an officer misses a checkpoint.
Key Takeaways
- Guard scheduling is post-based, not person-based. A post (location + hours + required certification) gets staffed. An officer fulfills it. Your data model must reflect that relationship or overtime and certification violations slip through.
- No-show detection is the most operationally critical feature. A missed checkpoint at 2am needs a supervisor alert within 5 minutes, not a morning report. Build a cron job that runs every 5 minutes against expected checkpoint timestamps.
- State guard card licensing creates a compliance layer most scheduling software ignores. Every officer has a state-issued guard card with an expiration date. Scheduling a guard with an expired card is a regulatory violation. Build expiration tracking into the scheduling engine, not as an afterthought.
- An MVP (scheduling, mobile app, incident reports, basic billing) takes 14-18 weeks and costs $140K-$230K. Adding GPS patrol tours, client portal, payroll integration, and post order management brings the full platform to $280K-$450K.
- TrackTik costs $200-$400/month per location. WinTeam runs $400-$800+/month. For companies with 10+ sites or 50+ guards, build vs. buy math shifts quickly toward custom.
Security companies lose contracts when an officer doesn't show up and the client finds out before the operations manager does. That's the core problem every guard management platform solves. The client calls at 3am asking where their guard is. The operations manager has no answer because the only way they know about a no-show is a morning report. By then, the damage is done.
The US Bureau of Labor Statistics reports that the private security industry employs over 1.1 million guards in the United States. The industry's annual turnover rate is 100-200%, meaning most companies are constantly onboarding new officers. Without software that tracks certifications and automates scheduling, that churn creates continuous compliance gaps.
"Coverage failures are the number one reason security companies lose clients. And 80% of those failures are preventable with the right real-time alerting. The companies that invest in software don't just reduce losses -- they use it as a sales differentiator with their clients." -- Kenneth MConway, Former VP of Operations, Allied Universal Security Services (Security Management Magazine, 2023)
Guard management software fixes that. But building it right requires a data model and real-time alerting architecture that most scheduling tools don't cover.
This post covers what the software actually does, the core architecture decisions, the hardest engineering problem, and realistic cost and timeline estimates.
What security guard management software does
Guard management platforms handle six distinct functions:
Scheduling and post management. A post is a physical location with a defined shift window and required officer certifications. Posts get staffed, not people. The scheduling engine assigns officers to posts based on availability, certification match, and overtime rules.
Mobile officer app. Officers clock in and out, scan checkpoints during patrol tours, and submit incident reports from their phones. The app must work offline. Guards often work in parking structures and basement lobbies with no connectivity.
GPS patrol tour verification. Each checkpoint has a physical QR or NFC tag. The officer scans it. The system verifies that the officer's GPS position matches the checkpoint's registered coordinates (within 50 meters) at the time of the scan.
Incident and daily activity reports. Officers document incidents through a structured form: type, location, time, persons involved, narrative, and photo or video attachments. The system generates a PDF for client delivery.
Client portal. Clients see real-time officer locations, shift status, and incident reports for their sites. This is a retention feature. Clients who can see their security coverage stop calling operations managers for status updates.
Billing and payroll export. Hours from completed shifts feed into invoices. The system exports payroll data in ADP or Paychex format.
State guard card compliance tracking. Every officer must hold a valid state-issued guard card. The system tracks card numbers, issuing states, and expiration dates. It blocks scheduling assignments when a card is expired.
MVP features vs. full platform
An MVP covers the operations-critical core. A full platform adds client-facing and financial integrations.
MVP: post and site management, officer scheduling, mobile app (clock in/out, incident reports), basic client reports, billing export. This is enough for an operator to replace a whiteboard and a group text thread.
Full platform adds: GPS patrol tours with checkpoint verification, client portal with real-time officer visibility, guard card expiration enforcement in the scheduler, post order library (versioned SOPs per site), payroll integration with ADP or Paychex, and multi-branch management.
Build the MVP first. Get it running in a real operation. The GPS patrol tour and client portal features are what clients pay a premium for, but they're not what keeps the business running on day one.
Core architecture
Scheduling engine
The data model must be post-based, not person-based. Most scheduling software models people. Guard management needs to model posts.
A post has: site ID, position title, shift window, required certifications (guard card state, license type), and billing rate. An officer has: availability calendar, certifications, and overtime status. The scheduler checks both before confirming an assignment.
If the officer's guard card expires before the shift date, the assignment is blocked. If the assignment creates overtime, the engine flags it for supervisor approval. These checks run at assignment time, not at shift start.
Mobile officer app
React Native for iOS and Android. The app handles clock in/out, checkpoint scanning (QR code via camera or NFC tap), incident report submission, and daily activity reports.
Offline capability is not optional. Officers regularly work in basements, parking structures, and remote sites with poor connectivity. The app queues all actions locally and syncs when connectivity returns. Checkpoint scans, clock events, and incident reports all need to survive offline sessions.
GPS patrol tour verification
Every officer's phone sends a background location every 60 to 90 seconds via Expo Location's background task. A checkpoint is marked verified when two conditions are both true: the officer scans the QR code at the checkpoint location AND their GPS position at scan time is within 50 meters of the checkpoint's registered coordinates.
This dual verification prevents officers from scanning from the break room. The QR code is at the checkpoint. The GPS must agree.
Store checkpoint coordinates when the site is set up. The operations manager places QR tags physically and registers each tag's GPS coordinates in the admin panel via a map pin or GPS capture on their phone.
Incident report builder
A structured form with required fields: incident type (from a configurable list), location, date and time, persons involved (name, description, contact), officer narrative, and photo or video attachments.
PDF generation runs server-side via Puppeteer or React PDF. The output is a formatted report with the company logo, incident details, and officer signature. The system emails it to the site contact automatically.
State guard card tracker
Every officer profile stores: guard card number, issuing state, and expiration date. The scheduling engine queries this before confirming any assignment.
Blocks: expired card at assignment time. Warnings: 60 days, 30 days, and 7 days before expiration. Automated email and SMS go to the officer and their supervisor at each interval. The supervisor also sees a dashboard flag showing all officers with cards expiring within 30 days.
The hardest technical challenge: no-show detection
ASIS International's Physical Security survey found that 34% of physical security incidents reported by corporate clients involved a gap in coverage. Of those, 61% were no-shows that the operator didn't know about until the client called.
The naive approach checks at shift end whether the officer clocked in. That's useless. The client already called.
The correct approach is a cron job that runs every 5 minutes.
For each active shift, the cron job checks two things:
- If the scheduled start time has passed by more than 10 minutes and the officer has not clocked in, fire a supervisor alert.
- If a patrol checkpoint was due within a window (based on the tour schedule) and no scan was recorded, fire a supervisor alert.
The alert goes to the supervisor via SMS (Twilio) and push notification (Firebase Cloud Messaging). The supervisor can acknowledge the alert, which stops repeat notifications for that event.
Three problems that make this harder than it sounds:
Timezone handling. A company with posts across 5 time zones must convert every scheduled shift time to UTC before the cron job compares it to the current UTC timestamp. Get this wrong and night shift no-shows trigger false alarms in the afternoon.
Alert deduplication. The cron job runs every 5 minutes. A missed checkpoint must fire one alert, not one alert every 5 minutes until the shift ends. Store an alerted_at timestamp on the no-show event. The cron job skips events where alerted_at is already set.
Escalation. If the supervisor doesn't acknowledge within 15 minutes, escalate to the operations manager. Build a simple escalation chain: officer not clocked in triggers alert to immediate supervisor. No acknowledgment in 15 minutes triggers alert to operations manager. No acknowledgment in 30 minutes triggers alert to the on-call director.
This cron job is the most important piece of the backend. A security company's liability exposure comes from coverage gaps. The software's job is to close those gaps in minutes, not hours.
Timeline and cost
MVP ($140K-$230K, 14-18 weeks)
Covers: post and site management, officer scheduling, mobile app (React Native, iOS and Android), incident report builder with PDF export, basic client portal (site status and reports), billing export. Team: 2 backend engineers, 1 React Native engineer, 1 frontend engineer, 1 designer.
Full platform ($280K-$450K, 26-36 weeks)
Adds: GPS patrol tour verification with checkpoint scanning, post order library with versioned SOPs per site, payroll integration (ADP, Paychex via CSV/SFTP), multi-branch management with regional dashboards, officer performance analytics, and site incident trend reports. Team expands to 3 backend, 1 React Native, 1 frontend, 1 designer.
Infrastructure cost after launch runs $2K-$5K/month for a company with 100-500 active officers. The primary drivers are background location data volume and PDF generation.
Build vs. buy
TrackTik. $200-$400/location/month. The enterprise standard for physical security operations. Excellent GPS tour and client portal features. Gets expensive fast at 10+ sites.
WinTeam. $400-$800+/month. Targets companies doing both janitorial and security. Strong payroll features. Complex to configure.
Build when:
You have 50+ guards and want to white-label the platform for your clients, so they see your brand, not a vendor's.
You're building a security staffing marketplace where multiple operators bid on shifts (a security-specific TaskRabbit model).
You need pricing or compliance logic that off-the-shelf tools can't support.
Use TrackTik or WinTeam when:
You're an operator with fewer than 10 sites who needs a working system today.
You don't have the budget or timeline for a custom build right now.
At 50+ guards and 10+ sites, the monthly licensing cost of TrackTik or WinTeam often exceeds the annualized cost of ownership for a custom platform within 18-24 months.
Tech stack
Backend: Node.js, PostgreSQL
Mobile: React Native (iOS and Android)
Maps and location: Google Maps SDK for site setup and patrol map display, Expo Location with background task for officer GPS
Push notifications: Firebase Cloud Messaging
SMS alerts: Twilio
PDF generation: Puppeteer or React PDF
Payroll export: CSV/SFTP output in ADP and Paychex format
Background jobs: Node-cron or BullMQ for the no-show detection cron and expiration alert queue
The most technically demanding component is the background location service on mobile. iOS in particular aggressively kills background processes. Expo Location's background task mode handles this, but it requires proper configuration of the UIBackgroundModes key and testing on physical devices in real field conditions.
Next steps
If you're building a guard management platform, the place to start is the data model. Map out your post schema, officer profile, and assignment relationship before writing the first API endpoint. The no-show detection cron and the state guard card compliance checks both depend on that foundation being right.
RaftLabs has shipped scheduling and mobile workforce platforms for field service companies. See our field service development work or talk to us about your architecture.
Frequently asked questions
- An MVP covering post/site management, officer scheduling, mobile app (iOS and Android), incident reports, and basic billing export costs $140K-$230K and takes 14-18 weeks. A full platform with GPS patrol tours, client portal, guard card expiration enforcement, post order library, payroll integration, and multi-branch management costs $280K-$450K and takes 26-36 weeks. Team size for the MVP is 2 backend engineers, 1 React Native engineer, 1 frontend engineer, and 1 designer.
- The standard stack: Node.js and PostgreSQL for the backend, React Native for the mobile officer app (iOS and Android), Google Maps SDK for site setup and patrol mapping, Expo Location with background task for GPS tracking, Firebase Cloud Messaging for push notifications, Twilio for supervisor SMS alerts, and Puppeteer or React PDF for incident report PDF generation. For payroll export, build CSV/SFTP output in ADP or Paychex format.
- Run a cron job every 5 minutes. For each active shift, check whether the officer clocked in within 10 minutes of the scheduled start time. For patrol tours, check whether each checkpoint was scanned within the expected window. If either condition fails, send an immediate SMS and push notification to the supervisor. The cron job must handle timezone offsets correctly for multi-site companies, and alerts must deduplicate so supervisors don't receive repeated texts for the same missed checkpoint.
- Store each officer's guard card number, issuing state, and expiration date in their profile. The scheduling engine checks this data before confirming any assignment. If a card is expired or expires within 30 days, the system blocks the assignment and flags the officer. Automated email and SMS go to both the officer and their supervisor before expiration. Expiration warnings at 60 days, 30 days, and 7 days are the standard intervals.
- Use TrackTik or WinTeam when you have fewer than 10 sites and need a working system immediately. TrackTik costs $200-$400/location/month. WinTeam runs $400-$800+/month. Build custom when you have 50+ guards and want to white-label a platform for your clients, or when you are building a security-specific staffing marketplace. At that scale, the licensing cost of TrackTik or WinTeam often exceeds the cost of ownership for a custom platform within 24 months.
Ask an AI
Get an instant summary of this post from your preferred AI assistant.
Related articles

How to Build an App Like Salesforce: Enterprise CRM, Custom Object Architecture, and What Scale Requires
A custom CRM costs $50,000-$90,000 to build. Salesforce costs $99,000 per year for 50 users on the Enterprise plan. Here is what it takes to build your own, what it costs, and when it makes sense.

How to Build Moving Company Management Software
A practical guide to building moving company management software with inventory-based estimating, Bill of Lading generation, crew scheduling, and federal compliance for interstate moves.

How to Build an App Like Substack: Newsletter Platform Architecture
Substack takes 10% of paid subscription revenue. A newsletter doing $20K/month sends $2,000 to Substack every month. Here's the full architecture for building a newsletter platform you own outright.
