Setting a network compliance standard

Every restoration network is tracking some set of compliance frameworks across its membership, HazCom, OSHA recordkeeping, and whatever else your franchisees report progress against. Verinode alrea…

11 min read·Updated July 14, 2026
On this page

What this is

Every restoration network is tracking some set of compliance frameworks across its membership, HazCom, OSHA recordkeeping, and whatever else your franchisees report progress against. Verinode already reads each member's completeness on every framework it tracks and rolls the network's average up onto the Safety page. What that page cannot do on its own is tell you whether a given member's completeness is good enough. Fifty percent complete on HazCom might be fine for a network still ramping up, or it might be a real gap, depending on what you expect. Setting a network compliance standard is how you write that expectation down once, as a target completeness percentage per framework, so Verinode can grade every member against your own bar instead of leaving you to eyeball a raw percentage.

Once a standard exists on a framework, Verinode does three things automatically: it shows how many members currently meet it, it colors the framework red, yellow, or green based on how many are below it, and it lets you jump straight to the single worst-performing member on that framework with one click. Nothing here is surveillance. Verinode never opens a member's underlying compliance records, audit files, or program documents to produce this. It reads the same completeness percentage already surfacing on the page and compares it to the number you set, that is the entire mechanism.

Where to find it

Open the Compliance band in the HQ sidebar, then click Safety. That opens the Safety page at hq.verinode.ai/safety.

The Safety page runs several rows top to bottom: a Network Safety hero, Compliance Frameworks (the row this article covers), Network Follow-Through, Safety Cert Coverage Gaps, Safety Incidents, PPE Requirements, and Mandatory OSHA Requirements. Standards and per-framework grading live entirely inside the Compliance Frameworks row, second from the top.

Note

This is a different surface from the Safety Incidents row on the Compliance page (hq.verinode.ai/brand-compliance), which watches for the same incident type repeating across a cluster of members. This page's Compliance Frameworks row is about program completeness, HazCom, recordkeeping, and similar, graded against a target you set, not incident patterns.

The empty state, before any framework has data

If no framework has any completeness data yet anywhere in the network, the Compliance Frameworks row reads:

Framework completeness (HazCom, OSHA recordkeeping) appears across the network as franchisees build and forward their programs.

There is nothing to set a standard on until at least one member has started reporting on at least one framework.

The one-click "Adopt 80% standard" trigger

Once framework data exists but no standard has been set on any framework yet, a dashed tile appears at the front of the Compliance Frameworks row, ahead of every framework tile. It reads:

  • Eyebrow: Set network standard
  • Headline: Require 80% framework completeness across the network
  • Body copy: "Each franchisee is graded against the standard; those below surface as at-risk. Tighten per framework later."
  • A button reading Adopt 80% standard →
  1. 1Click Adopt 80% standard →. The button reads Setting… while the action runs.
  2. 2Verinode looks at every framework your network has real completeness data for, meaning at least one member is reporting above 0% on it, and gives each of those frameworks a required standard of 80% completeness.
  3. 3The page refreshes. Every framework that just received a standard now shows a target and a meets/below-standard count instead of a plain tracked count.
  4. 4The Set network standard tile itself disappears from the row the moment any framework in your network has a standard, whether from this action or set another way. It will not reappear once at least one framework is standardized.

A few things worth knowing about exactly what this click does and does not do:

  • It only touches frameworks the network is actually using. A framework with zero completeness across every member (nobody has started on it) is skipped entirely. Adopting a required 80% bar on a program no one is subject to yet would just flood every member with a non-compliance flag for something that may not even apply to them. Those untouched frameworks stay unstandardized until the network has real engagement to grade against.
  • It never overwrites an existing standard. If a framework already carries a target, one-click adopt leaves it alone and only fills in the frameworks that don't have one yet.
  • It can silently do nothing. If every framework with real data already has a standard, or if no framework has any completeness data above zero yet, clicking Adopt succeeds but standardizes zero frameworks. There's no separate confirmation message distinguishing "adopted 3 frameworks" from "adopted none," so if the row still shows the Set network standard tile after clicking and refreshing, it means nothing in your network currently qualifies, not that the click failed.
  • Only HQ admins can trigger it. A non-admin who somehow reaches this action gets "Only group admins can set standards." back instead of a change.
  • 80% is the number this trigger uses. It's the sensible default: high enough to mean something, achievable enough that a network in the middle of rollout isn't instantly flagged red across the board. There is no control on this tile to pick a different starting percentage; 80% is what one click gives you.

Per-framework target completeness

Underneath the one-click trigger, Verinode's grading is built so that every framework carries its own independent target percentage, not one network-wide number. When you adopt the default, every eligible framework gets the same 80% starting point, but the underlying standard is stored per framework, so HazCom and OSHA recordkeeping are graded against their own bar, not a shared one. That distinction matters once a network wants a stricter bar on a framework that carries more regulatory weight and a looser one on something newer to the program.

Today, the one-click trigger is the only control exposed for setting these targets. A dedicated per-framework editor, letting you type a different number in for one framework without touching the rest, is on the roadmap and not yet part of this page. Until then, "tighten per framework later," the line in the trigger tile itself, describes an intent the platform is built to support, not a button you'll find on this page yet.

The met / warning / missed grading

Every member's completeness percentage on a framework is graded against that framework's target using three bands:

  • Met, the member's completeness is at or above the target.
  • Warning, the member is below the target but still within a tolerance band, up to 20% under the target. Close enough that it's a soft flag, not an emergency.
  • Missed, the member is more than 20% under the target. This is where the framework's at-risk count comes from.

For example, on a framework standardized at 80%, a member at 82% is Met, a member at 68% is within the 20%-under tolerance band (Warning), and a member at 60% is Missed. The threshold scales with the target: a stricter framework's tolerance band sits at a higher raw percentage than a looser one's.

This grading is what turns a flat completeness number into an actionable standard. Without a target, all Verinode can show you is a raw percentage and a readiness color based on the network average. With a target set, every member gets sorted into meeting the bar or not, and the framework tile itself becomes a live count of who's keeping the network's promise and who isn't.

Reading a framework tile

Once at least one standard exists, the Compliance Frameworks row shows one tile per framework, whether or not that specific framework has its own standard yet:

  • Label, reads Standard 80% (or whatever the target is) once a target is set, or N tracked (the count of members reporting on it) when it isn't.
  • Headline, the framework's name, for example HazCom.
  • Sub-line, with a standard set: "X of Y meet the Z% standard · N% network avg." Without a standard: "N% network avg · G ready / A partial / R at risk," the network's own readiness tiering.
  • Meta line, "N at risk" when at least one member is below standard (or shows red readiness without a standard), or "On track" when nobody is.
  • A dot preview, a small visual strip under the numbers showing the tracked count with the at-risk share highlighted, so a heavily-flagged framework reads as more crowded with flagged dots at a glance.
  • Accent color, green when every member meets the standard, yellow when up to half are below it, red when more than half are below it. (Without a standard set, the same coloring runs off the network average instead: green at 80% and above, yellow from 50% to 80%, red under 50%.)

Clicking a framework tile does not open a list. It jumps you straight to the single worst-performing member on that specific framework, the member with the lowest completeness percentage against that framework anywhere in the network, and opens their record on the Franchisees page. If every member on that framework meets the standard, there's no at-risk member to route to and the click does nothing. This is the practical shape of "the at-risk list" on this page: not a table you scroll, but a direct line to whoever needs the conversation most, for that specific framework.

Tip

Work the reddest tiles first. A framework showing "On track" or a green accent needs no attention this week; a framework with a large "N at risk" count and a red accent is where clicking through gets you to the member whose gap is largest right now.

Privacy boundary

Compliance Frameworks reads the same completeness percentages Verinode already computes from each member's compliance program data, never the underlying documents, audit findings, or program content behind that percentage. HQ sees a number and a grade against it, nothing else.

Member names follow the same rule as the rest of the Safety page and the wider HQ platform: if your network is configured as independently owned franchisees, each member appears under a stable anonymized label rather than their real name, so a framework tile's click-through can point you at "the worst-performing member" without exposing one franchisee's standing to another by name on a shared network view. If your network is configured as commonly owned, multi-location operations, member names show in full, since there's no separate-ownership boundary to protect. Either way, franchisees keep ownership of the program data behind their completeness number; a standard exists to give HQ a shared, honest bar, not a window into any single member's compliance files.

On mobile

The HQ mobile app carries the same feature under Safety, as a Framework Readiness figure (network average completeness across every framework tracked, with a count of "office-frameworks at risk" beneath it) and, further down the page, a Compliance frameworks list showing each framework's network average and meet-standard count, plus a Framework risk list of the specific member-and-framework pairs currently below standard, worst first. There's no one-click adopt trigger on mobile; standards are set from the HQ web app and read from mobile.

How to use it

  1. 1Open Safety from the Compliance band and scroll to Compliance Frameworks.
  2. 2If you see the dashed Set network standard tile, click Adopt 80% standard → to put a working bar under every framework your network is already engaged with. This is a one-time bulk action, not a recurring one, run it once to get every eligible framework standardized.
  3. 3Scan the resulting tiles for red accents and high "N at risk" counts. Those are the frameworks where the network is furthest from its own bar.
  4. 4Click a red tile to jump straight to the worst-performing member on that framework and start the conversation from there.
  5. 5Revisit the row periodically as new members start reporting on frameworks that had no data before, since those frameworks won't get pulled into a standard automatically until you run the adopt action again (or a future per-framework editor ships).

Empty states, summarized

  • No framework data anywhere in the network. The row reads: "Framework completeness (HazCom, OSHA recordkeeping) appears across the network as franchisees build and forward their programs." No tile, standard or otherwise, appears.
  • Framework data exists, no standard set yet. The dashed Set network standard tile leads the row, ahead of the plain framework tiles (which show a tracked count and readiness color, no target).
  • Adopt clicked, nothing eligible. The action reports success but standardizes zero frameworks; the trigger tile stays visible because no framework in the network yet qualifies. This is not a bug, it means every framework with a standard already has one, or no framework has real completeness above zero yet.
  • At least one standard exists. The trigger tile disappears from the row permanently (until you'd need to clear every existing standard to bring it back); every framework tile shows either its own standard-graded numbers or, for frameworks the network hasn't standardized yet, the plain tracked-and-readiness view.

Data sources

  1. 1.Per-member framework completeness percentage, by framework. Verinode network intelligence layer.
  2. 2.HQ-set framework standards (target completeness %, required flag). Verinode network intelligence layer.
Was this helpful?