MineReady is a mobile-first, English/Spanish demonstration of contractor readiness, Part 46 training workflows, mine approval, and gate check-in/check-out for aggregate and mining operations.
Live demo: mineready.zerodaycyber.io
This is a fictional, browser-local product demonstration. It is not an authoritative training record, approved curriculum, legal certification service, identity system, or production access-control system. Do not enter real worker or mine data.
- A concise first-visit welcome and optional four-step tour of the real product workflows
- A 24-worker fictional roster with clear, restricted, expired, pending, action-required, and on-site examples
- Local fictional worker portraits with no remote image or personal-data dependency
- Search by worker name, ID, employer, role, crew, work order, or training program
- Mine Safety, Employer Admin, and Worker views with English/Spanish switching
- Context-aware readiness checks that explain the status and open the appropriate next action
- Prefilled site-orientation and training assignments without forcing users through unrelated menus
- One-at-a-time worker entry and CSV roster intake
- Part 46-oriented program, task-training, annual-refresher, review, and credited-time demonstrations
- QR pass generation, camera/photo scanning where supported, and manual roster lookup
- Assignment-specific mine approval, holds, check-in, and check-out
- Hardened static delivery with no inline executable scripts, guarded framing, validated browser state, constrained uploads, and pinned dependency integrity
Use the five-minute demo guide for a repeatable presentation. The strongest path is:
- Open Mine Safety → Today to show the populated readiness picture.
- Open People and search for
Carlos MartinezorWO-4821. - Open Carlos at Gate, then select Site orientation current to show the prefilled remediation flow.
- Search for
Mei Chenat Gate to show a worker who is clear for the assignment. - Switch to Employer Admin → People → Add one worker to show direct roster intake.
Use Demo guide at any time to restart the walkthrough. Use Reset demo before a presentation when you want the original fictional state and first-visit welcome.
| Workspace | Demonstrates |
|---|---|
| Mine Safety | Site readiness, exceptions, authorized review, approval, holds, and gate decisions |
| Employer Admin | Worker intake, training assignment, completion progress, and employer-owned actions |
| Worker | Mobile training, knowledge checks, acknowledgment, progress, and QR pass presentation |
Workspace selection changes the demonstration perspective; it is not authentication or server-enforced authorization.
No build step or package installation is required. Serve the repository root with any static HTTP server; opening the files directly with file:// is not supported reliably by browser security controls.
python -m http.server 4174 --bind 127.0.0.1Then open http://127.0.0.1:4174/.
Run the release checks with Node.js 22 or newer:
node scripts/validate-release.mjs
node --check mineready-boot.js
node --check mineready-v111.js
node --check mineready-v112.js
node --check vendor/mr-pass-code.js- Built-in names, companies, work orders, training records, QR identifiers, and portraits are fictional.
- Demo changes are stored in the current browser's local storage and are not synchronized.
- The static site has no account database, analytics SDK, server API, or remote runtime dependency.
- Clearing site data or using Reset demo removes browser-local changes.
- Worker QR codes identify fictional demo records; they are not credentials or proof of authorization.
- Static HTML, CSS, and JavaScript deployed through GitHub Pages
- No build pipeline, package manager, backend, service worker, or production identity provider
- Locally vendored QR generation and decoding libraries with license notices
- Cache-busted release assets and a restrictive browser content-security policy
- Read-only GitHub Actions validation on
main, with immutable action pins and non-persisted checkout credentials
See ARCHITECTURE.md for trust boundaries and design details.
| Path | Purpose |
|---|---|
index.html |
Application shell, security policy, and release asset loading |
mineready-boot.js |
Startup recovery, frame guard, cache retirement, and release indicator |
mineready-v111.js |
Core fictional data and MineReady workflows |
mineready-v112.js |
Training, QR scanning, and camera enhancements |
mineready-v111.css, mineready-v112.css |
Responsive application styling |
assets/workers/ |
Local fictional worker portraits |
vendor/ |
Pinned QR libraries and their license notices |
scripts/validate-release.mjs |
Release-integrity and public-repository checks |
QA_*.json, QA_REPORT.md |
Latest recorded static, browser, and production QA evidence |
- Demo guide
- Architecture and trust boundaries
- Deployment and rollback
- DNS setup
- Security policy
- Support boundaries
- Contributing
- Changelog
- Third-party notices
- QA report
Release 11.7.0 is the hardened prospect-demo release. It removes inline executable scripts, rejects framed execution, validates and bounds browser-local data, constrains QR photo uploads, normalizes roster intake, pins CI actions, and verifies vendored dependency hashes. It retains the optional first-visit welcome, four-step tour, populated roster, local portraits, search, worker intake, and context-aware remediation.
Before using this concept with real operational data, implement authenticated identities, server-enforced permissions, encrypted protected records, durable audit history, retention and deletion rules, approved training content, authoritative certification, incident response, monitoring, backup/recovery, and a documented mine operating process. A qualified mine-safety and legal review is required.
Copyright (c) 2026 Zeroday Security Solutions LLC. This repository is public for viewing and evaluation but remains proprietary. See LICENSE.