{"service":"scrimed-cyber-defense-command-center","status":"scrimed-cyber-defense-active-no-secrets-no-phi","route":"/scrimed-cyber-defense","apiRoute":"/api/scrimed-cyber-defense","safetyPolicyVersion":"scrimed-safety-governance-v2026-06-29","boundary":"SCRIMED Cyber Defense Command Center is a synthetic/no-PHI security-readiness and control-monitoring layer. It does not claim security certification, HIPAA compliance, SOC 2, HITRUST, penetration-test completion, breach immunity, PHI authority, production connector approval, or customer go-live.","scorecard":{"enforcedControlCount":6,"monitoredControlCount":2,"plannedControlCount":1,"criticalThreatCount":2,"highThreatCount":3,"buyerDiligenceCardCount":8,"buyerDiligenceReadyCount":5,"externalEvidenceGapCount":3,"noPhiBoundary":true,"noCertificationClaim":true,"summary":"SCRIMED now treats cybersecurity as an operating control plane: browser hardening, request sanitization, protected-route fail-closed behavior, token redaction, no-PHI safety governance, incident lanes, and buyer diligence cards are visible and contract-tested.","auditHash":"scrimed-intel-42903637"},"controls":[{"id":"securityHeaders","name":"Global browser security headers","category":"browser_surface","status":"enforced","enforcement":"Next.js response headers enforce CSP, frame denial, MIME sniffing prevention, referrer limits, HSTS, CORP, COOP, Origin-Agent-Cluster, and restricted browser permissions.","evidence":["next.config.js","npm run build","npm run smoke:public"],"protectedAssets":["public app routes","investor/buyer surfaces","synthetic readiness APIs"],"verification":"Contract check verifies hardened headers stay present.","retainedBoundary":"No PHI, no production credentials, no raw connector payloads, no customer go-live approval, no production connector approval, no security certification claim, and no breach guarantee."},{"id":"proxyHeaderSanitizer","name":"Proxy request-header sanitizer","category":"request_sanitization","status":"enforced","enforcement":"Next proxy strips middleware-bypass, debug-token, API-key, and forwarded token headers before App Router handlers receive requests.","evidence":["proxy.ts","npm run smoke:scrimed-cyber-defense"],"protectedAssets":["all non-static routes","protected AAL2 APIs","public diligence routes"],"verification":"Contract check requires x-middleware-subrequest stripping and proxy guard headers.","retainedBoundary":"No PHI, no production credentials, no raw connector payloads, no customer go-live approval, no production connector approval, no security certification claim, and no breach guarantee."},{"id":"protectedFailClosed","name":"Protected APIs fail closed","category":"auth_rbac","status":"monitored","enforcement":"Protected durable-store and buyer evidence paths require authorized AAL2 bearer context and return fail-closed responses without valid sessions.","evidence":["scripts/execution-attempt-durable-store-authenticated-smoke.mjs","scripts/aal2-token-policy-selftest.mjs"],"protectedAssets":["execution attempt evidence","boundary release evidence","tenant-scoped pilot workspaces"],"verification":"Nonsecret suite runs missing-token and policy checks without logging tokens.","retainedBoundary":"No PHI, no production credentials, no raw connector payloads, no customer go-live approval, no production connector approval, no security certification claim, and no breach guarantee."},{"id":"rateLimitControls","name":"Cost and API abuse guardrails","category":"api_abuse","status":"monitored","enforcement":"Request counting, cost guardrail metadata, provider-call kill switch defaults, and safe synthetic limits constrain high-volume abuse paths.","evidence":["app/lib/requestRateLimit.ts","app/lib/costApiGuardrails.ts","docs/RISK_REGISTER.md"],"protectedAssets":["model-router budget","public APIs","synthetic evaluation endpoints"],"verification":"Readiness contracts keep provider calls disabled by default unless explicitly configured.","retainedBoundary":"No PHI, no production credentials, no raw connector payloads, no customer go-live approval, no production connector approval, no security certification claim, and no breach guarantee."},{"id":"secretRedaction","name":"Token and secret redaction","category":"secret_protection","status":"enforced","enforcement":"Bearer-token helper, smoke paths, and policy tests use fingerprints and redaction rather than writing or logging full credentials.","evidence":["scripts/aal2-bearer-token-helper.mjs","scripts/lib/aal2-token-policy.mjs"],"protectedAssets":["AAL2 bearer tokens","Supabase sessions","local .env.local"],"verification":"Nonsecret suite clears token env vars and validates local helper behavior without exposing secrets.","retainedBoundary":"No PHI, no production credentials, no raw connector payloads, no customer go-live approval, no production connector approval, no security certification claim, and no breach guarantee."},{"id":"safetyGovernance","name":"PHI and clinical authority safety gate","category":"phi_safety","status":"enforced","enforcement":"Central safety gate blocks live PHI, final clinical decision authority, treatment, prescribing, outreach, payer submission, EHR writeback, connector approval, and certification claims.","evidence":["app/lib/scrimedSafetyGovernance.ts","app/api/scrimed-cyber-defense/route.ts"],"protectedAssets":["clinical-facing copy","AI workflow APIs","public diligence materials"],"verification":"API route evaluates safety governance before returning cyber-defense metadata.","retainedBoundary":"No PHI, no production credentials, no raw connector payloads, no customer go-live approval, no production connector approval, no security certification claim, and no breach guarantee."},{"id":"noSecretTestSuite","name":"No-secret regression suite","category":"supply_chain","status":"enforced","enforcement":"Nonsecret test runner clears bearer-token environment variables and validates generated-integrity, safety, AAL2, and SCRIMED control contracts.","evidence":["scripts/scrimed-nonsecret-test-suite.mjs","scripts/check-generated-integrity.mjs"],"protectedAssets":["CI quality gates","source tree integrity","nonsecret developer workflows"],"verification":"npm run test:nonsecret runs the cyber-defense contract with credentials blanked.","retainedBoundary":"No PHI, no production credentials, no raw connector payloads, no customer go-live approval, no production connector approval, no security certification claim, and no breach guarantee."},{"id":"securityAssurancePipeline","name":"Security assurance pipeline","category":"supply_chain","status":"enforced","enforcement":"A no-secret assurance contract checks hardening headers, proxy sanitization, forbidden claims, token-like leaks, route wiring, and retained authority boundaries.","evidence":["app/lib/scrimedSecurityAssurancePipeline.ts","scripts/scrimed-security-assurance-contract-check.mjs"],"protectedAssets":["source code","docs","scripts","public cyber route","nonsecret CI gates"],"verification":"npm run security:assurance and npm run test:nonsecret keep the assurance gate active.","retainedBoundary":"No PHI, no production credentials, no raw connector payloads, no customer go-live approval, no production connector approval, no security certification claim, and no breach guarantee."},{"id":"incidentReadiness","name":"Incident response readiness lanes","category":"incident_response","status":"planned_external_dependency","enforcement":"Incident lanes define first response for token leakage, suspicious agent action, PHI exposure risk, dependency alert, and public-route abuse.","evidence":["docs/scrimed-cyber-defense.md","/scrimed-cyber-defense"],"protectedAssets":["operators","buyers","evidence routes","future PHI programs"],"verification":"Requires external owner assignment, SIEM/log drain setup, and tabletop exercise before production PHI authority.","retainedBoundary":"No PHI, no production credentials, no raw connector payloads, no customer go-live approval, no production connector approval, no security certification claim, and no breach guarantee."}],"threatMatrix":[{"id":"promptInjectionToolMisuse","name":"Prompt injection and tool misuse","riskLevel":"high","attackSurface":"Untrusted content, future RAG sources, agent tool calls, MCP connectors.","currentMitigation":"Safety governance, scoped tool registries, human review, no direct LLM-to-record-system authority.","detectionSignal":"Unexpected tool request, missing citation, untrusted source escalation, denied policy decision.","escalationPath":"Pause automation, route to security lead and clinical governance, convert trace into regression test.","residualRisk":"Future live connectors require external penetration testing, red-team evaluation, and customer-specific policy review."},{"id":"credentialLeakage","name":"Credential or bearer-token leakage","riskLevel":"critical","attackSurface":"Local terminals, browser console, protected smoke tests, environment files, logs.","currentMitigation":"Token helper stores only local env state with restricted mode, redacts fingerprints, proxy strips token-like debug headers.","detectionSignal":"Token-like value in logs, invalid/expired token preflight, suspicious forwarded auth header.","escalationPath":"Clear clipboard, rotate token/session, revoke compromised session, rerun nonsecret suite.","residualRisk":"Production secret rotation playbooks and managed secrets scanning must be externally operated."},{"id":"phiExposure","name":"PHI exposure before approval","riskLevel":"critical","attackSurface":"Synthetic demos, future import pipelines, user pasted text, connector payloads.","currentMitigation":"No-PHI boundary, PHI pattern classification, no raw connector payload logging, safety gate blocks live PHI.","detectionSignal":"PHI pattern match, live-patient wording, raw payload attempt, connector write request.","escalationPath":"Block request, isolate artifact, require privacy/security review, document root cause.","residualRisk":"Live PHI authority requires BAA, privacy program, logging controls, retention policy, and customer-specific approval."},{"id":"middlewareBypass","name":"Middleware/proxy bypass header abuse","riskLevel":"high","attackSurface":"Inbound HTTP headers and reverse-proxy forwarding behavior.","currentMitigation":"Proxy strips x-middleware-subrequest and debug-token headers and labels sanitized responses.","detectionSignal":"X-SCRIMED-Middleware-Bypass-Header response value shows stripped.","escalationPath":"Inspect upstream proxy, add WAF rule, verify protected routes still fail closed.","residualRisk":"External WAF enforcement and platform log correlation remain deployment tasks."},{"id":"costSpikeApiAbuse","name":"API abuse and model-cost spike","riskLevel":"high","attackSurface":"Public APIs, synthetic evaluation routes, model-router scaffolds, future provider calls.","currentMitigation":"Provider calls disabled by default, cost guardrails, rate-limit metadata, no-secret tests.","detectionSignal":"Request-count threshold, cost threshold, repeated synthetic-eval calls, provider-call kill switch.","escalationPath":"Return safe error, enable stricter route limits, review source IP and tenant context.","residualRisk":"Production-grade WAF, bot rules, and billing anomaly alerts require hosting-provider configuration."},{"id":"supplyChainDependency","name":"Supply-chain and generated artifact drift","riskLevel":"moderate","attackSurface":"Node dependencies, generated .next artifacts, build cache, package overrides.","currentMitigation":"Generated integrity check, lockfile discipline, audit-ready dependency structure, no generated duplicate suffixes.","detectionSignal":"Integrity check failure, npm audit finding, unexpected generated duplicate.","escalationPath":"Clean generated cache, review dependency advisory, patch or pin safely.","residualRisk":"SBOM signing and external dependency scanning should be added before regulated deployment."}],"buyerDiligenceCards":[{"id":"identity-access-aal2-rbac-card","title":"AAL2 and role-scoped operator access","category":"identity_access","buyerQuestion":"How does SCRIMED constrain protected operator and evidence workflows?","currentAnswer":"Protected AAL2 flows are designed to fail closed without authorized tenant-admin, pilot-lead, or reviewer context, and happy-path writes require a short-lived authorized bearer session.","evidenceRoutes":["/qa-aal2-run-evidence","/api/scrimed-cyber-defense/evidence-packet"],"controlSummary":"Role-scoped access, short-lived bearer-token handling, token fingerprints, local .env.local storage, and strict no-token logging rules are kept separate from public metadata surfaces.","implementationStatus":"manual_operator_required","residualRisk":"Customer SSO, SCIM, emergency access, and tenant-specific access review evidence remain deployment-specific work.","owner":"Security lead + tenant administrator","reviewCadence":"Before each protected no-PHI pilot evidence run.","requiredNextEvidence":"Run strict AAL2 durable-store smoke with an authorized role and attach only the redacted token fingerprint result.","blockedClaims":["No security certification assertion.","No breach immunity assertion.","No live PHI authority.","No customer go-live authority.","No production connector approval.","No autonomous clinical authority."],"humanReviewRequired":true,"syntheticOnly":true,"auditHash":"scrimed-intel-106ddb8d"},{"id":"token-secret-protection-card","title":"Token, secret, and credential exposure controls","category":"token_secret_protection","buyerQuestion":"How does SCRIMED avoid exposing credentials during demos, smokes, and buyer evidence review?","currentAnswer":"No-secret tests, AAL2 helper redaction, token fingerprinting, clipboard cleanup support, and forbidden-claim checks keep credentials out of source, logs, docs, and chat output.","evidenceRoutes":["scripts/aal2-bearer-token-helper.mjs","scripts/lib/aal2-token-policy.mjs","npm run test:nonsecret"],"controlSummary":"Credential-like values are represented as fingerprints or policy decisions; full tokens, Supabase sessions, service role keys, and connector payloads must not be shared.","implementationStatus":"ready_to_share","residualRisk":"Managed secrets scanning and production secret rotation still require external CI/platform configuration.","owner":"Platform security","reviewCadence":"Every release candidate and before any protected smoke evidence is shared.","requiredNextEvidence":"Attach managed secret-scan output and rotation runbook metadata before PHI-bearing review.","blockedClaims":["No security certification assertion.","No breach immunity assertion.","No live PHI authority.","No customer go-live authority.","No production connector approval.","No autonomous clinical authority."],"humanReviewRequired":true,"syntheticOnly":true,"auditHash":"scrimed-intel-a660ce49"},{"id":"protected-route-boundary-card","title":"Protected route fail-closed posture","category":"protected_route_boundary","buyerQuestion":"Do protected APIs fail closed when authentication, AAL2, tenant context, or role checks are missing?","currentAnswer":"Protected durable-store and evidence flows return fail-closed responses without valid authorized context, while public buyer surfaces expose metadata-only readiness.","evidenceRoutes":["/api/workflows/execution-attempts/durable-store","npm run smoke:execution-attempt-durable-store"],"controlSummary":"Route-level checks keep protected writes separate from public evidence pages, and unauthenticated paths stay unavailable until explicit authorized context exists.","implementationStatus":"ready_to_share","residualRisk":"Production authorization evidence still needs customer identity-provider integration and deployment logs.","owner":"Platform reliability + security","reviewCadence":"Every protected-route change.","requiredNextEvidence":"Attach customer-specific protected-route access review after SSO/RBAC configuration.","blockedClaims":["No security certification assertion.","No breach immunity assertion.","No live PHI authority.","No customer go-live authority.","No production connector approval.","No autonomous clinical authority."],"humanReviewRequired":true,"syntheticOnly":true,"auditHash":"scrimed-intel-9f8b432f"},{"id":"data-boundary-no-phi-card","title":"No-PHI and raw-payload boundary","category":"data_boundary","buyerQuestion":"What prevents synthetic diligence routes from becoming live PHI processing paths?","currentAnswer":"Safety governance, explicit no-PHI headers, no raw connector payload logging, and retained no-go boundaries keep current routes metadata-only and synthetic-only.","evidenceRoutes":["/api/scrimed-cyber-defense","app/lib/scrimedSafetyGovernance.ts"],"controlSummary":"Cyber-defense outputs expose control metadata, evidence pointers, and audit hashes only; they do not process patient records, raw EHR payloads, imaging, or payer submissions.","implementationStatus":"ready_to_share","residualRisk":"Live PHI processing requires legal, privacy, retention, customer, infrastructure, and incident-response approvals outside this code path.","owner":"Privacy lead + clinical governance","reviewCadence":"Every clinical, connector, or data-ingestion scope expansion.","requiredNextEvidence":"Complete privacy risk assessment, BAA/customer agreement, retention policy, and customer-specific data-flow review.","blockedClaims":["No security certification assertion.","No breach immunity assertion.","No live PHI authority.","No customer go-live authority.","No production connector approval.","No autonomous clinical authority."],"humanReviewRequired":true,"syntheticOnly":true,"auditHash":"scrimed-intel-06ad3044"},{"id":"proxy-request-sanitization-card","title":"Proxy and request-header sanitization","category":"request_sanitization","buyerQuestion":"How does SCRIMED reduce middleware-bypass and suspicious forwarded-header risk?","currentAnswer":"Next proxy sanitizes middleware-bypass, debug-token, API-key, and token-like forwarded headers before route handlers receive requests.","evidenceRoutes":["proxy.ts","next.config.js","npm run smoke:scrimed-cyber-defense"],"controlSummary":"Browser and request-surface controls are contract-tested through static checks and public response headers.","implementationStatus":"ready_to_share","residualRisk":"External WAF and bot-management controls remain deployment-specific defense-in-depth requirements.","owner":"Platform security + infrastructure","reviewCadence":"Every proxy, routing, or security-header change.","requiredNextEvidence":"Attach deployment WAF/bot-management policy and CSP report workflow before regulated traffic.","blockedClaims":["No security certification assertion.","No breach immunity assertion.","No live PHI authority.","No customer go-live authority.","No production connector approval.","No autonomous clinical authority."],"humanReviewRequired":true,"syntheticOnly":true,"auditHash":"scrimed-intel-734f79e5"},{"id":"api-abuse-cost-guardrail-card","title":"API abuse and model-cost guardrails","category":"api_abuse_cost_guardrail","buyerQuestion":"How does SCRIMED reduce billing-spike and automated abuse risk while provider calls are disabled by default?","currentAnswer":"Cost guardrail metadata, provider-call kill-switch defaults, request-counting scaffolds, and safe public errors keep current AI/provider usage controlled.","evidenceRoutes":["app/lib/costApiGuardrails.ts","app/lib/requestRateLimit.ts","docs/RISK_REGISTER.md"],"controlSummary":"Provider calls remain off unless explicitly configured; synthetic routes expose budget posture without invoking paid model APIs.","implementationStatus":"ready_to_share","residualRisk":"Production billing anomaly alerting, WAF throttling, and tenant-specific quotas must be configured in hosting/provider systems.","owner":"Platform reliability + finance operations","reviewCadence":"Every model-router, provider, or public API expansion.","requiredNextEvidence":"Attach tenant quota policy, billing alert thresholds, and abuse-response runbook before paid provider exposure.","blockedClaims":["No security certification assertion.","No breach immunity assertion.","No live PHI authority.","No customer go-live authority.","No production connector approval.","No autonomous clinical authority."],"humanReviewRequired":true,"syntheticOnly":true,"auditHash":"scrimed-intel-5034046f"},{"id":"incident-response-tabletop-card","title":"Incident response and tabletop readiness","category":"incident_response","buyerQuestion":"What happens if a token, PHI-risk submission, protected route, or public route is abused?","currentAnswer":"Incident lanes define triggers, first response, owners, and evidence routes for token leakage, protected-route abuse, PHI exposure risk, and public-route abuse.","evidenceRoutes":["/scrimed-cyber-defense","docs/scrimed-cyber-defense.md"],"controlSummary":"Response lanes exist in the command center, but production incident evidence requires assigned owners, SIEM/log drains, and tabletop completion.","implementationStatus":"external_evidence_required","residualRisk":"Tabletop exercise records, SIEM proof, pager escalation, and customer notification paths are not established by code alone.","owner":"Security lead + privacy lead + release steward","reviewCadence":"Quarterly before regulated pilots and after every security incident.","requiredNextEvidence":"Attach redacted tabletop notes, escalation roster, SIEM/log-drain proof, and incident communications template.","blockedClaims":["No security certification assertion.","No breach immunity assertion.","No live PHI authority.","No customer go-live authority.","No production connector approval.","No autonomous clinical authority."],"humanReviewRequired":true,"syntheticOnly":true,"auditHash":"scrimed-intel-b24fb29a"},{"id":"vendor-connector-readiness-card","title":"Vendor connector and production integration readiness","category":"vendor_connector_readiness","buyerQuestion":"What remains blocked before EHR, payer, imaging, or device connector activation?","currentAnswer":"Production connectors remain blocked until customer-specific threat models, BAAs/contracts, data-flow reviews, testing evidence, and formal approvals exist.","evidenceRoutes":["/release-continuity","/boundary-release-approvals","/approvals-readiness"],"controlSummary":"The current cyber-defense layer can support diligence and no-PHI pilots, but does not authorize connector writes, payer submission, EHR writeback, or live PHI processing.","implementationStatus":"blocked_until_approved","residualRisk":"Each connector needs vendor security review, least-privilege scopes, rollback plan, monitoring, and customer signoff.","owner":"Security lead + integration owner + customer security","reviewCadence":"Per connector and per customer environment.","requiredNextEvidence":"Complete connector threat model, least-privilege scope map, rollback drill, legal approval, and customer security approval.","blockedClaims":["No security certification assertion.","No breach immunity assertion.","No live PHI authority.","No customer go-live authority.","No production connector approval.","No autonomous clinical authority."],"humanReviewRequired":true,"syntheticOnly":true,"auditHash":"scrimed-intel-f2dcc457"}],"incidentReadiness":[{"id":"token-leakage","name":"Token leakage response","owner":"Security lead + Workspace owner","trigger":"Credential-like value appears in output, logs, screenshot, chat, or forwarded header.","firstResponse":"Revoke session, rotate credential, clear clipboard, verify .env.local permissions, rerun token policy self-test.","evidenceRoute":"/qa-aal2-run-evidence","retainedBoundary":"No PHI, no production credentials, no raw connector payloads, no customer go-live approval, no production connector approval, no security certification claim, and no breach guarantee."},{"id":"protected-route-abuse","name":"Protected route abuse response","owner":"Platform reliability + Security lead","trigger":"Protected AAL2 route receives unauthenticated, malformed, repeated, or unexpected-role access.","firstResponse":"Confirm fail-closed status, inspect sanitized headers, rate-limit source, preserve metadata-only evidence.","evidenceRoute":"/workflows/execution-attempts","retainedBoundary":"No PHI, no production credentials, no raw connector payloads, no customer go-live approval, no production connector approval, no security certification claim, and no breach guarantee."},{"id":"phi-exposure-risk","name":"PHI exposure risk response","owner":"Privacy lead + Clinical governance","trigger":"Potential live PHI or raw connector payload is submitted to a no-PHI SCRIMED path.","firstResponse":"Block workflow, avoid echoing content, preserve only metadata, start privacy review, update regression case.","evidenceRoute":"/health-records","retainedBoundary":"No PHI, no production credentials, no raw connector payloads, no customer go-live approval, no production connector approval, no security certification claim, and no breach guarantee."},{"id":"public-route-abuse","name":"Public route abuse response","owner":"Release steward + Infrastructure owner","trigger":"Traffic spike, abnormal request pattern, bot pressure, or suspicious security header probe.","firstResponse":"Enable stricter public rate limits, add WAF rule, run public smoke, verify headers and no-go boundaries.","evidenceRoute":"/release-continuity","retainedBoundary":"No PHI, no production credentials, no raw connector payloads, no customer go-live approval, no production connector approval, no security certification claim, and no breach guarantee."}],"nextHardeningMoves":["Attach production WAF and bot-management rules to public and protected routes.","Configure managed log drains or SIEM export with token/PHI redaction and retention controls.","Add SBOM generation, dependency scan, secret scan, and provenance signing to CI.","Run external penetration test and healthcare privacy/security tabletop before PHI authority.","Add CSP report-only endpoint and review workflow before enforcing any stricter policy that could affect Next.js runtime assets.","Add customer-specific threat models before any production connector, EHR, payer, imaging, or device integration."],"securityAssurancePipeline":{"service":"scrimed-security-assurance-pipeline","status":"scrimed-security-assurance-active-no-secrets-no-phi","boundary":"SCRIMED Security Assurance Pipeline is a no-secret, no-PHI control verification layer. It improves evidence discipline and regression detection without granting PHI authority, production connector approval, customer go-live, security certification, penetration-test completion, SOC 2, HITRUST, FDA, or HIPAA approval.","safetyPolicyVersion":"scrimed-safety-governance-v2026-06-29","scorecard":{"automatedGateCount":8,"manualGateCount":1,"externalDependencyCount":1,"blocksSecretLeaks":true,"blocksUnsafeClaims":true,"blocksPhiAuthority":true,"auditHash":"scrimed-intel-a0631731"},"gates":[{"id":"secret-scan","category":"secret_detection","name":"Static token and secret leak scan","status":"automated","requiredControl":"Source files must not contain live bearer tokens, JWTs, API keys, private keys, or cloud credentials.","automatedCheck":"scripts/scrimed-security-assurance-contract-check.mjs scans curated source surfaces for high-risk token patterns.","evidence":["npm run security:assurance","npm run test:nonsecret"],"failureMode":"A live credential-like value enters source, docs, scripts, or route code.","manualFollowUp":"Rotate the affected credential, remove the value, preserve only a fingerprint, and rerun nonsecret checks.","retainedBoundary":"No live PHI, no production credentials, no raw connector payload logging, no security certification claim, no production connector approval, and no customer go-live approval."},{"id":"header-hardening","category":"browser_hardening","name":"Global security header regression gate","status":"automated","requiredControl":"CSP, HSTS, frame denial, no-sniff, CORP, COOP, Origin-Agent-Cluster, and restricted Permissions-Policy must remain present.","automatedCheck":"Security assurance checks next.config.js for required hardening headers and no-authority SCRIMED headers.","evidence":["next.config.js","npm run smoke:scrimed-cyber-defense"],"failureMode":"A route or refactor removes browser hardening or no-authority response headers.","manualFollowUp":"Review CSP compatibility and add report-only monitoring before stricter enforcement.","retainedBoundary":"No live PHI, no production credentials, no raw connector payload logging, no security certification claim, no production connector approval, and no customer go-live approval."},{"id":"proxy-sanitizer","category":"request_sanitization","name":"Middleware/proxy bypass header guard","status":"automated","requiredControl":"Inbound x-middleware-subrequest and token-like debug headers must be stripped before route handlers receive requests.","automatedCheck":"Security assurance requires proxy.ts to strip bypass and debug headers and emit scrub status headers.","evidence":["proxy.ts","live header smoke"],"failureMode":"A crafted header influences route behavior or bypass assumptions.","manualFollowUp":"Mirror the stripping rule at WAF or reverse-proxy level before regulated deployment.","retainedBoundary":"No live PHI, no production credentials, no raw connector payload logging, no security certification claim, no production connector approval, and no customer go-live approval."},{"id":"protected-fail-closed","category":"protected_access","name":"Protected API fail-closed evidence","status":"automated","requiredControl":"Protected AAL2 and buyer-evidence routes must fail closed without valid authorized context.","automatedCheck":"Public smoke and nonsecret suite verify protected routes return safe fail-closed states without bearer tokens.","evidence":["npm run smoke:public","scripts/aal2-token-policy-selftest.mjs"],"failureMode":"Unauthenticated access succeeds or exposes protected evidence.","manualFollowUp":"Inspect auth/RBAC/RLS policy, revoke suspect sessions, and rerun strict AAL2 smoke with a valid short-lived token.","retainedBoundary":"No live PHI, no production credentials, no raw connector payload logging, no security certification claim, no production connector approval, and no customer go-live approval."},{"id":"phi-boundary","category":"phi_boundary","name":"No-PHI and clinical authority boundary","status":"automated","requiredControl":"No route, page, doc, or script may claim live PHI authority, autonomous clinical care, payer submission, or EHR writeback.","automatedCheck":"Security assurance scans critical surfaces for forbidden authority phrases and unsafe clinical/compliance claims.","evidence":["app/lib/scrimedSafetyGovernance.ts","docs/NO_PHI_POLICY.md"],"failureMode":"Marketing or operator copy implies authority that SCRIMED does not have.","manualFollowUp":"Route copy through legal, privacy, clinical governance, and qualified external reviewers before release.","retainedBoundary":"No live PHI, no production credentials, no raw connector payload logging, no security certification claim, no production connector approval, and no customer go-live approval."},{"id":"supply-chain-integrity","category":"supply_chain","name":"Generated integrity and dependency posture","status":"automated","requiredControl":"Generated duplicate files must not corrupt resolution, and dependency/security evidence must be ready for external review.","automatedCheck":"Security assurance requires generated-integrity checks and documents the SBOM/dependency-scan follow-up.","evidence":["scripts/check-generated-integrity.mjs","package.json"],"failureMode":"Generated duplicates, unsafe dependency drift, or missing dependency evidence blocks clean deploy review.","manualFollowUp":"Add SBOM generation, dependency scan, provenance signing, and external vulnerability review before PHI authority.","retainedBoundary":"No live PHI, no production credentials, no raw connector payload logging, no security certification claim, no production connector approval, and no customer go-live approval."},{"id":"dependency-security-floor","category":"dependency_floor","name":"Framework dependency security floor","status":"automated","requiredControl":"Next.js, React, React DOM, eslint-config-next, and postcss must remain pinned to reviewed versions at or above the current SCRIMED security floor.","automatedCheck":"scripts/dependency-security-floor-contract-check.mjs verifies package.json and package-lock.json agree on exact patched framework versions.","evidence":["npm run security:dependency-floor","package.json","package-lock.json"],"failureMode":"A dependency update or merge conflict silently downgrades SCRIMED below the approved framework security floor.","manualFollowUp":"Review Next.js and React security advisories, update lockfile through npm ci/install in a trusted environment, then rerun nonsecret checks.","retainedBoundary":"No live PHI, no production credentials, no raw connector payload logging, no security certification claim, no production connector approval, and no customer go-live approval."},{"id":"ci-workflow-governance","category":"ci_workflow","name":"CI workflow governance contract","status":"automated","requiredControl":"Main CI and protected smoke workflows must retain no-secret validation, read-only permissions, deterministic Node setup, explicit timeouts, and no fail-open patterns.","automatedCheck":"scripts/ci-workflow-contract-check.mjs verifies GitHub Actions workflow controls for normal CI and protected AAL2 smoke paths.","evidence":["npm run contract:ci-workflows",".github/workflows/ci.yml",".github/workflows/*smoke.yml"],"failureMode":"A workflow edit removes safety checks, disables failure, prints secrets, or leaves protected smokes without timeouts.","manualFollowUp":"Review GitHub Actions logs, rotate any exposed credential, restore fail-closed checks, and rerun the nonsecret suite before merge.","retainedBoundary":"No live PHI, no production credentials, no raw connector payload logging, no security certification claim, no production connector approval, and no customer go-live approval."},{"id":"incident-readiness","category":"incident_response","name":"Incident response lane coverage","status":"manual_required","requiredControl":"Token leakage, PHI exposure risk, protected-route abuse, and public-route abuse must have owners and first-response steps.","automatedCheck":"Security assurance requires incident readiness metadata to remain visible in the cyber defense command center.","evidence":["app/lib/scrimedCyberDefenseCommandCenter.ts","docs/scrimed-cyber-defense.md"],"failureMode":"Security event response depends on ad hoc operator memory instead of a defined lane.","manualFollowUp":"Run a tabletop exercise and attach SIEM/log-drain evidence before production PHI workflows.","retainedBoundary":"No live PHI, no production credentials, no raw connector payload logging, no security certification claim, no production connector approval, and no customer go-live approval."},{"id":"deployment-boundary","category":"deployment_boundary","name":"External deployment assurance boundary","status":"planned_external_dependency","requiredControl":"WAF, bot controls, SIEM/log drains, customer-specific threat models, penetration testing, and legal/security review are required before authority expands.","automatedCheck":"Security assurance verifies this dependency remains documented and not misrepresented as complete.","evidence":["docs/scrimed-cyber-defense.md","/scrimed-cyber-defense"],"failureMode":"The platform claims regulated or customer go-live readiness before external controls exist.","manualFollowUp":"Complete external WAF, SIEM, SBOM, penetration test, incident tabletop, and customer-specific approvals.","retainedBoundary":"No live PHI, no production credentials, no raw connector payload logging, no security certification claim, no production connector approval, and no customer go-live approval."}],"validationCommands":["npm run security:assurance","npm run security:dependency-floor","npm run contract:ci-workflows","npm run smoke:scrimed-cyber-defense","npm run test:nonsecret","npm run typecheck","npm run lint","npm run build"],"nextManualActions":["Connect WAF and bot management at deployment edge.","Configure redacted SIEM/log drains with retention policy.","Add SBOM generation, dependency provenance signing, and independent dependency review in CI.","Run external penetration test and privacy/security tabletop before PHI authority."]},"securityReleaseReadiness":{"service":"scrimed-security-release-readiness","status":"scrimed-security-release-readiness-active-no-phi-no-customer-go-live","boundary":"SCRIMED Security Release Readiness is a no-PHI go/no-go control ladder. It permits synthetic demos, buyer diligence, and protected no-PHI pilot preparation only. It does not approve live PHI, customer go-live, production connectors, payer submission, EHR writeback, regulated clinical use, security certification, SOC 2, HITRUST, HIPAA, FDA, penetration-test completion, or breach immunity.","safetyPolicyVersion":"scrimed-safety-governance-v2026-06-29","scorecard":{"currentStage":"buyer_diligence_ready","goGateCount":3,"conditionalGateCount":1,"noGoGateCount":2,"blockedStageCount":2,"releaseAuthority":"synthetic-and-no-phi-only","phiAuthority":"not-authorized-production-phi","customerGoLiveAuthority":"not-customer-go-live-approved","auditHash":"scrimed-intel-e3e60c03"},"gates":[{"id":"no-secret-assurance","name":"No-secret security assurance","decision":"go","owner":"Platform security","evidence":["npm run security:assurance","npm run test:nonsecret"],"requiredBefore":"synthetic_demo_ready","currentStatus":"passed","automation":"Static token-like scan and unsafe-claim checks cover curated source, docs, scripts, migrations, and public assets.","blockerIfMissing":"Cannot package demos, diligence, or protected no-PHI evidence if secrets or unsafe claims are present.","retainedBoundary":"No live PHI, no production connector approval, no customer go-live, no payer submission, no EHR writeback, no clinical authority, and no security certification claim."},{"id":"browser-and-proxy-hardening","name":"Browser and proxy hardening","decision":"go","owner":"Platform security","evidence":["next.config.js","proxy.ts","npm run smoke:scrimed-cyber-defense"],"requiredBefore":"synthetic_demo_ready","currentStatus":"passed","automation":"CSP, HSTS, CORP, COOP, no-authority headers, and middleware-bypass header stripping are contract-checked.","blockerIfMissing":"Public routes cannot be considered diligence-ready if hardening headers or sanitizer controls drift.","retainedBoundary":"No live PHI, no production connector approval, no customer go-live, no payer submission, no EHR writeback, no clinical authority, and no security certification claim."},{"id":"protected-route-fail-closed","name":"Protected route fail-closed posture","decision":"go","owner":"Platform reliability + security","evidence":["npm run smoke:public","scripts/aal2-token-policy-selftest.mjs"],"requiredBefore":"buyer_diligence_ready","currentStatus":"passed","automation":"Public smoke verifies protected buyer, operator, AAL2, and proof routes fail closed without credentials.","blockerIfMissing":"Buyer diligence cannot proceed if protected routes expose data or mutate state without authorization.","retainedBoundary":"No live PHI, no production connector approval, no customer go-live, no payer submission, no EHR writeback, no clinical authority, and no security certification claim."},{"id":"aal2-authorized-happy-path","name":"AAL2 authorized happy path","decision":"conditional_go","owner":"Tenant admin or authorized operator","evidence":["npm run smoke:aal2:token","npm run smoke:aal2:durable-store:strict"],"requiredBefore":"protected_no_phi_pilot_ready","currentStatus":"manual_required","automation":"Token preflight and strict durable-store smoke run only with a short-lived authorized token supplied outside source control.","blockerIfMissing":"Protected no-PHI pilot operations stay manual/blocked until an authorized operator validates the happy path.","retainedBoundary":"No live PHI, no production connector approval, no customer go-live, no payer submission, no EHR writeback, no clinical authority, and no security certification claim."},{"id":"waf-siem-sbom-external-review","name":"WAF, SIEM, SBOM, and external security review","decision":"no_go","owner":"Security lead + qualified external reviewers","evidence":["external WAF policy","redacted SIEM/log drain proof","SBOM artifact","external security review"],"requiredBefore":"phi_preproduction_blocked","currentStatus":"external_required","automation":"Tracked as required external evidence; not self-attested by SCRIMED code.","blockerIfMissing":"PHI preproduction, regulated connectors, and customer go-live remain blocked.","retainedBoundary":"No live PHI, no production connector approval, no customer go-live, no payer submission, no EHR writeback, no clinical authority, and no security certification claim."},{"id":"baa-privacy-retention-tabletop","name":"BAA, privacy, retention, and incident tabletop","decision":"no_go","owner":"Privacy lead + legal + customer security","evidence":["BAA or customer agreement","privacy risk assessment","retention policy","incident tabletop record"],"requiredBefore":"live_phi_production_blocked","currentStatus":"external_required","automation":"Tracked as a mandatory release lane with no code-only bypass.","blockerIfMissing":"Live PHI, customer go-live, and production connector activation remain blocked.","retainedBoundary":"No live PHI, no production connector approval, no customer go-live, no payer submission, no EHR writeback, no clinical authority, and no security certification claim."}],"lanes":[{"stage":"synthetic_demo_ready","label":"Synthetic demo ready","decision":"go","allowedUse":["Public no-PHI demos","Synthetic evaluation","Investor/buyer proof review","Internal security assurance"],"blockedUse":["Live PHI","Customer go-live","EHR writeback","Payer submission"],"requiredEvidence":["No-secret assurance","Browser hardening","Proxy sanitizer","Safety governance"],"exitCriteria":["Public smoke passes","Security assurance passes","No unsafe claims detected"]},{"stage":"buyer_diligence_ready","label":"Buyer diligence ready","decision":"go","allowedUse":["Buyer diligence packets","Protected evidence review","No-PHI pilot scoping"],"blockedUse":["Production credentials","Raw connector payloads","Customer deployment claims"],"requiredEvidence":["Protected routes fail closed","No-authority headers","Risk and boundary docs"],"exitCriteria":["Protected route smoke passes","Security release ladder remains no-PHI"]},{"stage":"protected_no_phi_pilot_ready","label":"Protected no-PHI pilot ready","decision":"conditional_go","allowedUse":["AAL2 protected no-PHI pilot workspace","Short-lived authorized operator smoke","Evidence binding"],"blockedUse":["Live records","Production connector writes","Autonomous clinical action"],"requiredEvidence":["Strict AAL2 happy path","Tenant role verification","Durable-store feature flag enabled"],"exitCriteria":["Authorized operator smoke passes","Reviewer roles verified","No PHI fixtures used"]},{"stage":"phi_preproduction_blocked","label":"PHI preproduction blocked","decision":"no_go","allowedUse":["Planning only","External evidence collection","Customer security questionnaire preparation"],"blockedUse":["PHI ingestion","PHI model routing","Production connector approval"],"requiredEvidence":["WAF","SIEM","SBOM","external security review","privacy risk assessment"],"exitCriteria":["Qualified external reviewers approve evidence","Legal/privacy owners sign release packet"]},{"stage":"live_phi_production_blocked","label":"Live PHI production blocked","decision":"no_go","allowedUse":["No code-only activation"],"blockedUse":["Customer go-live","Live PHI processing","EHR writeback","Payer submission","Clinical production claims"],"requiredEvidence":["BAA/customer agreement","incident tabletop","retention policy","customer-specific threat model"],"exitCriteria":["Formal customer, legal, privacy, security, and clinical governance approvals exist outside code"]}],"nextRequiredOperatorActions":["Run strict AAL2 durable-store happy path with a short-lived authorized token before protected no-PHI pilot use.","Attach WAF, bot controls, SIEM/log drains, SBOM, and external security review before PHI preproduction.","Complete BAA/customer agreement, privacy assessment, retention policy, and incident tabletop before live PHI production.","Keep all production connector, payer submission, EHR writeback, and customer go-live language blocked until external approvals exist."]},"securityDiligenceEvidence":{"service":"scrimed-security-diligence-evidence-packet","status":"scrimed-security-diligence-evidence-packet-active-no-phi","boundary":"SCRIMED Security Diligence Evidence Packet is a metadata-only buyer and investor review layer. It packages no-PHI security evidence, retained boundaries, manual operator actions, and external evidence requirements without exposing secrets, tokens, raw logs, PHI, production connector payloads, or customer go-live authority.","safetyPolicyVersion":"scrimed-safety-governance-v2026-06-29","scorecard":{"readyToShareCount":4,"manualOperatorRequiredCount":1,"externalEvidenceRequiredCount":2,"blockedUntilApprovedCount":1,"questionnaireResponseCount":8,"questionnaireReadyCount":3,"questionnaireExternalEvidenceCount":4,"buyerDiligenceShareReady":true,"phiProductionShareReady":false,"customerGoLiveShareReady":false,"auditHash":"scrimed-intel-267453bf"},"artifacts":[{"id":"browser-proxy-hardening-packet","title":"Browser and proxy hardening packet","category":"platform_controls","owner":"Platform security","evidenceSource":"next.config.js, proxy.ts, npm run smoke:scrimed-cyber-defense","status":"ready_to_share","releaseStage":"buyer_diligence_ready","buyerQuestionAnswered":"How does SCRIMED reduce public-route browser and middleware-bypass risk?","redactionRule":"Share header names, contract status, and control rationale only; do not share raw request logs.","retainedBoundary":"No live PHI, no production credentials, no raw log exports, no raw connector payloads, no payer submission, no EHR writeback, no production connector approval, no security certification claim, and no customer go-live approval."},{"id":"no-secret-regression-packet","title":"No-secret regression packet","category":"platform_controls","owner":"Platform security","evidenceSource":"npm run security:assurance, npm run test:nonsecret","status":"ready_to_share","releaseStage":"buyer_diligence_ready","buyerQuestionAnswered":"How does SCRIMED prevent credentials, tokens, or unsafe claims from entering review artifacts?","redactionRule":"Share command names, pass/fail status, and fingerprints only; never share full bearer tokens or keys.","retainedBoundary":"No live PHI, no production credentials, no raw log exports, no raw connector payloads, no payer submission, no EHR writeback, no production connector approval, no security certification claim, and no customer go-live approval."},{"id":"protected-route-fail-closed-packet","title":"Protected route fail-closed packet","category":"access_control","owner":"Platform reliability + security","evidenceSource":"npm run smoke:public, scripts/aal2-token-policy-selftest.mjs","status":"ready_to_share","releaseStage":"buyer_diligence_ready","buyerQuestionAnswered":"Do protected buyer, operator, evidence, and AAL2 routes fail closed without authorized context?","redactionRule":"Share status codes and route categories only; do not share tenant records, tokens, or request payloads.","retainedBoundary":"No live PHI, no production credentials, no raw log exports, no raw connector payloads, no payer submission, no EHR writeback, no production connector approval, no security certification claim, and no customer go-live approval."},{"id":"aal2-operator-validation-packet","title":"AAL2 operator validation packet","category":"access_control","owner":"Authorized tenant admin, pilot lead, or reviewer","evidenceSource":"npm run smoke:aal2:token, npm run smoke:aal2:durable-store:strict","status":"manual_operator_required","releaseStage":"protected_no_phi_pilot_ready","buyerQuestionAnswered":"Can an authorized short-lived AAL2 session perform protected no-PHI evidence writes?","redactionRule":"Share token fingerprint and command result only; never share the token, session JSON, or local .env.local.","retainedBoundary":"No live PHI, no production credentials, no raw log exports, no raw connector payloads, no payer submission, no EHR writeback, no production connector approval, no security certification claim, and no customer go-live approval."},{"id":"release-readiness-ladder-packet","title":"Release readiness ladder packet","category":"release_governance","owner":"Release steward","evidenceSource":"app/lib/scrimedSecurityReleaseReadiness.ts, /scrimed-cyber-defense","status":"ready_to_share","releaseStage":"buyer_diligence_ready","buyerQuestionAnswered":"What is SCRIMED allowed to show today, and what remains blocked before PHI or customer activation?","redactionRule":"Share release stages, retained boundaries, and required evidence; do not imply expanded authority.","retainedBoundary":"No live PHI, no production credentials, no raw log exports, no raw connector payloads, no payer submission, no EHR writeback, no production connector approval, no security certification claim, and no customer go-live approval."},{"id":"incident-tabletop-packet","title":"Incident tabletop packet","category":"incident_readiness","owner":"Security lead + privacy lead + clinical governance","evidenceSource":"incident response runbook, tabletop notes, SIEM/log-drain proof","status":"external_evidence_required","releaseStage":"phi_preproduction_blocked","buyerQuestionAnswered":"Has SCRIMED rehearsed incident handling for token leakage, PHI exposure risk, and protected-route abuse?","redactionRule":"Share tabletop summary and role matrix only after redaction; do not share raw incident logs.","retainedBoundary":"No live PHI, no production credentials, no raw log exports, no raw connector payloads, no payer submission, no EHR writeback, no production connector approval, no security certification claim, and no customer go-live approval."},{"id":"waf-siem-sbom-review-packet","title":"WAF, SIEM, SBOM, and external review packet","category":"external_dependency","owner":"Security lead + qualified external reviewers","evidenceSource":"WAF policy, bot controls, redacted SIEM proof, SBOM artifact, external review letter","status":"external_evidence_required","releaseStage":"phi_preproduction_blocked","buyerQuestionAnswered":"Which deployment-specific security controls must exist before regulated or PHI-bearing review?","redactionRule":"Share external attestation metadata and redacted summaries only; do not share sensitive infrastructure details.","retainedBoundary":"No live PHI, no production credentials, no raw log exports, no raw connector payloads, no payer submission, no EHR writeback, no production connector approval, no security certification claim, and no customer go-live approval."},{"id":"baa-privacy-retention-packet","title":"BAA, privacy, retention, and customer approval packet","category":"retained_boundary","owner":"Legal + privacy + customer security","evidenceSource":"BAA/customer agreement, privacy risk assessment, retention policy, customer-specific threat model","status":"blocked_until_approved","releaseStage":"live_phi_production_blocked","buyerQuestionAnswered":"What evidence is required before live PHI, production connectors, or customer activation can be considered?","redactionRule":"Share existence and approval status only through authorized legal/security review channels.","retainedBoundary":"No live PHI, no production credentials, no raw log exports, no raw connector payloads, no payer submission, no EHR writeback, no production connector approval, no security certification claim, and no customer go-live approval."}],"buyerQuestions":[{"id":"current-security-posture","question":"What can SCRIMED safely demonstrate today?","currentAnswer":"SCRIMED can demonstrate synthetic/no-PHI cyber controls, browser and proxy hardening, no-secret checks, protected route fail-closed behavior, and buyer diligence evidence boundaries.","evidenceArtifactIds":["browser-proxy-hardening-packet","no-secret-regression-packet","protected-route-fail-closed-packet","release-readiness-ladder-packet"],"remainingManualStep":"Keep evidence packet redacted and metadata-only for all public or buyer-facing review."},{"id":"protected-pilot-gap","question":"What blocks protected no-PHI pilot expansion?","currentAnswer":"The protected no-PHI lane needs an authorized short-lived AAL2 operator happy-path run and reviewer-role verification before broader protected evidence workflows are treated as ready.","evidenceArtifactIds":["aal2-operator-validation-packet"],"remainingManualStep":"Run strict AAL2 durable-store smoke with a valid tenant-admin, pilot-lead, or reviewer session."},{"id":"phi-production-gap","question":"What blocks PHI preproduction or live production?","currentAnswer":"PHI-bearing or regulated production use remains blocked until external WAF/bot controls, SIEM/log drains, SBOM/dependency evidence, external security review, legal/privacy artifacts, and customer-specific approvals exist.","evidenceArtifactIds":["incident-tabletop-packet","waf-siem-sbom-review-packet","baa-privacy-retention-packet"],"remainingManualStep":"Collect deployment-specific external evidence and route it through legal, privacy, security, and clinical governance."}],"questionnaireResponses":[{"id":"questionnaire-access-control-rbac-aal2","domain":"access_control","question":"Describe SCRIMED access control, privileged access, and protected workflow safeguards.","buyerSafeAnswer":"SCRIMED separates public metadata surfaces from protected AAL2 workflows. Protected no-PHI evidence writes require authorized operator context, role checks, and fail-closed route behavior; public diligence surfaces expose metadata only.","evidenceArtifactIds":["protected-route-fail-closed-packet","aal2-operator-validation-packet"],"supportingRoutes":["/qa-aal2-run-evidence","/api/scrimed-cyber-defense/evidence-packet"],"answerStatus":"requires_manual_review","cannotSay":["Do not claim customer SSO acceptance before customer identity-provider review.","Do not share bearer tokens, session JSON, tenant records, or local .env.local values.","Do not imply production PHI authority from no-PHI AAL2 smoke evidence."],"redactionBoundary":"Share status codes, route classes, role labels, and token fingerprints only.","owner":"Security lead + tenant administrator","externalEvidenceNeeded":"Customer SSO/RBAC evidence, access-review cadence, and emergency-access procedure.","humanReviewRequired":true,"auditHash":"scrimed-intel-0bc66527"},{"id":"questionnaire-data-protection-no-phi","domain":"data_protection","question":"How does SCRIMED protect sensitive data during current demos and diligence?","buyerSafeAnswer":"Current SCRIMED diligence paths are synthetic/no-PHI and metadata-only. They avoid raw connector payload logging, production credentials, customer records, raw logs, and clinical authority claims while mapping the evidence required before PHI-bearing work.","evidenceArtifactIds":["release-readiness-ladder-packet","baa-privacy-retention-packet"],"supportingRoutes":["/scrimed-cyber-defense","/approvals-readiness","/global-certification-readiness"],"answerStatus":"buyer_safe_answer_ready","cannotSay":["Do not claim live PHI processing authority.","Do not claim BAA/DPA execution unless a specific agreement exists outside this packet.","Do not paste or store customer data in this public evidence packet."],"redactionBoundary":"Share boundary language, evidence classes, owners, and approval gaps only.","owner":"Privacy lead + legal owner","externalEvidenceNeeded":"BAA/DPA path, privacy risk assessment, retention policy, and customer-specific data-flow approval.","humanReviewRequired":true,"auditHash":"scrimed-intel-29c5d7b3"},{"id":"questionnaire-application-security-headers-proxy","domain":"application_security","question":"What application security controls are visible in the current SCRIMED app?","buyerSafeAnswer":"SCRIMED exposes browser hardening headers, proxy request-header sanitization, forbidden-claim checks, generated-integrity checks, and no-secret regression gates as reviewable metadata controls.","evidenceArtifactIds":["browser-proxy-hardening-packet","no-secret-regression-packet"],"supportingRoutes":["/api/scrimed-cyber-defense","next.config.js","proxy.ts"],"answerStatus":"buyer_safe_answer_ready","cannotSay":["Do not represent header hardening as independent penetration-test completion.","Do not share raw request logs or infrastructure-sensitive details.","Do not imply WAF or bot-management configuration unless deployment evidence exists."],"redactionBoundary":"Share control names, contract checks, and no-authority headers; keep raw traffic details outside the packet.","owner":"Platform security","externalEvidenceNeeded":"WAF policy, bot-management rule summary, CSP report workflow, and external application security review.","humanReviewRequired":true,"auditHash":"scrimed-intel-512a0e38"},{"id":"questionnaire-incident-response-tabletop","domain":"incident_response","question":"How would SCRIMED respond to credential leakage, protected route abuse, or PHI exposure risk?","buyerSafeAnswer":"SCRIMED defines incident lanes for token leakage, protected-route abuse, PHI exposure risk, and public-route abuse. Each lane names a trigger, owner, first response, evidence route, and retained boundary.","evidenceArtifactIds":["incident-tabletop-packet"],"supportingRoutes":["/scrimed-cyber-defense","docs/scrimed-cyber-defense.md"],"answerStatus":"requires_external_artifact","cannotSay":["Do not claim completed tabletop exercise until external notes exist.","Do not share raw incident logs.","Do not promise incident outcomes or breach immunity."],"redactionBoundary":"Share role matrix, triggers, and redacted tabletop summaries only.","owner":"Security lead + privacy lead","externalEvidenceNeeded":"Tabletop notes, escalation roster, SIEM/log-drain proof, and customer notification template.","humanReviewRequired":true,"auditHash":"scrimed-intel-63565aba"},{"id":"questionnaire-infrastructure-waf-siem-sbom","domain":"infrastructure","question":"Which infrastructure controls are required before regulated deployment?","buyerSafeAnswer":"SCRIMED identifies WAF/bot controls, SIEM/log drains, SBOM generation, dependency scanning, external security review, deployment threat modeling, and backup/rollback evidence as required before PHI-bearing or customer production authority.","evidenceArtifactIds":["waf-siem-sbom-review-packet"],"supportingRoutes":["/release-continuity","/production-architecture","/scrimed-cyber-defense"],"answerStatus":"requires_external_artifact","cannotSay":["Do not claim deployment-specific WAF/SIEM/SBOM completion from code metadata alone.","Do not expose infrastructure topology, credentials, IP addresses, or vulnerability details.","Do not equate internal readiness with customer security acceptance."],"redactionBoundary":"Share evidence checklist and redacted control summaries only.","owner":"Infrastructure owner + security lead","externalEvidenceNeeded":"Deployment WAF policy, log-drain proof, SBOM artifact, vulnerability scan summary, and rollback evidence.","humanReviewRequired":true,"auditHash":"scrimed-intel-e17388d4"},{"id":"questionnaire-ai-governance-human-review","domain":"ai_governance","question":"How does SCRIMED govern AI outputs and prevent autonomous clinical authority?","buyerSafeAnswer":"SCRIMED frames AI outputs as governed decision support, synthetic evaluation, workflow preparation, or metadata review. High-risk clinical, payer, EHR, outreach, prescribing, diagnosis, treatment, and final imaging actions remain blocked or require human review.","evidenceArtifactIds":["release-readiness-ladder-packet"],"supportingRoutes":["/scrimed-intelligence-safety-stack","/scrimed-agent-governance","/clinical-authority-readiness"],"answerStatus":"buyer_safe_answer_ready","cannotSay":["Do not claim independent diagnostic, treatment, prescribing, payer-submission, patient-outreach, EHR-writeback, or final imaging authority.","Do not claim clinical validation or regulatory clearance from synthetic evaluation.","Do not remove human-review language from buyer-facing answers."],"redactionBoundary":"Share safety boundaries, governance gates, audit metadata, and review requirements.","owner":"Clinical governance + AI safety owner","externalEvidenceNeeded":"Clinical validation plan, external clinical governance approval, intended-use review, and customer workflow signoff.","humanReviewRequired":true,"auditHash":"scrimed-intel-67785f87"},{"id":"questionnaire-business-continuity-recovery","domain":"business_continuity","question":"What is SCRIMED's current resilience, rollback, and continuity posture?","buyerSafeAnswer":"SCRIMED maintains release-continuity metadata, rollback planning surfaces, generated-integrity checks, and workspace hygiene checks. Regulated continuity claims still require deployment-specific backup, restore, monitoring, and disaster-recovery evidence.","evidenceArtifactIds":["release-readiness-ladder-packet"],"supportingRoutes":["/release-continuity","/service-reliability","/production-architecture"],"answerStatus":"requires_external_artifact","cannotSay":["Do not claim disaster-recovery completion without tested restore evidence.","Do not claim uptime commitments without signed service terms.","Do not imply production customer go-live authority."],"redactionBoundary":"Share release lanes, rollback checklists, and recovery evidence requirements only.","owner":"Platform reliability + release steward","externalEvidenceNeeded":"Backup/restore test, monitoring dashboards, incident SLA policy, and customer-approved continuity plan.","humanReviewRequired":true,"auditHash":"scrimed-intel-b35a4d1d"},{"id":"questionnaire-vendor-risk-connectors","domain":"vendor_risk","question":"What evidence is required before SCRIMED integrates with EHR, payer, imaging, or device systems?","buyerSafeAnswer":"SCRIMED keeps production connector approval blocked until customer-specific threat models, least-privilege scopes, rollback plans, legal/privacy review, vendor security review, and formal customer authorization exist.","evidenceArtifactIds":["baa-privacy-retention-packet","waf-siem-sbom-review-packet"],"supportingRoutes":["/boundary-release-approvals","/approvals-readiness","/health-records"],"answerStatus":"blocked_until_formal_approval","cannotSay":["Do not claim production connector approval.","Do not claim EHR writeback, payer submission, or device integration authority.","Do not share connector credentials, endpoints, raw payloads, or customer topology."],"redactionBoundary":"Share connector readiness stages, blocked actions, and external evidence requirements only.","owner":"Integration owner + customer security","externalEvidenceNeeded":"Connector threat model, scope map, sandbox evidence, credential-management procedure, rollback drill, and customer signoff.","humanReviewRequired":true,"auditHash":"scrimed-intel-d402c1aa"}],"shareRules":["Share metadata, command names, pass/fail status, audit hashes, and retained boundaries only.","Do not share raw logs, bearer tokens, session JSON, production credentials, connector payloads, customer records, or PHI.","Label buyer-facing evidence as synthetic/no-PHI diligence evidence unless external approvals expand authority.","Use questionnaire responses as governed answer starters, not as confidential questionnaire storage or final legal/security acceptance.","Treat PHI production, customer go-live, EHR writeback, payer submission, and production connector approval as blocked until formal external evidence exists."],"nextManualActions":["Run authorized strict AAL2 no-PHI smoke and attach redacted token fingerprint evidence.","Attach WAF, bot-management, SIEM/log-drain, SBOM, dependency scan, and external security review artifacts.","Complete privacy risk assessment, retention policy, incident tabletop, and customer-specific threat model before PHI preproduction.","Route buyer-specific security questionnaire answers through legal, privacy, security, and release-steward review before external submission.","Keep the evidence packet redacted and metadata-only for investor or buyer sharing."]},"authorityHeaders":{"securityCertification":"not-security-certified","phiAuthority":"not-authorized-production-phi","clinicalCareAuthority":"not-authorized-live-care","productionConnectorAuthority":"not-production-connector-approved"},"noGoBoundaries":["No live PHI or ePHI authority.","No production credentials or raw connector payloads in logs, UI, tests, or chat output.","No final clinical diagnosis authority, treatment, prescribing, payer submission, patient outreach, EHR writeback, or final imaging interpretation.","No production connector approval, customer go-live approval, security certification claim, or breach guarantee."]}