vaspera 2.7.0 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +72 -0
- package/README.md +111 -7
- package/dist/__tests__/agents/adversary/tactics/api.test.d.ts +5 -0
- package/dist/__tests__/agents/adversary/tactics/api.test.d.ts.map +1 -0
- package/dist/__tests__/agents/adversary/tactics/api.test.js +369 -0
- package/dist/__tests__/agents/adversary/tactics/api.test.js.map +1 -0
- package/dist/__tests__/agents/adversary/tactics/llm.test.d.ts +5 -0
- package/dist/__tests__/agents/adversary/tactics/llm.test.d.ts.map +1 -0
- package/dist/__tests__/agents/adversary/tactics/llm.test.js +409 -0
- package/dist/__tests__/agents/adversary/tactics/llm.test.js.map +1 -0
- package/dist/__tests__/agents/adversary/tactics/registry.test.d.ts +7 -0
- package/dist/__tests__/agents/adversary/tactics/registry.test.d.ts.map +1 -0
- package/dist/__tests__/agents/adversary/tactics/registry.test.js +74 -0
- package/dist/__tests__/agents/adversary/tactics/registry.test.js.map +1 -0
- package/dist/__tests__/agents/adversary/tactics/web-app.test.d.ts +7 -0
- package/dist/__tests__/agents/adversary/tactics/web-app.test.d.ts.map +1 -0
- package/dist/__tests__/agents/adversary/tactics/web-app.test.js +374 -0
- package/dist/__tests__/agents/adversary/tactics/web-app.test.js.map +1 -0
- package/dist/__tests__/compliance-bundle.test.d.ts +9 -0
- package/dist/__tests__/compliance-bundle.test.d.ts.map +1 -0
- package/dist/__tests__/compliance-bundle.test.js +344 -0
- package/dist/__tests__/compliance-bundle.test.js.map +1 -0
- package/dist/__tests__/healthcare-compliance.test.d.ts +9 -0
- package/dist/__tests__/healthcare-compliance.test.d.ts.map +1 -0
- package/dist/__tests__/healthcare-compliance.test.js +233 -0
- package/dist/__tests__/healthcare-compliance.test.js.map +1 -0
- package/dist/action/diff-mode.d.ts +124 -8
- package/dist/action/diff-mode.d.ts.map +1 -1
- package/dist/action/diff-mode.js +384 -65
- package/dist/action/diff-mode.js.map +1 -1
- package/dist/action/diff-mode.test.js +3 -3
- package/dist/action/diff-mode.test.js.map +1 -1
- package/dist/action/pr-comment.test.js +1 -0
- package/dist/action/pr-comment.test.js.map +1 -1
- package/dist/action/sarif-upload.test.js +1 -0
- package/dist/action/sarif-upload.test.js.map +1 -1
- package/dist/agents/adversary/config.d.ts +113 -0
- package/dist/agents/adversary/config.d.ts.map +1 -0
- package/dist/agents/adversary/config.js +391 -0
- package/dist/agents/adversary/config.js.map +1 -0
- package/dist/agents/adversary/index.d.ts +41 -0
- package/dist/agents/adversary/index.d.ts.map +1 -0
- package/dist/agents/adversary/index.js +838 -0
- package/dist/agents/adversary/index.js.map +1 -0
- package/dist/agents/adversary/reporting/compliance-mapper.d.ts +108 -0
- package/dist/agents/adversary/reporting/compliance-mapper.d.ts.map +1 -0
- package/dist/agents/adversary/reporting/compliance-mapper.js +391 -0
- package/dist/agents/adversary/reporting/compliance-mapper.js.map +1 -0
- package/dist/agents/adversary/reporting/index.d.ts +10 -0
- package/dist/agents/adversary/reporting/index.d.ts.map +1 -0
- package/dist/agents/adversary/reporting/index.js +10 -0
- package/dist/agents/adversary/reporting/index.js.map +1 -0
- package/dist/agents/adversary/reporting/poc-generator.d.ts +44 -0
- package/dist/agents/adversary/reporting/poc-generator.d.ts.map +1 -0
- package/dist/agents/adversary/reporting/poc-generator.js +308 -0
- package/dist/agents/adversary/reporting/poc-generator.js.map +1 -0
- package/dist/agents/adversary/tactics/api.d.ts +13 -0
- package/dist/agents/adversary/tactics/api.d.ts.map +1 -0
- package/dist/agents/adversary/tactics/api.js +815 -0
- package/dist/agents/adversary/tactics/api.js.map +1 -0
- package/dist/agents/adversary/tactics/auth.d.ts +13 -0
- package/dist/agents/adversary/tactics/auth.d.ts.map +1 -0
- package/dist/agents/adversary/tactics/auth.js +676 -0
- package/dist/agents/adversary/tactics/auth.js.map +1 -0
- package/dist/agents/adversary/tactics/index.d.ts +129 -0
- package/dist/agents/adversary/tactics/index.d.ts.map +1 -0
- package/dist/agents/adversary/tactics/index.js +199 -0
- package/dist/agents/adversary/tactics/index.js.map +1 -0
- package/dist/agents/adversary/tactics/infra.d.ts +13 -0
- package/dist/agents/adversary/tactics/infra.d.ts.map +1 -0
- package/dist/agents/adversary/tactics/infra.js +827 -0
- package/dist/agents/adversary/tactics/infra.js.map +1 -0
- package/dist/agents/adversary/tactics/injection.d.ts +12 -0
- package/dist/agents/adversary/tactics/injection.d.ts.map +1 -0
- package/dist/agents/adversary/tactics/injection.js +549 -0
- package/dist/agents/adversary/tactics/injection.js.map +1 -0
- package/dist/agents/adversary/tactics/llm.d.ts +13 -0
- package/dist/agents/adversary/tactics/llm.d.ts.map +1 -0
- package/dist/agents/adversary/tactics/llm.js +767 -0
- package/dist/agents/adversary/tactics/llm.js.map +1 -0
- package/dist/agents/adversary/tactics/web-app.d.ts +13 -0
- package/dist/agents/adversary/tactics/web-app.d.ts.map +1 -0
- package/dist/agents/adversary/tactics/web-app.js +717 -0
- package/dist/agents/adversary/tactics/web-app.js.map +1 -0
- package/dist/agents/adversary/types.d.ts +407 -0
- package/dist/agents/adversary/types.d.ts.map +1 -0
- package/dist/agents/adversary/types.js +12 -0
- package/dist/agents/adversary/types.js.map +1 -0
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +2 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/zero-day-hunter.d.ts +1 -1
- package/dist/agents/zero-day-hunter.d.ts.map +1 -1
- package/dist/analysis/data-flow.d.ts +154 -0
- package/dist/analysis/data-flow.d.ts.map +1 -0
- package/dist/analysis/data-flow.js +393 -0
- package/dist/analysis/data-flow.js.map +1 -0
- package/dist/analysis/index.d.ts +9 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/analysis/index.js +9 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/badge-service/index.d.ts +144 -0
- package/dist/badge-service/index.d.ts.map +1 -0
- package/dist/badge-service/index.js +206 -0
- package/dist/badge-service/index.js.map +1 -0
- package/dist/certification/consensus.test.js +2 -0
- package/dist/certification/consensus.test.js.map +1 -1
- package/dist/certification/store.d.ts.map +1 -1
- package/dist/certification/store.js +4 -0
- package/dist/certification/store.js.map +1 -1
- package/dist/certification/types.d.ts +3 -3
- package/dist/certification/types.d.ts.map +1 -1
- package/dist/certification/types.js +2 -0
- package/dist/certification/types.js.map +1 -1
- package/dist/commands/certification/certify.d.ts.map +1 -1
- package/dist/commands/certification/certify.js +18 -4
- package/dist/commands/certification/certify.js.map +1 -1
- package/dist/compliance/attestation.d.ts +39 -0
- package/dist/compliance/attestation.d.ts.map +1 -0
- package/dist/compliance/attestation.js +364 -0
- package/dist/compliance/attestation.js.map +1 -0
- package/dist/compliance/cfr42-part2.d.ts +42 -0
- package/dist/compliance/cfr42-part2.d.ts.map +1 -0
- package/dist/compliance/cfr42-part2.js +408 -0
- package/dist/compliance/cfr42-part2.js.map +1 -0
- package/dist/compliance/compliance-bundle.d.ts +100 -0
- package/dist/compliance/compliance-bundle.d.ts.map +1 -0
- package/dist/compliance/compliance-bundle.js +210 -0
- package/dist/compliance/compliance-bundle.js.map +1 -0
- package/dist/compliance/healthcare-bundle.d.ts +68 -0
- package/dist/compliance/healthcare-bundle.d.ts.map +1 -0
- package/dist/compliance/healthcare-bundle.js +104 -0
- package/dist/compliance/healthcare-bundle.js.map +1 -0
- package/dist/compliance/hipaa.d.ts.map +1 -1
- package/dist/compliance/hipaa.js +14 -11
- package/dist/compliance/hipaa.js.map +1 -1
- package/dist/compliance/index.d.ts +10 -2
- package/dist/compliance/index.d.ts.map +1 -1
- package/dist/compliance/index.js +9 -3
- package/dist/compliance/index.js.map +1 -1
- package/dist/compliance/mapper.d.ts.map +1 -1
- package/dist/compliance/mapper.js +3 -17
- package/dist/compliance/mapper.js.map +1 -1
- package/dist/compliance/nist-800-53.d.ts +22 -6
- package/dist/compliance/nist-800-53.d.ts.map +1 -1
- package/dist/compliance/nist-800-53.js +264 -272
- package/dist/compliance/nist-800-53.js.map +1 -1
- package/dist/compliance/report.d.ts +31 -2
- package/dist/compliance/report.d.ts.map +1 -1
- package/dist/compliance/report.js +255 -4
- package/dist/compliance/report.js.map +1 -1
- package/dist/compliance/types.d.ts +1 -1
- package/dist/compliance/types.d.ts.map +1 -1
- package/dist/config/flags.d.ts +12 -12
- package/dist/cost/index.d.ts +1 -1
- package/dist/cost/index.d.ts.map +1 -1
- package/dist/cost/index.js +1 -1
- package/dist/cost/index.js.map +1 -1
- package/dist/cost/tracker.d.ts +64 -0
- package/dist/cost/tracker.d.ts.map +1 -1
- package/dist/cost/tracker.js +165 -0
- package/dist/cost/tracker.js.map +1 -1
- package/dist/eval/fixtures/healthcare/audit-gaps.d.ts +28 -0
- package/dist/eval/fixtures/healthcare/audit-gaps.d.ts.map +1 -0
- package/dist/eval/fixtures/healthcare/audit-gaps.js +90 -0
- package/dist/eval/fixtures/healthcare/audit-gaps.js.map +1 -0
- package/dist/eval/fixtures/healthcare/consent-bypass.d.ts +31 -0
- package/dist/eval/fixtures/healthcare/consent-bypass.d.ts.map +1 -0
- package/dist/eval/fixtures/healthcare/consent-bypass.js +61 -0
- package/dist/eval/fixtures/healthcare/consent-bypass.js.map +1 -0
- package/dist/eval/fixtures/healthcare/phi-in-logs.d.ts +24 -0
- package/dist/eval/fixtures/healthcare/phi-in-logs.d.ts.map +1 -0
- package/dist/eval/fixtures/healthcare/phi-in-logs.js +41 -0
- package/dist/eval/fixtures/healthcare/phi-in-logs.js.map +1 -0
- package/dist/evidence/collector.d.ts +21 -0
- package/dist/evidence/collector.d.ts.map +1 -0
- package/dist/evidence/collector.js +340 -0
- package/dist/evidence/collector.js.map +1 -0
- package/dist/evidence/index.d.ts +11 -0
- package/dist/evidence/index.d.ts.map +1 -0
- package/dist/evidence/index.js +12 -0
- package/dist/evidence/index.js.map +1 -0
- package/dist/evidence/store.d.ts +39 -0
- package/dist/evidence/store.d.ts.map +1 -0
- package/dist/evidence/store.js +173 -0
- package/dist/evidence/store.js.map +1 -0
- package/dist/evidence/types.d.ts +175 -0
- package/dist/evidence/types.d.ts.map +1 -0
- package/dist/evidence/types.js +9 -0
- package/dist/evidence/types.js.map +1 -0
- package/dist/exporters/checkmarx.d.ts +18 -0
- package/dist/exporters/checkmarx.d.ts.map +1 -0
- package/dist/exporters/checkmarx.js +203 -0
- package/dist/exporters/checkmarx.js.map +1 -0
- package/dist/exporters/index.d.ts +22 -0
- package/dist/exporters/index.d.ts.map +1 -0
- package/dist/exporters/index.js +41 -0
- package/dist/exporters/index.js.map +1 -0
- package/dist/exporters/snyk.d.ts +18 -0
- package/dist/exporters/snyk.d.ts.map +1 -0
- package/dist/exporters/snyk.js +119 -0
- package/dist/exporters/snyk.js.map +1 -0
- package/dist/exporters/sonarqube.d.ts +18 -0
- package/dist/exporters/sonarqube.d.ts.map +1 -0
- package/dist/exporters/sonarqube.js +125 -0
- package/dist/exporters/sonarqube.js.map +1 -0
- package/dist/exporters/types.d.ts +190 -0
- package/dist/exporters/types.d.ts.map +1 -0
- package/dist/exporters/types.js +9 -0
- package/dist/exporters/types.js.map +1 -0
- package/dist/frontier/index.d.ts +12 -0
- package/dist/frontier/index.d.ts.map +1 -0
- package/dist/frontier/index.js +12 -0
- package/dist/frontier/index.js.map +1 -0
- package/dist/frontier/orchestrator.d.ts +73 -0
- package/dist/frontier/orchestrator.d.ts.map +1 -0
- package/dist/frontier/orchestrator.js +312 -0
- package/dist/frontier/orchestrator.js.map +1 -0
- package/dist/frontier/providers/stub.d.ts +32 -0
- package/dist/frontier/providers/stub.d.ts.map +1 -0
- package/dist/frontier/providers/stub.js +66 -0
- package/dist/frontier/providers/stub.js.map +1 -0
- package/dist/frontier/types.d.ts +318 -0
- package/dist/frontier/types.d.ts.map +1 -0
- package/dist/frontier/types.js +27 -0
- package/dist/frontier/types.js.map +1 -0
- package/dist/history/index.d.ts +13 -0
- package/dist/history/index.d.ts.map +1 -0
- package/dist/history/index.js +15 -0
- package/dist/history/index.js.map +1 -0
- package/dist/history/store.d.ts +74 -0
- package/dist/history/store.d.ts.map +1 -0
- package/dist/history/store.js +399 -0
- package/dist/history/store.js.map +1 -0
- package/dist/history/types.d.ts +282 -0
- package/dist/history/types.d.ts.map +1 -0
- package/dist/history/types.js +41 -0
- package/dist/history/types.js.map +1 -0
- package/dist/history/verify.d.ts +44 -0
- package/dist/history/verify.d.ts.map +1 -0
- package/dist/history/verify.js +230 -0
- package/dist/history/verify.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +431 -18
- package/dist/index.js.map +1 -1
- package/dist/multimodel/index.d.ts +1 -0
- package/dist/multimodel/index.d.ts.map +1 -1
- package/dist/multimodel/index.js +2 -0
- package/dist/multimodel/index.js.map +1 -1
- package/dist/multimodel/leaderboard.d.ts +116 -0
- package/dist/multimodel/leaderboard.d.ts.map +1 -0
- package/dist/multimodel/leaderboard.js +262 -0
- package/dist/multimodel/leaderboard.js.map +1 -0
- package/dist/observability/otel.d.ts.map +1 -1
- package/dist/observability/otel.js +1 -3
- package/dist/observability/otel.js.map +1 -1
- package/dist/plugins/loader.js +1 -1
- package/dist/plugins/loader.js.map +1 -1
- package/dist/sbom/provenance.test.js +2 -2
- package/dist/sbom/provenance.test.js.map +1 -1
- package/dist/scanners/agent/agent-chain-analysis.d.ts +152 -0
- package/dist/scanners/agent/agent-chain-analysis.d.ts.map +1 -0
- package/dist/scanners/agent/agent-chain-analysis.js +438 -0
- package/dist/scanners/agent/agent-chain-analysis.js.map +1 -0
- package/dist/scanners/agent/manifest-audit.d.ts.map +1 -1
- package/dist/scanners/agent/manifest-audit.js +30 -18
- package/dist/scanners/agent/manifest-audit.js.map +1 -1
- package/dist/scanners/agent/payloads/index.d.ts +2 -1
- package/dist/scanners/agent/payloads/index.d.ts.map +1 -1
- package/dist/scanners/agent/payloads/index.js +25 -6
- package/dist/scanners/agent/payloads/index.js.map +1 -1
- package/dist/scanners/agent/prompt-injection-fuzzer.d.ts.map +1 -1
- package/dist/scanners/agent/prompt-injection-fuzzer.js +14 -0
- package/dist/scanners/agent/prompt-injection-fuzzer.js.map +1 -1
- package/dist/scanners/agent/types.d.ts +5 -5
- package/dist/scanners/agent/types.d.ts.map +1 -1
- package/dist/scanners/agent/types.js.map +1 -1
- package/dist/scanners/cache.d.ts +156 -0
- package/dist/scanners/cache.d.ts.map +1 -0
- package/dist/scanners/cache.js +462 -0
- package/dist/scanners/cache.js.map +1 -0
- package/dist/scanners/dependencies.d.ts.map +1 -1
- package/dist/scanners/dependencies.js +5 -6
- package/dist/scanners/dependencies.js.map +1 -1
- package/dist/scanners/gosec.d.ts.map +1 -1
- package/dist/scanners/gosec.js +47 -9
- package/dist/scanners/gosec.js.map +1 -1
- package/dist/scanners/healthcare.d.ts +29 -0
- package/dist/scanners/healthcare.d.ts.map +1 -0
- package/dist/scanners/healthcare.js +526 -0
- package/dist/scanners/healthcare.js.map +1 -0
- package/dist/scanners/index.d.ts +1 -0
- package/dist/scanners/index.d.ts.map +1 -1
- package/dist/scanners/index.js +33 -0
- package/dist/scanners/index.js.map +1 -1
- package/dist/scanners/index.test.js +6 -6
- package/dist/scanners/index.test.js.map +1 -1
- package/dist/scanners/secrets.js +4 -4
- package/dist/scanners/secrets.js.map +1 -1
- package/dist/scanners/semgrep.js +5 -5
- package/dist/scanners/semgrep.js.map +1 -1
- package/dist/scanners/types.d.ts +1 -1
- package/dist/scanners/types.d.ts.map +1 -1
- package/dist/scanners/types.js +1 -0
- package/dist/scanners/types.js.map +1 -1
- package/dist/scanners/typescript.test.js +1 -1
- package/dist/scanners/typescript.test.js.map +1 -1
- package/dist/telemetry/index.d.ts +10 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +10 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/registry.d.ts +178 -0
- package/dist/telemetry/registry.d.ts.map +1 -0
- package/dist/telemetry/registry.js +297 -0
- package/dist/telemetry/registry.js.map +1 -0
- package/dist/telemetry/usage.d.ts +197 -0
- package/dist/telemetry/usage.d.ts.map +1 -0
- package/dist/telemetry/usage.js +244 -0
- package/dist/telemetry/usage.js.map +1 -0
- package/package.json +11 -2
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Framework Attestation Content
|
|
3
|
+
*
|
|
4
|
+
* Framework-specific attestation text for audit-defensible compliance reports.
|
|
5
|
+
* Each framework has methodology, scope limitations, and auditor notes.
|
|
6
|
+
*
|
|
7
|
+
* @module compliance/attestation
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Attestation content for each compliance framework
|
|
11
|
+
*/
|
|
12
|
+
export const FRAMEWORK_ATTESTATIONS = {
|
|
13
|
+
"SOC2": {
|
|
14
|
+
fullName: "SOC 2 Trust Services Criteria",
|
|
15
|
+
methodology: [
|
|
16
|
+
"**Deterministic Scanning:** Pattern-based detection of security vulnerabilities using Semgrep, gitleaks, npm audit, and other static analyzers",
|
|
17
|
+
"**Control Mapping:** Automated mapping of security findings to SOC 2 Trust Services Criteria (Security, Availability, Processing Integrity, Confidentiality, Privacy)",
|
|
18
|
+
"**Severity Correlation:** Finding severity to control risk impact correlation",
|
|
19
|
+
"**Tamper-Evident Logging:** Hash-chained audit trail with optional Sigstore signing",
|
|
20
|
+
"**Evidence Collection:** Cryptographically attested artifacts for audit defensibility",
|
|
21
|
+
],
|
|
22
|
+
scopeLimitations: [
|
|
23
|
+
"Formal SOC 2 Type I or Type II examination by a licensed CPA firm",
|
|
24
|
+
"Organizational policies and procedures documentation review",
|
|
25
|
+
"Management assertion and system description validation",
|
|
26
|
+
"Physical and environmental security controls assessment",
|
|
27
|
+
"Personnel security and HR process verification",
|
|
28
|
+
"Vendor and third-party risk management review",
|
|
29
|
+
],
|
|
30
|
+
auditorNote: "This automated assessment identifies technical gaps in your security posture. A licensed CPA firm must perform the formal SOC 2 examination. This report can serve as evidence of continuous monitoring for your auditor.",
|
|
31
|
+
},
|
|
32
|
+
"ISO27001": {
|
|
33
|
+
fullName: "ISO/IEC 27001:2022 Information Security Management",
|
|
34
|
+
methodology: [
|
|
35
|
+
"**Deterministic Scanning:** Pattern-based detection using static analysis tools aligned with ISO 27001 Annex A controls",
|
|
36
|
+
"**Control Mapping:** Automated mapping of findings to ISO 27001 Annex A control objectives",
|
|
37
|
+
"**Risk Assessment:** Finding severity to control impact correlation per ISO 27001 risk methodology",
|
|
38
|
+
"**Tamper-Evident Logging:** Hash-chained audit trail for evidence integrity",
|
|
39
|
+
"**Evidence Collection:** Cryptographically attested artifacts supporting certification audits",
|
|
40
|
+
],
|
|
41
|
+
scopeLimitations: [
|
|
42
|
+
"Formal ISO 27001 certification audit by an accredited certification body",
|
|
43
|
+
"ISMS documentation review (policies, procedures, risk assessment)",
|
|
44
|
+
"Management review and leadership commitment verification",
|
|
45
|
+
"Internal audit program evaluation",
|
|
46
|
+
"Physical security and environmental controls",
|
|
47
|
+
"Human resource security processes",
|
|
48
|
+
"Business continuity planning review",
|
|
49
|
+
],
|
|
50
|
+
auditorNote: "This automated assessment supports your ISO 27001 Statement of Applicability evidence. Certification must be performed by an accredited certification body. This report demonstrates continuous technical control monitoring.",
|
|
51
|
+
},
|
|
52
|
+
"PCI-DSS": {
|
|
53
|
+
fullName: "PCI DSS v4.0 Payment Card Industry Data Security Standard",
|
|
54
|
+
methodology: [
|
|
55
|
+
"**Deterministic Scanning:** Pattern-based detection for PCI DSS technical requirements (encryption, authentication, logging)",
|
|
56
|
+
"**Control Mapping:** Automated mapping to PCI DSS v4.0 requirements",
|
|
57
|
+
"**Cardholder Data Detection:** Scanning for potential PAN, CVV, and sensitive authentication data exposure",
|
|
58
|
+
"**Tamper-Evident Logging:** Hash-chained audit trail meeting PCI DSS logging requirements",
|
|
59
|
+
"**Evidence Collection:** Cryptographically attested artifacts for QSA review",
|
|
60
|
+
],
|
|
61
|
+
scopeLimitations: [
|
|
62
|
+
"Formal PCI DSS assessment by a Qualified Security Assessor (QSA)",
|
|
63
|
+
"Network segmentation validation and penetration testing",
|
|
64
|
+
"Cardholder data environment (CDE) scope determination",
|
|
65
|
+
"Physical security controls at data center locations",
|
|
66
|
+
"Personnel background checks and security awareness training",
|
|
67
|
+
"Vendor and service provider compliance validation",
|
|
68
|
+
"Incident response testing and tabletop exercises",
|
|
69
|
+
],
|
|
70
|
+
auditorNote: "This automated assessment identifies technical gaps relevant to PCI DSS requirements. A QSA must perform the formal assessment. For SAQ merchants, this report provides evidence of continuous security monitoring.",
|
|
71
|
+
},
|
|
72
|
+
"HIPAA": {
|
|
73
|
+
fullName: "HIPAA Security Rule (45 CFR Part 164)",
|
|
74
|
+
methodology: [
|
|
75
|
+
"**Deterministic Scanning:** Pattern-based detection of PHI exposure, access control gaps, and audit trail deficiencies",
|
|
76
|
+
"**Control Mapping:** Automated mapping to HIPAA Security Rule administrative, physical, and technical safeguards",
|
|
77
|
+
"**PHI Detection:** Scanning for Protected Health Information in code, logs, and configuration",
|
|
78
|
+
"**Tamper-Evident Logging:** Hash-chained audit trail meeting HIPAA audit requirements",
|
|
79
|
+
"**Evidence Collection:** Cryptographically attested artifacts for OCR investigation readiness",
|
|
80
|
+
],
|
|
81
|
+
scopeLimitations: [
|
|
82
|
+
"Formal HIPAA compliance audit or OCR investigation response",
|
|
83
|
+
"Administrative safeguards (policies, training, sanctions)",
|
|
84
|
+
"Physical safeguards (facility access, workstation security)",
|
|
85
|
+
"Business Associate Agreement (BAA) review and management",
|
|
86
|
+
"Risk analysis and management program evaluation",
|
|
87
|
+
"Incident response and breach notification procedures",
|
|
88
|
+
"Employee training and security awareness programs",
|
|
89
|
+
],
|
|
90
|
+
auditorNote: "This automated assessment identifies technical gaps in HIPAA Security Rule compliance. This does not constitute a formal compliance audit. The report demonstrates reasonable technical safeguards and continuous monitoring.",
|
|
91
|
+
},
|
|
92
|
+
"42-CFR-PART-2": {
|
|
93
|
+
fullName: "42 CFR Part 2 - Confidentiality of Substance Use Disorder Patient Records",
|
|
94
|
+
methodology: [
|
|
95
|
+
"**Deterministic Scanning:** Pattern-based detection of SUD record disclosure, consent validation, and audit gaps",
|
|
96
|
+
"**Control Mapping:** Automated mapping to 42 CFR Part 2 confidentiality requirements",
|
|
97
|
+
"**SUD-Specific Detection:** Scanning for substance use disorder information disclosure patterns",
|
|
98
|
+
"**Consent Validation:** Detection of consent bypass and missing authorization checks",
|
|
99
|
+
"**Tamper-Evident Logging:** Hash-chained audit trail meeting federal audit requirements",
|
|
100
|
+
"**Evidence Collection:** Cryptographically attested artifacts for SAMHSA compliance review",
|
|
101
|
+
],
|
|
102
|
+
scopeLimitations: [
|
|
103
|
+
"Formal 42 CFR Part 2 compliance review by qualified counsel or auditor",
|
|
104
|
+
"Written consent form and process validation",
|
|
105
|
+
"Qualified Service Organization Agreement (QSOA) review",
|
|
106
|
+
"Re-disclosure notice and prohibition verification",
|
|
107
|
+
"Patient rights and complaint procedures",
|
|
108
|
+
"Program staff training on SUD confidentiality",
|
|
109
|
+
"Court order and law enforcement request procedures",
|
|
110
|
+
],
|
|
111
|
+
auditorNote: "42 CFR Part 2 provides stricter protections than HIPAA for substance use disorder records. This automated assessment identifies technical gaps. Legal counsel should review consent forms and disclosure procedures.",
|
|
112
|
+
},
|
|
113
|
+
"CIS": {
|
|
114
|
+
fullName: "CIS Critical Security Controls v8",
|
|
115
|
+
methodology: [
|
|
116
|
+
"**Deterministic Scanning:** Pattern-based detection aligned with CIS Controls implementation groups",
|
|
117
|
+
"**Control Mapping:** Automated mapping to CIS Controls v8 safeguards",
|
|
118
|
+
"**Implementation Group Assessment:** Findings categorized by IG1, IG2, IG3 applicability",
|
|
119
|
+
"**Tamper-Evident Logging:** Hash-chained audit trail for evidence integrity",
|
|
120
|
+
"**Evidence Collection:** Cryptographically attested artifacts for security assessment",
|
|
121
|
+
],
|
|
122
|
+
scopeLimitations: [
|
|
123
|
+
"Formal CIS Controls assessment or CIS-CAT Pro benchmark",
|
|
124
|
+
"Asset inventory and hardware/software management verification",
|
|
125
|
+
"Network infrastructure and perimeter security assessment",
|
|
126
|
+
"Vulnerability management program effectiveness review",
|
|
127
|
+
"Security awareness training program evaluation",
|
|
128
|
+
"Incident response capability testing",
|
|
129
|
+
"Data protection and backup verification",
|
|
130
|
+
],
|
|
131
|
+
auditorNote: "This automated assessment maps findings to CIS Controls safeguards. For formal benchmarking, use CIS-CAT Pro or engage a certified assessor. This report demonstrates continuous security control monitoring.",
|
|
132
|
+
},
|
|
133
|
+
"GDPR": {
|
|
134
|
+
fullName: "General Data Protection Regulation (EU) 2016/679",
|
|
135
|
+
methodology: [
|
|
136
|
+
"**Deterministic Scanning:** Pattern-based detection of personal data exposure and processing issues",
|
|
137
|
+
"**Control Mapping:** Automated mapping to GDPR articles and technical requirements",
|
|
138
|
+
"**Personal Data Detection:** Scanning for PII exposure in code, logs, and configuration",
|
|
139
|
+
"**Data Protection Impact:** Finding severity correlation to data subject rights impact",
|
|
140
|
+
"**Tamper-Evident Logging:** Hash-chained audit trail for accountability demonstration",
|
|
141
|
+
"**Evidence Collection:** Cryptographically attested artifacts for DPA inquiry readiness",
|
|
142
|
+
],
|
|
143
|
+
scopeLimitations: [
|
|
144
|
+
"Formal Data Protection Impact Assessment (DPIA)",
|
|
145
|
+
"Records of Processing Activities (RoPA) review",
|
|
146
|
+
"Data Subject Rights implementation verification",
|
|
147
|
+
"Lawful basis determination and documentation",
|
|
148
|
+
"Data Protection Officer (DPO) designation assessment",
|
|
149
|
+
"Cross-border transfer mechanism validation",
|
|
150
|
+
"Vendor and processor agreement review",
|
|
151
|
+
"Privacy notice and consent mechanism audit",
|
|
152
|
+
],
|
|
153
|
+
auditorNote: "This automated assessment identifies technical gaps relevant to GDPR Article 32 security requirements. A Data Protection Officer or qualified privacy professional should conduct comprehensive GDPR compliance review.",
|
|
154
|
+
},
|
|
155
|
+
"NIST-800-53": {
|
|
156
|
+
fullName: "NIST SP 800-53 Rev. 5 Security and Privacy Controls",
|
|
157
|
+
methodology: [
|
|
158
|
+
"**Deterministic Scanning:** Pattern-based detection aligned with NIST 800-53 control families",
|
|
159
|
+
"**Control Mapping:** Automated mapping to NIST 800-53 Rev. 5 controls and control enhancements",
|
|
160
|
+
"**Baseline Assessment:** Findings mapped to Low, Moderate, and High impact baselines",
|
|
161
|
+
"**Control Family Coverage:** Assessment across Access Control, Audit, Configuration Management, and other families",
|
|
162
|
+
"**Tamper-Evident Logging:** Hash-chained audit trail meeting federal logging requirements",
|
|
163
|
+
"**Evidence Collection:** Cryptographically attested artifacts for FedRAMP/FISMA compliance",
|
|
164
|
+
],
|
|
165
|
+
scopeLimitations: [
|
|
166
|
+
"Formal NIST 800-53 assessment by accredited assessor (3PAO for FedRAMP)",
|
|
167
|
+
"System Security Plan (SSP) documentation review",
|
|
168
|
+
"Plan of Action and Milestones (POA&M) validation",
|
|
169
|
+
"Continuous monitoring program evaluation",
|
|
170
|
+
"Authorization boundary and system categorization",
|
|
171
|
+
"Interconnection security agreements",
|
|
172
|
+
"Contingency planning and testing",
|
|
173
|
+
"Personnel security and training verification",
|
|
174
|
+
],
|
|
175
|
+
auditorNote: "This automated assessment maps findings to NIST 800-53 controls. For FedRAMP authorization, a 3PAO must conduct the formal assessment. For FISMA, the agency Authorizing Official makes the final determination.",
|
|
176
|
+
},
|
|
177
|
+
// AI-Specific Frameworks
|
|
178
|
+
"OWASP-LLM": {
|
|
179
|
+
fullName: "OWASP LLM Top 10 for Large Language Model Applications",
|
|
180
|
+
methodology: [
|
|
181
|
+
"**LLM-Specific Scanning:** Detection of prompt injection, insecure output handling, and training data poisoning vulnerabilities",
|
|
182
|
+
"**Control Mapping:** Automated mapping to OWASP LLM Top 10 risk categories",
|
|
183
|
+
"**Agent Security:** Assessment of tool use boundaries, permission escalation, and data exfiltration paths",
|
|
184
|
+
"**Trust Boundary Analysis:** Evaluation of LLM input/output trust boundaries and sanitization",
|
|
185
|
+
"**Tamper-Evident Logging:** Hash-chained audit trail for AI security evidence",
|
|
186
|
+
"**Evidence Collection:** Cryptographically attested artifacts for security assessment",
|
|
187
|
+
],
|
|
188
|
+
scopeLimitations: [
|
|
189
|
+
"Formal red-team adversarial testing of LLM systems",
|
|
190
|
+
"Model training data provenance and bias analysis",
|
|
191
|
+
"Prompt engineering security review",
|
|
192
|
+
"Human-in-the-loop procedure verification",
|
|
193
|
+
"Model supply chain security assessment",
|
|
194
|
+
"Production deployment architecture review",
|
|
195
|
+
"Incident response procedures for AI failures",
|
|
196
|
+
],
|
|
197
|
+
auditorNote: "This automated assessment identifies technical vulnerabilities in LLM applications per OWASP guidance. AI security requires ongoing red-team testing and adversarial evaluation beyond static analysis.",
|
|
198
|
+
},
|
|
199
|
+
"NIST-AI-RMF": {
|
|
200
|
+
fullName: "NIST AI Risk Management Framework 1.0",
|
|
201
|
+
methodology: [
|
|
202
|
+
"**AI Risk Detection:** Scanning for risks across NIST AI RMF functions (Govern, Map, Measure, Manage)",
|
|
203
|
+
"**Trustworthy AI Mapping:** Assessment against trustworthy AI characteristics (valid, reliable, safe, secure, accountable, transparent, explainable, fair)",
|
|
204
|
+
"**Control Mapping:** Automated mapping to NIST AI RMF subcategories",
|
|
205
|
+
"**Risk Measurement:** Finding severity correlation to AI risk levels",
|
|
206
|
+
"**Tamper-Evident Logging:** Hash-chained audit trail for AI governance evidence",
|
|
207
|
+
"**Evidence Collection:** Cryptographically attested artifacts for AI risk assessment",
|
|
208
|
+
],
|
|
209
|
+
scopeLimitations: [
|
|
210
|
+
"Formal AI risk assessment by qualified AI governance professionals",
|
|
211
|
+
"AI impact assessment and stakeholder engagement",
|
|
212
|
+
"Model performance and fairness evaluation",
|
|
213
|
+
"Organizational AI governance program maturity",
|
|
214
|
+
"Human oversight and accountability structures",
|
|
215
|
+
"AI incident management and response procedures",
|
|
216
|
+
"Third-party AI component risk assessment",
|
|
217
|
+
],
|
|
218
|
+
auditorNote: "This automated assessment maps findings to NIST AI RMF controls. Comprehensive AI risk management requires organizational governance, human oversight, and ongoing monitoring beyond technical controls.",
|
|
219
|
+
},
|
|
220
|
+
"MITRE-ATLAS": {
|
|
221
|
+
fullName: "MITRE ATLAS (Adversarial Threat Landscape for AI Systems)",
|
|
222
|
+
methodology: [
|
|
223
|
+
"**Adversarial Technique Detection:** Scanning for vulnerabilities mapped to MITRE ATLAS tactics and techniques",
|
|
224
|
+
"**Attack Surface Analysis:** Identification of ML attack vectors (reconnaissance, resource development, initial access, execution, persistence, evasion, impact)",
|
|
225
|
+
"**Control Mapping:** Automated mapping to ATLAS mitigations",
|
|
226
|
+
"**Threat Modeling:** Finding correlation to known adversarial ML attack patterns",
|
|
227
|
+
"**Tamper-Evident Logging:** Hash-chained audit trail for security evidence",
|
|
228
|
+
"**Evidence Collection:** Cryptographically attested artifacts for threat assessment",
|
|
229
|
+
],
|
|
230
|
+
scopeLimitations: [
|
|
231
|
+
"Active adversarial testing and red-team exercises",
|
|
232
|
+
"Model robustness and adversarial example testing",
|
|
233
|
+
"Data poisoning and backdoor detection",
|
|
234
|
+
"Model extraction and inversion attacks assessment",
|
|
235
|
+
"Supply chain security for ML components",
|
|
236
|
+
"Incident response for adversarial AI attacks",
|
|
237
|
+
"Threat intelligence integration for ML systems",
|
|
238
|
+
],
|
|
239
|
+
auditorNote: "This automated assessment identifies vulnerabilities mapped to MITRE ATLAS adversarial techniques. Active red-team testing and adversarial evaluation are essential for comprehensive ML security assessment.",
|
|
240
|
+
},
|
|
241
|
+
"EU-AI-ACT": {
|
|
242
|
+
fullName: "EU AI Act (Regulation 2024/1689)",
|
|
243
|
+
methodology: [
|
|
244
|
+
"**Risk Classification:** Assessment against EU AI Act risk categories (unacceptable, high-risk, limited, minimal)",
|
|
245
|
+
"**High-Risk AI Requirements:** Scanning for technical requirements applicable to high-risk AI systems",
|
|
246
|
+
"**Control Mapping:** Automated mapping to EU AI Act articles and annexes",
|
|
247
|
+
"**Transparency Requirements:** Detection of AI system disclosure and documentation gaps",
|
|
248
|
+
"**Tamper-Evident Logging:** Hash-chained audit trail for regulatory evidence",
|
|
249
|
+
"**Evidence Collection:** Cryptographically attested artifacts for compliance demonstration",
|
|
250
|
+
],
|
|
251
|
+
scopeLimitations: [
|
|
252
|
+
"Formal conformity assessment by notified bodies (for high-risk AI)",
|
|
253
|
+
"AI system registration and documentation review",
|
|
254
|
+
"Fundamental rights impact assessment",
|
|
255
|
+
"Quality management system evaluation",
|
|
256
|
+
"Human oversight implementation verification",
|
|
257
|
+
"Post-market monitoring procedures",
|
|
258
|
+
"Incident reporting and recall procedures",
|
|
259
|
+
],
|
|
260
|
+
auditorNote: "This automated assessment identifies technical gaps relevant to EU AI Act requirements. High-risk AI systems require conformity assessment by notified bodies. Legal counsel should advise on risk classification and applicable obligations.",
|
|
261
|
+
},
|
|
262
|
+
"ISO-42001": {
|
|
263
|
+
fullName: "ISO/IEC 42001:2023 AI Management System",
|
|
264
|
+
methodology: [
|
|
265
|
+
"**AIMS Control Assessment:** Scanning for alignment with ISO 42001 AI management system controls",
|
|
266
|
+
"**Control Mapping:** Automated mapping to ISO 42001 Annex A and Annex B controls",
|
|
267
|
+
"**Risk-Based Assessment:** Finding severity correlation to AI risk management requirements",
|
|
268
|
+
"**Documentation Detection:** Identification of required AI system documentation gaps",
|
|
269
|
+
"**Tamper-Evident Logging:** Hash-chained audit trail for certification evidence",
|
|
270
|
+
"**Evidence Collection:** Cryptographically attested artifacts supporting AIMS certification",
|
|
271
|
+
],
|
|
272
|
+
scopeLimitations: [
|
|
273
|
+
"Formal ISO 42001 certification audit by accredited certification body",
|
|
274
|
+
"AI policy and objectives documentation review",
|
|
275
|
+
"AI system lifecycle management evaluation",
|
|
276
|
+
"Leadership commitment and AI governance verification",
|
|
277
|
+
"Competence and awareness program assessment",
|
|
278
|
+
"Internal audit program for AI management",
|
|
279
|
+
"Continual improvement process evaluation",
|
|
280
|
+
],
|
|
281
|
+
auditorNote: "This automated assessment supports ISO 42001 Statement of Applicability evidence. Certification must be performed by an accredited certification body. This report demonstrates continuous AI management system monitoring.",
|
|
282
|
+
},
|
|
283
|
+
};
|
|
284
|
+
/**
|
|
285
|
+
* Get attestation content for a framework
|
|
286
|
+
*/
|
|
287
|
+
export function getFrameworkAttestation(framework) {
|
|
288
|
+
return FRAMEWORK_ATTESTATIONS[framework];
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Format attestation section as markdown
|
|
292
|
+
*/
|
|
293
|
+
export function formatAttestationAsMarkdown(framework) {
|
|
294
|
+
const attestation = FRAMEWORK_ATTESTATIONS[framework];
|
|
295
|
+
const lines = [];
|
|
296
|
+
lines.push("## Attestation");
|
|
297
|
+
lines.push("");
|
|
298
|
+
lines.push(`This report was generated through automated security scanning and compliance mapping for **${attestation.fullName}**.`);
|
|
299
|
+
lines.push("");
|
|
300
|
+
lines.push("### Assessment Methodology");
|
|
301
|
+
lines.push("");
|
|
302
|
+
for (const step of attestation.methodology) {
|
|
303
|
+
lines.push(`- ${step}`);
|
|
304
|
+
}
|
|
305
|
+
lines.push("");
|
|
306
|
+
lines.push("### Scope Limitations");
|
|
307
|
+
lines.push("");
|
|
308
|
+
lines.push("This automated assessment does **NOT** replace:");
|
|
309
|
+
lines.push("");
|
|
310
|
+
for (const limitation of attestation.scopeLimitations) {
|
|
311
|
+
lines.push(`- ${limitation}`);
|
|
312
|
+
}
|
|
313
|
+
lines.push("");
|
|
314
|
+
lines.push("### Auditor Note");
|
|
315
|
+
lines.push("");
|
|
316
|
+
lines.push(`> ${attestation.auditorNote}`);
|
|
317
|
+
lines.push("");
|
|
318
|
+
return lines.join("\n");
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Format attestation for multi-framework report
|
|
322
|
+
*/
|
|
323
|
+
export function formatMultiFrameworkAttestationAsMarkdown(frameworks) {
|
|
324
|
+
const lines = [];
|
|
325
|
+
lines.push("## Attestation");
|
|
326
|
+
lines.push("");
|
|
327
|
+
lines.push("This report was generated through automated security scanning and compliance mapping for the following frameworks:");
|
|
328
|
+
lines.push("");
|
|
329
|
+
for (const framework of frameworks) {
|
|
330
|
+
const attestation = FRAMEWORK_ATTESTATIONS[framework];
|
|
331
|
+
lines.push(`- **${attestation.fullName}**`);
|
|
332
|
+
}
|
|
333
|
+
lines.push("");
|
|
334
|
+
lines.push("### Assessment Methodology");
|
|
335
|
+
lines.push("");
|
|
336
|
+
lines.push("The following methodology was applied across all frameworks:");
|
|
337
|
+
lines.push("");
|
|
338
|
+
lines.push("1. **Deterministic Scanning:** Pattern-based detection using static analysis tools (Semgrep, gitleaks, npm audit, Bandit, Gosec, etc.)");
|
|
339
|
+
lines.push("2. **Finding-to-Control Mapping:** Automated mapping of security findings to framework-specific controls");
|
|
340
|
+
lines.push("3. **Severity Correlation:** Finding severity to control risk impact assessment");
|
|
341
|
+
lines.push("4. **Tamper-Evident Logging:** Hash-chained audit trail with optional Sigstore signing");
|
|
342
|
+
lines.push("5. **Evidence Collection:** Cryptographically attested artifacts for audit defensibility");
|
|
343
|
+
lines.push("");
|
|
344
|
+
lines.push("### Scope Limitations");
|
|
345
|
+
lines.push("");
|
|
346
|
+
lines.push("This automated assessment does **NOT** replace:");
|
|
347
|
+
lines.push("");
|
|
348
|
+
lines.push("- Formal compliance audits by accredited assessors or certification bodies");
|
|
349
|
+
lines.push("- Organizational policies, procedures, and governance documentation");
|
|
350
|
+
lines.push("- Physical security and environmental controls assessment");
|
|
351
|
+
lines.push("- Personnel security, training, and awareness programs");
|
|
352
|
+
lines.push("- Vendor and third-party risk management reviews");
|
|
353
|
+
lines.push("- Business continuity and incident response testing");
|
|
354
|
+
lines.push("");
|
|
355
|
+
lines.push("### Framework-Specific Notes");
|
|
356
|
+
lines.push("");
|
|
357
|
+
for (const framework of frameworks) {
|
|
358
|
+
const attestation = FRAMEWORK_ATTESTATIONS[framework];
|
|
359
|
+
lines.push(`**${framework}:** ${attestation.auditorNote}`);
|
|
360
|
+
lines.push("");
|
|
361
|
+
}
|
|
362
|
+
return lines.join("\n");
|
|
363
|
+
}
|
|
364
|
+
//# sourceMappingURL=attestation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../src/compliance/attestation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 42 CFR Part 2 Compliance Controls
|
|
3
|
+
*
|
|
4
|
+
* Confidentiality of Substance Use Disorder Patient Records
|
|
5
|
+
* (Stricter than HIPAA for SUD treatment records)
|
|
6
|
+
*
|
|
7
|
+
* @module compliance/cfr42-part2
|
|
8
|
+
*/
|
|
9
|
+
import type { ComplianceControl } from "./types.js";
|
|
10
|
+
/**
|
|
11
|
+
* 42 CFR Part 2 control categories
|
|
12
|
+
*/
|
|
13
|
+
export declare const CFR42_PART2_CATEGORIES: readonly ["General Provisions", "Disclosures With Consent", "Disclosures Without Consent", "Security Safeguards", "Audit and Accountability", "Re-disclosure Restrictions", "Qualified Service Organizations", "Patient Rights"];
|
|
14
|
+
/**
|
|
15
|
+
* 42 CFR Part 2 controls for SUD confidentiality
|
|
16
|
+
*
|
|
17
|
+
* These controls are STRICTER than HIPAA and apply specifically to
|
|
18
|
+
* substance use disorder (SUD) treatment records.
|
|
19
|
+
*/
|
|
20
|
+
export declare const CFR42_PART2_CONTROLS: ComplianceControl[];
|
|
21
|
+
/**
|
|
22
|
+
* Get all 42 CFR Part 2 controls
|
|
23
|
+
*/
|
|
24
|
+
export declare function getCFR42Part2Controls(): ComplianceControl[];
|
|
25
|
+
/**
|
|
26
|
+
* Get 42 CFR Part 2 controls by category
|
|
27
|
+
*/
|
|
28
|
+
export declare function getCFR42Part2ControlsByCategory(category: string): ComplianceControl[];
|
|
29
|
+
/**
|
|
30
|
+
* Get 42 CFR Part 2 control by ID
|
|
31
|
+
*/
|
|
32
|
+
export declare function getCFR42Part2ControlById(id: string): ComplianceControl | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Get 42 CFR Part 2 categories
|
|
35
|
+
*/
|
|
36
|
+
export declare function getCFR42Part2Categories(): readonly string[];
|
|
37
|
+
/**
|
|
38
|
+
* Cross-reference mapping to HIPAA controls
|
|
39
|
+
* 42 CFR Part 2 often overlaps with but is stricter than HIPAA
|
|
40
|
+
*/
|
|
41
|
+
export declare const CFR42_TO_HIPAA_MAPPING: Record<string, string[]>;
|
|
42
|
+
//# sourceMappingURL=cfr42-part2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cfr42-part2.d.ts","sourceRoot":"","sources":["../../src/compliance/cfr42-part2.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,sBAAsB,kOASzB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,EA6WnD,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,iBAAiB,EAAE,CAE3D;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,MAAM,GACf,iBAAiB,EAAE,CAErB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,MAAM,GACT,iBAAiB,GAAG,SAAS,CAE/B;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,SAAS,MAAM,EAAE,CAE3D;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAS3D,CAAC"}
|