clientscontracts

Local Prevailing Wage Rules for Security Contracts

Edison U. •

An account manager bids a routine office-building contract, wins it, and three weeks in gets a call from the client’s contract administrator asking why the invoice doesn’t reflect the wage schedule attached to the RFP. There was no federal money in this deal, no Service Contract Act determination, nothing that would normally trigger a wage floor above what the market pays. But the building sits on land the city has an interest in, or the lease runs through an agency with its own procurement rules, and somewhere in the fine print is a local ordinance nobody on the sales side thought to check. Local prevailing wage laws security guards work under are not a niche federal topic — they show up at the city and county level too, and the coverage is uneven enough that assuming your market is clear because a client three states away wasn’t is a real way to lose money on a signed contract.

Local prevailing wage laws security guards face vary by city, not just by state

The federal wage-determination framework that applies to certain government contracts is the version most owners learn about first, because it’s the one with the most public documentation and the clearest paper trail. But a number of cities and states have built their own versions — sometimes framed as prevailing-wage ordinances, sometimes as building-service worker ordinances, sometimes folded into broader living-wage rules — that apply to contracts for services performed on public property, in publicly leased space, or for agencies that fall under municipal or county procurement policy. Whether “security guard” counts as a covered building-service occupation under any given local ordinance, and whether a particular contract or property triggers it at all, depends entirely on the text of that specific ordinance and how the administering agency has interpreted it.

This matters operationally because these rules don’t map cleanly onto a single national pattern. A contract type that’s fully exempt in one jurisdiction can be squarely covered two counties over, with no obvious signal in the RFP language to tell you which situation you’re in until someone checks.

Why coverage reads like a patchwork instead of a rule

The trigger for a local ordinance to apply is rarely just “the client is a government agency.” It can hinge on the value of the contract, the ownership of the property, whether the contract was competitively bid, whether the building receives certain public subsidies, or whether the occupation is explicitly named in the ordinance’s coverage list. Two contracts that look identical from the security company’s side — same building type, same scope of work, same number of posts — can land on opposite sides of a wage-ordinance line because of ownership or funding details the guard company never sees during the sales process.

That’s the part worth internalizing: coverage isn’t a property of the industry, it’s a property of the specific contract, the specific jurisdiction, and often the specific fiscal year, because these ordinances get amended and their thresholds adjusted over time. A wage requirement that didn’t apply to a renewal two years ago can apply to the same contract’s next renewal if the ordinance changed in between.

The supervisor dispatch console showing active security contracts across multiple client sites in a single view

The mistake of assuming your neighbor’s exemption applies to you

Owners who operate across a metro area that spans multiple municipalities run into this in a very specific way: a contract in the suburb is fine, no wage ordinance in play, and the operations team develops an instinct that this class of client — office parks, small municipal buildings, community centers — just isn’t covered. Then the same client type inside the city limits, or one town over, turns out to sit under a local ordinance the suburb never adopted. Nothing about the work changed. The jurisdiction did.

This is where a bidding process built on pattern-matching from past contracts quietly fails. “We’ve never had a wage requirement on a contract like this before” is not the same statement as “this contract type is exempt,” and treating them as equivalent is how a company ends up either underbidding a covered contract or, just as costly, walking away from business it assumed would require a wage floor that the actual ordinance never imposed.

Building the check into how you price, not after the fact

The fix isn’t memorizing every local ordinance in every market you serve — that’s neither realistic nor stable, since these rules change. It’s building a standing step into the proposal process: before a bid goes out for any contract involving a public building, publicly leased space, or an agency contract, someone confirms directly with the administering local agency whether a prevailing-wage or building-service ordinance applies to that specific property and contract, and gets that confirmation in writing where possible. That single verification step, done consistently, catches more coverage gaps than any amount of institutional memory about which client types “usually” require it.

This is also a case where clean records earn their keep. A contract administration process that tracks each contract’s jurisdiction, funding source, and whatever wage documentation applies to it — rather than relying on someone remembering the details of a bid from a year ago — makes the next renewal or the next RFP in the same jurisdiction faster to check, and makes it far easier to defend your billing if a client’s contract administrator ever asks. Software that centralizes contract and billing records by site, rather than scattering that detail across emails and spreadsheets, is a meaningful part of that discipline — not because it knows the law, but because it makes the facts of each contract easy to find when the law needs checking.

Pricing a contract that might carry a local wage requirement also means building the bill rate around whichever wage floor actually applies, rather than the market rate you’d default to elsewhere. Working through what actually drives a guard bill rate is a useful exercise once you know a contract is covered, since a wage-ordinance rate needs to flow through to the client price cleanly rather than getting absorbed as margin the company didn’t plan to give up.

The supervisor console dashboard showing site-level contract and billing details used to verify wage documentation

What this means for how you bid

None of this is a reason to price every contract for the worst-case wage scenario, which just prices you out of business that was never covered in the first place. It’s a reason to treat “is this covered by a local prevailing wage ordinance” as a standard question in your bid process, answered by checking with the actual administering agency for that specific jurisdiction and property, not by pattern-matching against past contracts. Coverage rules vary by city and state, change over time, and are ultimately determined by the text of the local ordinance and how that agency applies it — this post describes the shape of the problem, not the rule for any specific jurisdiction, and it isn’t legal advice. Confirm with the administering agency and with counsel before you price a contract that might be covered.

If you want a cleaner way to track contract terms, billing, and site documentation across every client you serve, see how CGuardPro’s billing tools fit into your process, or get in touch to talk through your specific markets.

Run the whole operation in one place

Shifts, attendance, patrols, incident logs and clients on one platform — with the guard app on site and the client portal on the other side.

  • Attendance with selfie and GPS
  • QR patrols and a digital logbook
  • Client portal included

Keep reading