Catch every missing hard hatbefore the shift ends.
Continuous, per-feed PPE verification across every area, every shift. No more quarterly photo-ops or clipboard walkarounds — just real-time evidence and a queue your supervisors actually clear.
PPE compliance gets measured in the wrong places.
Manual inspection samples minutes from a week that's 10,080 minutes long. The missing coverage is where the incidents live.
Detect, attribute, and log — every frame, every feed.
Ten ships-with PPE classes, rules framed in plain English, and an operator UX designed for people who wear steel-toes to work.
“Hard hat + hi-vis required in Area B from 06:00 to 22:00.”
Every rule reads like a sentence a safety manager would actually write. Behind the scenes it compiles to a deterministic evaluator with an audit trail. Change history is diff-able — you can prove to an auditor exactly which rule was active on the day of an incident.
Live feed wall
Up to 24 cameras at a glance. Violations highlight the offending worker with a class label.
Event queue
Triage, acknowledge, reassign, or mark false positive. Every action is logged with operator ID.
Weekly compliance PDF
Auto-generated, area-by-area breakdown. Drop it into your ISO 45001 audit pack unchanged.
Technical measurements, not marketing copy.
Lab-measured figures on reference hardware. Pilot-stage deployment numbers will replace these once available.
Three rules, copy-paste-ready.
The editor is visual — but rules export as YAML for version control and peer review.
rule: ppe-area-b-day
area: polygon("Area B - Assembly")
schedule: Mon-Sat 06:00-22:00
required_on: person
required_items:
- hard_hat
- hi_vis_vest
dwell_seconds: 4
on_violation:
- notify: teams("#ehs-plant-04")
- snapshot: s3://evidence/ppe/
- escalate_after: 5mrule: ppe-grinding-cell
area: polygon("Grinding Cell 3")
schedule: always
required_on: person
required_items:
- hard_hat
- safety_goggles
- hearing_protection
- cut_gloves
dwell_seconds: 2
on_violation:
- notify: teams("#grinding-ops")
- plc_out: "bay3.warning_lamp" # amber beaconrule: ppe-visitors
area: polygon("Visitor Corridor")
schedule: always
applies_to: person[role=visitor]
required_items:
- hi_vis_vest
- safety_goggles
on_violation:
- notify: email("reception@site.com")
- hold_badge: trueThe model that ships with every PPE release bundle.
Every release bundle carries a signed model card and datasheet. The cross-repo contract below is what the on-appliance inference stack enforces at load time.
| Architecture | RF-DETR-Nano (transformer-based object detector) Trained on public PPE datasets; fine-tuned per-customer on redacted site footage when needed. |
| ONNX signature | input: 1x3x640x640 · output: detection boxes + class probs Frozen across releases — changing it requires a coordinated core-library update. |
| Class coverage | Hard hat, hi-vis vest, safety goggles, face shield, cut gloves, hearing protection, person, and four negative-case classes. Exact index mapping lives in the release bundle's labels.txt. |
| Eval metrics (baseline) | — pilot-pending Real per-class mAP@[.5:.95] published with each release once a pilot baseline exists. |
| Release cadence | Quarterly major, monthly minor for per-site fine-tunes. Every release ships a model card (Gebru datasheet + Hugging Face model-card format). |
| Weight provenance | Allowlisted sources only — Apache-2.0 or MIT. Training refuses to start if the base checkpoint is not in configs/weight_allowlist.yaml. |
One detection, end-to-end, in under a second.
Events flow from the camera through the on-appliance event bus to your operator tooling. Everything stays on-premise until the last hop.
What continuous monitoring replaces, in labour hours.
A conservative calculator. Adjust the inputs to your reality. The only number that appears is the one your inputs produce.
formula: (minutes × checks × days / 60) × €/h
Incident-cost avoidance and regulatory-fine exposure are NOT included — those are customer-specific and the founder does not publish estimates without real pilot data.
Every shift. Every area.
Show us a recorded clip of a shift change. We'll come back with a live PPE-compliance preview against your actual site.