Every licensed workforce sells hours it cannot prove. The proof is split across the state registry, the training provider, the time clock and payroll — four systems that never talk. GuardStack joins them, and keeps the receipt.
Not a mockup and not a roadmap. These were produced by running the system against a real 438-person roster.
It reads the state registry, the certificates that land in Outlook, the time clock and payroll, then turns four piles of paper into a decision you can defend.
Every morning: exactly who cannot legally stand a post tomorrow, with the statute cited and the document attached. Verified against the state registry, not against a spreadsheet.
California's training clock runs from guard card issuance, not hire date. Most trackers get this wrong because the issuance date is not in them. We pull it from the registry for every guard.
Training certificates arrive in Outlook. Two independent models read each one and must agree before a compliance date is written. Disagreement goes to a human, never to a guess.
A finding cannot be recorded without a remediation attached — named owner, due date, enforced in the database. Detection without a cure would make you worse off, not better.
Every paid hour mapped to a billed hour or an explicit reason code. The one claim you can verify on your own bank statement, without having to trust us.
Not "someone hit 30 hours." Which posts are carried by a single person above the threshold with no cross-badged backup — each one a cliff you can see coming.
Every determination is written into a tamper-evident chain under your name, dated. It is the one asset that grows more valuable purely by existing.
Which is also why the incumbent cannot answer it. Three products it has never merged, three mutable databases, and no way to backdate a chain. Even a perfect build in 2028 gives its customers a 2028 record.
One operator, 109 active guards, 438 records, and a spreadsheet in which eleven rows were silently invisible. That is who this is for.