{"exportedAt":"2026-10-24T19:59:40.541Z","tenant":{"id":"go-tee73es_cZNuy","userId":"u_87b1759487214343","name":"Construction Operations","region":"KSA","timezone":"Asia/Riyadh","createdAt":"2026-10-24T19:59:40.505Z","updatedAt":"2026-10-24T19:59:40.505Z"},"sites":[{"id":"eEO4Yerl5UPsfZQz","tenantId":"go-tee73es_cZNuy","name":"Riyadh Metro Package A","code":"RMP-A","location":"Riyadh","clientName":"Client / developer","managerName":"HSE Manager","status":"active","startDate":"2026-10-24","targetDate":"2026-12-31","createdAt":"2026-10-24T19:59:40.518Z","updatedAt":"2026-10-24T19:59:40.518Z"}],"dailyReports":[{"id":"hwxmDwTba_VzVt6L","siteId":"eEO4Yerl5UPsfZQz","reportDate":"2026-10-24","shift":"day","weather":"clear","manpower":126,"equipmentCount":18,"progressPercent":42,"progressSummary":"Concrete pour completed for Zone B; MEP rough-in started on Level 2.","blockers":"Permit coordination and material delivery window need follow-up.","safetyNotes":"Toolbox talk completed; heat stress controls active.","status":"submitted","createdBy":"u_87b1759487214343","createdAt":"2026-10-24T19:59:40.518Z","updatedAt":"2026-10-24T19:59:40.518Z"}],"observations":[{"id":"JJDC6owb0VXnGkC6","siteId":"eEO4Yerl5UPsfZQz","reportId":"hwxmDwTba_VzVt6L","type":"safety","severity":"high","status":"open","title":"Missing edge protection at Level 3 west slab","description":"Open edge was found without complete barricade. Immediate control and corrective action required.","location":"Level 3 · west slab","assignee":"Safety officer","dueDate":"2026-10-24","createdBy":"u_87b1759487214343","resolvedAt":null,"createdAt":"2026-10-24T19:59:40.518Z","updatedAt":"2026-10-24T19:59:40.518Z"},{"id":"UBon-6sTi1qKm10Q","siteId":"eEO4Yerl5UPsfZQz","reportId":"hwxmDwTba_VzVt6L","type":"quality","severity":"medium","status":"open","title":"Rebar cover check pending before pour","description":"QA/QC needs cover block confirmation before next pour release.","location":"Zone B · grid C4","assignee":"QA/QC inspector","dueDate":"2026-10-24","createdBy":"u_87b1759487214343","resolvedAt":null,"createdAt":"2026-10-24T19:59:40.518Z","updatedAt":"2026-10-24T19:59:40.518Z"}],"criticalControls":{"summary":{"total":7,"ready":2,"watch":3,"needsInput":2,"blocked":0,"highOrCriticalRisk":3,"nextAction":"Collect customer inputs for PTW/JSA, contractor competency, escalation, and camera/VMS details."},"controls":[{"id":"ptw-jsa-high-risk-work","family":"permit_to_work","title":"Permit-to-work and JSA linkage","reviewQuestion":"Can every high-risk task prove valid work authorization, JSA controls, receiver/approver, zone, time window, and close-out evidence?","requiredEvidence":["Permit/JSA reference","approved controls","task owner","zone","closure evidence"],"siteguardCoverage":"Detection alerts and corrective actions carry site, zone, owner, due date, evidence, and audit trail. Dedicated permit/JSA source integration is the next enterprise input.","ownerRole":"Permit receiver + HSE manager","permitOrJsa":"Required before high-risk work starts","lifeSavingRule":"Work authorization","verificationEvidence":"Observation/action record linked to evidence and audit event","closeOutRequirement":"Supervisor verifies control restored before work continues","state":"demo_ready","residualRisk":"high","nextRequired":"Capture customer permit/JSA taxonomy and approval roles.","linkedSites":1,"linkedOpenActions":0,"linkedEvidence":1,"linkedLiveEvents":0,"readiness":"watch","readinessReason":"Capture customer permit/JSA taxonomy and approval roles."},{"id":"work-at-height-edge-protection","family":"life_saving_rule","title":"Work at height / edge protection","reviewQuestion":"Are fall-prevention controls visible, assigned, verified, and closed before exposure continues?","requiredEvidence":["barricade inspection","photo/video evidence","assignee","due date","verification note"],"siteguardCoverage":"Seeded dashboard/evidence already includes a high-severity edge-protection action; CCTV can support PPE context but does not claim fall-risk detection yet.","ownerRole":"Site safety officer","permitOrJsa":"JSA fall-prevention control","lifeSavingRule":"Work at height","verificationEvidence":"Manual evidence + observation close-out","closeOutRequirement":"Photo proof and HSE approval before reopening area","state":"implemented","residualRisk":"medium","nextRequired":"Add specialized fall-risk model/sensor only after customer camera placement is known.","linkedSites":1,"linkedOpenActions":1,"linkedEvidence":1,"linkedLiveEvents":0,"readiness":"ready","readinessReason":"Implemented with current workspace evidence and audit path."},{"id":"ppe-critical-zone-access","family":"life_saving_rule","title":"PPE compliance at controlled access zones","reviewQuestion":"Can the system confirm missing hard hat / vest / harness violations with model status, privacy controls, human triage, and corrective action?","requiredEvidence":["camera","zone","required PPE","K-of-N confirmation","blurred snapshot","triage outcome"],"siteguardCoverage":"Live monitoring and uploaded-video analysis persist confirmed PPE events, blurred evidence, alert status, and false-positive/resolution actions.","ownerRole":"HSE control-room operator","permitOrJsa":"Site entry and zone-specific PPE controls","lifeSavingRule":"Bypassing safety controls","verificationEvidence":"Live Monitoring → Alerts → Evidence → Audit trail","closeOutRequirement":"Assign, resolve, or mark false positive with reason","state":"implemented","residualRisk":"medium","nextRequired":"Configure real PPE YOLO weights before any real-detection demo claim.","linkedSites":1,"linkedOpenActions":0,"linkedEvidence":0,"linkedLiveEvents":0,"readiness":"watch","readinessReason":"Detector flow is implemented; run a real/model-backed sample or uploaded video to attach event evidence."},{"id":"lifting-line-of-fire","family":"life_saving_rule","title":"Lifting and line-of-fire controls","reviewQuestion":"Are lifting zones, exclusion areas, spotters, and line-of-fire findings visible as critical controls rather than generic observations?","requiredEvidence":["lift plan reference","exclusion-zone evidence","spotter/owner","corrective action"],"siteguardCoverage":"Modeled as a critical-control row with observation/evidence linkage; no fake lifting detection is claimed.","ownerRole":"Lifting supervisor","permitOrJsa":"Lift plan + JSA","lifeSavingRule":"Safe mechanical lifting / line of fire","verificationEvidence":"Manual evidence and action record until specialized detector exists","closeOutRequirement":"Lift supervisor validates exclusion zone restored","state":"needs_customer_input","residualRisk":"high","nextRequired":"Capture lifting permit fields and customer camera coverage.","linkedSites":1,"linkedOpenActions":0,"linkedEvidence":0,"linkedLiveEvents":0,"readiness":"needs_input","readinessReason":"Capture lifting permit fields and customer camera coverage."},{"id":"contractor-competency-matrix","family":"contractor_hse","title":"Contractor competency and authorization","reviewQuestion":"Can each contractor prove orientation, trade competency, HSE staffing, and role authorization for critical work?","requiredEvidence":["contractor","role","training status","authorization","expiry"],"siteguardCoverage":"Exposed as required enterprise input; not hidden inside CCTV. Current actions can assign owners but do not manage competency records yet.","ownerRole":"Contractor HSE lead","permitOrJsa":"Competency gate before permit approval","lifeSavingRule":"Work authorization","verificationEvidence":"Future competency register + audit history","closeOutRequirement":"Expired/missing competencies block permit approval","state":"needs_customer_input","residualRisk":"high","nextRequired":"Define contractor master data and training matrix fields.","linkedSites":1,"linkedOpenActions":0,"linkedEvidence":0,"linkedLiveEvents":0,"readiness":"needs_input","readinessReason":"Define contractor master data and training matrix fields."},{"id":"emergency-stop-work-escalation","family":"emergency_response","title":"Stop-work and emergency escalation","reviewQuestion":"Do critical findings have a named escalation route, stop-work authority, drill/readiness evidence, and effectiveness review?","requiredEvidence":["escalation contact","stop-work decision","timestamp","closure verification","effectiveness note"],"siteguardCoverage":"Alert lifecycle is implemented; real email/manager routing stays gated until SMTP and recipients are configured.","ownerRole":"Emergency coordinator + project director","permitOrJsa":"Emergency response plan","lifeSavingRule":"Stop work authority","verificationEvidence":"Alert status + audit event + corrective action closure","closeOutRequirement":"Record response time and post-event effectiveness review","state":"demo_ready","residualRisk":"medium","nextRequired":"Configure customer escalation contacts and drill evidence.","linkedSites":1,"linkedOpenActions":0,"linkedEvidence":0,"linkedLiveEvents":0,"readiness":"watch","readinessReason":"Configure customer escalation contacts and drill evidence."},{"id":"privacy-chain-of-custody","family":"ai_governance","title":"Privacy-safe AI evidence and chain of custody","reviewQuestion":"Can SiteGuard prove raw CCTV is not leaked, evidence is blurred/minimized, model status is honest, and audit metadata is tamper-evident enough for review?","requiredEvidence":["blurred snapshot","model status","hash","audit event","retention policy"],"siteguardCoverage":"Local YOLO hot path, modelLoaded=false honesty, blurred evidence, SHA-256 image hash, no raw video persistence by default, and audit records.","ownerRole":"HSE systems owner + data/privacy lead","permitOrJsa":"Data governance control","lifeSavingRule":"Bypassing safety controls","verificationEvidence":"Evidence hash + audit trail + detector health","closeOutRequirement":"Retention and residency policy approved before production","state":"implemented","residualRisk":"low","nextRequired":"Approve customer retention/residency policy.","linkedSites":1,"linkedOpenActions":0,"linkedEvidence":0,"linkedLiveEvents":0,"readiness":"ready","readinessReason":"Implemented with current workspace evidence and audit path."}]},"auditSummary":[{"id":"EuZMavJ0EuIV7COk","userId":"u_87b1759487214343","projectId":null,"action":"construction.export","targetType":"construction_workspace","targetId":"go-tee73es_cZNuy","ipAddress":"216.73.216.212","userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","metadata":{"siteCount":1,"reportCount":1,"observationCount":2},"createdAt":"2026-10-24T19:59:40.536Z"},{"id":"4uY_3G3kxd567llo","userId":"u_87b1759487214343","projectId":null,"action":"construction.demo.seed","targetType":"construction_tenant","targetId":"go-tee73es_cZNuy","ipAddress":null,"userAgent":null,"metadata":{"siteId":"eEO4Yerl5UPsfZQz","reportId":"hwxmDwTba_VzVt6L","observationId":"JJDC6owb0VXnGkC6"},"createdAt":"2026-10-24T19:59:40.518Z"},{"id":"mO_-avyOByQJ5ARv","userId":"u_87b1759487214343","projectId":null,"action":"construction.tenant.bootstrap","targetType":"construction_tenant","targetId":"go-tee73es_cZNuy","ipAddress":null,"userAgent":null,"metadata":{"region":"KSA","timezone":"Asia/Riyadh"},"createdAt":"2026-10-24T19:59:40.505Z"}]}