SafetyIQ: IIPP Creator, SDS Inventory, and OSHA Sync in One Place
How SafetyIQ builds a client's IIPP, keeps the SDS chemical inventory current with a camera scan, syncs public OSHA data, and tracks training as evidence.
Last week we walked through what Title 8, section 3203 requires of a California Injury and Illness Prevention Program and argued that the IIPP is underwriting evidence, not just compliance paperwork. This week is about the tool we built to act on that argument.
SafetyIQ is the HALO IQ module where a PEO manages its clients' safety programs: the IIPP itself, the chemical inventory that sits beside it, the public OSHA record that an underwriter will look at whether or not the PEO does, and the training records that prove the program is running. The design premise is that these four things are one file, and that the file should exist before a carrier, an inspector, or a plaintiff's attorney asks for it.
The IIPP creator
The first thing SafetyIQ does for a new California client is build the program. Not a template with blanks; a program generated from what the client actually does.
The creator starts from the client's data already in the workspace: industry, class codes, locations, headcount, and whatever the SDS inventory and OSHA sync have already surfaced. From that it drafts each of the seven required elements for the client's operations. The responsible-person element names an actual person from the client's roster. The hazard identification element lists the hazards that go with the client's class codes and chemicals rather than a generic list. The training element produces a schedule with the specific topics the regulation requires for those hazards, and the inspection element sets a cadence and a checklist that matches the worksite.
The AI's role here is drafting. It reads the client's profile and produces a first version that a safety coordinator reviews, edits, and approves. We do not publish an IIPP without that review, because the regulation requires a program the employer actually implements, and a program nobody at the client has read is not implemented.
Once approved, the IIPP is versioned. When a client adds a location, introduces a new process, or picks up a new chemical, the program is updated and the change is dated, which matters because the regulation specifically requires inspections and training when new hazards are introduced. The version history is the proof that the program responded.
The SDS inventory and the camera scan
Hazard communication is the standard that sits next to the IIPP in nearly every inspection, and the safety data sheet inventory is where most small employers fail it. The SDS binder exists; it has not been updated since the person who built it left.
SafetyIQ keeps the inventory as data rather than a binder. Each chemical at each location is a record with its product name, manufacturer, hazard classification, and the current SDS attached. The camera scan is how the records get created and kept current: a supervisor walks the shop with a phone, photographs each product label, and the module identifies the product, finds or requests the current SDS, and adds or updates the record. The inventory is seeded from PubChem's public chemical data so that common substances resolve immediately.
The scan is the part clients actually use, because it fits how a shop works. Nobody is going to sit at a desk and type in forty product names. Everybody will walk the floor with a phone once a quarter if that is what the inspection checklist says to do.
The inventory feeds back into the IIPP. A new chemical with a hazard classification the program did not already address triggers a flag on the hazard identification element and a training item for the affected employees. That is the regulation's logic, implemented as a workflow rather than a reminder.
OSHA sync: the record the underwriter already has
Every federal OSHA inspection, citation, and penalty is public, and so is the Cal/OSHA enforcement record. A carrier underwriter reviewing a submission for a client in a hazardous class will pull it. The PEO should see it first.
SafetyIQ syncs the client's public inspection and citation history from OSHA's enforcement data into the client's safety profile. The PEO sees what the underwriter will see: inspection dates, the standards cited, the penalty amounts, and whether citations were contested or settled. For a prospect, that record is part of the underwriting picture alongside the loss runs. For an existing client, it is the baseline against which the safety program's results are measured.
The sync also catches the thing that surprises PEOs most often: a client with a clean loss run and an ugly citation history. Injuries and inspections are correlated but not identical, and a client that has been cited for the same hazard twice without an injury is a client where the injury is coming. The IIPP's hazard correction element exists for exactly that case, and the sync puts the citation where the correction can be tracked.
Training as evidence
The training element of the IIPP requires training at program establishment, at hire, at reassignment, and whenever new hazards appear, and the recordkeeping element requires the employee, the date, the type, and the provider for each session. SafetyIQ tracks all of it.
Training records are per employee and per topic, with the dates, the content delivered, and the person who delivered it. The schedule is driven by the IIPP: when the program says forklift operators need refresher training on a cadence, the module tracks who is due. When a new hire comes through onboarding, the required new-hire topics for that job are assigned automatically. When the SDS inventory adds a chemical with a hazard class, the affected employees get a training item.
The output is the roster an inspector asks for, and the roster an underwriter asks for. We built it so that producing either one is a report, not a project.
Safety as underwriting evidence
Here is where the module earns its place in a platform built for PEO underwriting rather than just PEO compliance.
A PEO pricing a prospect with hazardous class codes has three sources of information about the risk: the loss runs, the mod, and whatever the prospect says about its safety program. The first two lag reality by years. The third is usually a sentence in a questionnaire. SafetyIQ gives the PEO a fourth source that reflects the present: the inspection records, the training completion, the chemical inventory, and the public citation history, all current.
In the underwriting flow, that record sits beside the ModIQ loss analysis. A client whose mod is 1.15 because of two claims three years ago, and whose current program shows quarterly inspections, complete training, and no open hazards, is a different risk from one with the same mod and no program. ModIQ's loss pick can reflect that; the proposal's risk narrative can state it; and the carrier submission assembled in the Distribution Hub can include the records rather than an assertion.
At renewal the record is the story. A client whose incident count dropped after the program started, with the dates to prove it, is a client the PEO can argue for with its carrier.
What it does not do
SafetyIQ does not make a client safe. It makes the program the client is supposed to run visible, trackable, and provable, and it removes the excuses for not running it. The inspections still have to happen; a supervisor still has to walk the floor with the phone; the training still has to be delivered by someone who knows the material. A PEO that treats the module as a compliance checkbox will get a well-documented program nobody follows, which is roughly what they have now.
It also does not currently extend to every state's specific program requirements. The IIPP creator is built around California's section 3203 because that is where the requirement is most specific and where our own PEO operates. Other states have comparable requirements or none; the SDS inventory, OSHA sync, and training tracking apply everywhere.
We could have built SafetyIQ as a standalone safety app. We did not, because the value of the record is in where it shows up: next to the loss runs in underwriting, inside the proposal's risk section, in the carrier packet, and in the client's workspace in ConnectIQ where the account manager sees that the quarterly inspection is overdue. Safety data that lives in its own system is compliance. Safety data that lives in the underwriting workflow is pricing.
That is the bet. A PEO that can show its carrier what its clients' safety programs actually look like, with records, should get better terms than one that cannot. We built the module to make the showing easy.
HALO IQ
Underwrite and deliver the proposal in one file.
Submissions, mods, and proposals for PEO operators and brokers, without the spreadsheet handoff.
Was this article helpful?
