verification-layer 0.20.0 → 0.22.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.
Files changed (180) hide show
  1. package/README.md +251 -615
  2. package/dist/cli.js +542 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/marketplace/index.d.ts +8 -0
  5. package/dist/marketplace/index.d.ts.map +1 -0
  6. package/dist/marketplace/index.js +7 -0
  7. package/dist/marketplace/index.js.map +1 -0
  8. package/dist/marketplace/installer.d.ts +62 -0
  9. package/dist/marketplace/installer.d.ts.map +1 -0
  10. package/dist/marketplace/installer.js +254 -0
  11. package/dist/marketplace/installer.js.map +1 -0
  12. package/dist/marketplace/registry.d.ts +52 -0
  13. package/dist/marketplace/registry.d.ts.map +1 -0
  14. package/dist/marketplace/registry.js +759 -0
  15. package/dist/marketplace/registry.js.map +1 -0
  16. package/dist/marketplace/types.d.ts +123 -0
  17. package/dist/marketplace/types.d.ts.map +1 -0
  18. package/dist/marketplace/types.js +6 -0
  19. package/dist/marketplace/types.js.map +1 -0
  20. package/dist/reporters/audit-report.d.ts.map +1 -1
  21. package/dist/reporters/audit-report.js +180 -0
  22. package/dist/reporters/audit-report.js.map +1 -1
  23. package/dist/reporters/index.d.ts.map +1 -1
  24. package/dist/reporters/index.js +2612 -5
  25. package/dist/reporters/index.js.map +1 -1
  26. package/dist/scan.d.ts.map +1 -1
  27. package/dist/scan.js +15 -1
  28. package/dist/scan.js.map +1 -1
  29. package/dist/scanners/api-security/index.d.ts +7 -0
  30. package/dist/scanners/api-security/index.d.ts.map +1 -0
  31. package/dist/scanners/api-security/index.js +139 -0
  32. package/dist/scanners/api-security/index.js.map +1 -0
  33. package/dist/scanners/api-security/index.test.d.ts +5 -0
  34. package/dist/scanners/api-security/index.test.d.ts.map +1 -0
  35. package/dist/scanners/api-security/index.test.js +360 -0
  36. package/dist/scanners/api-security/index.test.js.map +1 -0
  37. package/dist/scanners/api-security/patterns.d.ts +32 -0
  38. package/dist/scanners/api-security/patterns.d.ts.map +1 -0
  39. package/dist/scanners/api-security/patterns.js +159 -0
  40. package/dist/scanners/api-security/patterns.js.map +1 -0
  41. package/dist/scanners/authentication/index.d.ts +7 -0
  42. package/dist/scanners/authentication/index.d.ts.map +1 -0
  43. package/dist/scanners/authentication/index.js +107 -0
  44. package/dist/scanners/authentication/index.js.map +1 -0
  45. package/dist/scanners/authentication/index.test.d.ts +5 -0
  46. package/dist/scanners/authentication/index.test.d.ts.map +1 -0
  47. package/dist/scanners/authentication/index.test.js +379 -0
  48. package/dist/scanners/authentication/index.test.js.map +1 -0
  49. package/dist/scanners/authentication/patterns.d.ts +32 -0
  50. package/dist/scanners/authentication/patterns.d.ts.map +1 -0
  51. package/dist/scanners/authentication/patterns.js +133 -0
  52. package/dist/scanners/authentication/patterns.js.map +1 -0
  53. package/dist/scanners/configuration/index.d.ts +8 -0
  54. package/dist/scanners/configuration/index.d.ts.map +1 -0
  55. package/dist/scanners/configuration/index.js +87 -0
  56. package/dist/scanners/configuration/index.js.map +1 -0
  57. package/dist/scanners/configuration/index.test.d.ts +5 -0
  58. package/dist/scanners/configuration/index.test.d.ts.map +1 -0
  59. package/dist/scanners/configuration/index.test.js +344 -0
  60. package/dist/scanners/configuration/index.test.js.map +1 -0
  61. package/dist/scanners/configuration/patterns.d.ts +32 -0
  62. package/dist/scanners/configuration/patterns.d.ts.map +1 -0
  63. package/dist/scanners/configuration/patterns.js +146 -0
  64. package/dist/scanners/configuration/patterns.js.map +1 -0
  65. package/dist/scanners/credentials/index.d.ts +7 -0
  66. package/dist/scanners/credentials/index.d.ts.map +1 -0
  67. package/dist/scanners/credentials/index.js +129 -0
  68. package/dist/scanners/credentials/index.js.map +1 -0
  69. package/dist/scanners/credentials/index.test.d.ts +5 -0
  70. package/dist/scanners/credentials/index.test.d.ts.map +1 -0
  71. package/dist/scanners/credentials/index.test.js +395 -0
  72. package/dist/scanners/credentials/index.test.js.map +1 -0
  73. package/dist/scanners/credentials/patterns.d.ts +32 -0
  74. package/dist/scanners/credentials/patterns.d.ts.map +1 -0
  75. package/dist/scanners/credentials/patterns.js +140 -0
  76. package/dist/scanners/credentials/patterns.js.map +1 -0
  77. package/dist/scanners/errors/index.d.ts +8 -0
  78. package/dist/scanners/errors/index.d.ts.map +1 -0
  79. package/dist/scanners/errors/index.js +78 -0
  80. package/dist/scanners/errors/index.js.map +1 -0
  81. package/dist/scanners/errors/index.test.d.ts +5 -0
  82. package/dist/scanners/errors/index.test.d.ts.map +1 -0
  83. package/dist/scanners/errors/index.test.js +330 -0
  84. package/dist/scanners/errors/index.test.js.map +1 -0
  85. package/dist/scanners/errors/patterns.d.ts +27 -0
  86. package/dist/scanners/errors/patterns.d.ts.map +1 -0
  87. package/dist/scanners/errors/patterns.js +97 -0
  88. package/dist/scanners/errors/patterns.js.map +1 -0
  89. package/dist/scanners/hipaa2026/index.d.ts +8 -0
  90. package/dist/scanners/hipaa2026/index.d.ts.map +1 -0
  91. package/dist/scanners/hipaa2026/index.js +345 -0
  92. package/dist/scanners/hipaa2026/index.js.map +1 -0
  93. package/dist/scanners/hipaa2026/index.test.d.ts +5 -0
  94. package/dist/scanners/hipaa2026/index.test.d.ts.map +1 -0
  95. package/dist/scanners/hipaa2026/index.test.js +332 -0
  96. package/dist/scanners/hipaa2026/index.test.js.map +1 -0
  97. package/dist/scanners/hipaa2026/patterns.d.ts +57 -0
  98. package/dist/scanners/hipaa2026/patterns.d.ts.map +1 -0
  99. package/dist/scanners/hipaa2026/patterns.js +268 -0
  100. package/dist/scanners/hipaa2026/patterns.js.map +1 -0
  101. package/dist/scanners/operational/index.d.ts +7 -0
  102. package/dist/scanners/operational/index.d.ts.map +1 -0
  103. package/dist/scanners/operational/index.js +171 -0
  104. package/dist/scanners/operational/index.js.map +1 -0
  105. package/dist/scanners/operational/index.test.d.ts +5 -0
  106. package/dist/scanners/operational/index.test.d.ts.map +1 -0
  107. package/dist/scanners/operational/index.test.js +406 -0
  108. package/dist/scanners/operational/index.test.js.map +1 -0
  109. package/dist/scanners/operational/patterns.d.ts +33 -0
  110. package/dist/scanners/operational/patterns.d.ts.map +1 -0
  111. package/dist/scanners/operational/patterns.js +151 -0
  112. package/dist/scanners/operational/patterns.js.map +1 -0
  113. package/dist/scanners/rbac/index.d.ts +7 -0
  114. package/dist/scanners/rbac/index.d.ts.map +1 -0
  115. package/dist/scanners/rbac/index.js +145 -0
  116. package/dist/scanners/rbac/index.js.map +1 -0
  117. package/dist/scanners/rbac/index.test.d.ts +5 -0
  118. package/dist/scanners/rbac/index.test.d.ts.map +1 -0
  119. package/dist/scanners/rbac/index.test.js +422 -0
  120. package/dist/scanners/rbac/index.test.js.map +1 -0
  121. package/dist/scanners/rbac/patterns.d.ts +32 -0
  122. package/dist/scanners/rbac/patterns.d.ts.map +1 -0
  123. package/dist/scanners/rbac/patterns.js +124 -0
  124. package/dist/scanners/rbac/patterns.js.map +1 -0
  125. package/dist/scanners/revocation/index.d.ts +8 -0
  126. package/dist/scanners/revocation/index.d.ts.map +1 -0
  127. package/dist/scanners/revocation/index.js +83 -0
  128. package/dist/scanners/revocation/index.js.map +1 -0
  129. package/dist/scanners/revocation/index.test.d.ts +5 -0
  130. package/dist/scanners/revocation/index.test.d.ts.map +1 -0
  131. package/dist/scanners/revocation/index.test.js +332 -0
  132. package/dist/scanners/revocation/index.test.js.map +1 -0
  133. package/dist/scanners/revocation/patterns.d.ts +27 -0
  134. package/dist/scanners/revocation/patterns.d.ts.map +1 -0
  135. package/dist/scanners/revocation/patterns.js +109 -0
  136. package/dist/scanners/revocation/patterns.js.map +1 -0
  137. package/dist/scanners/sanitization/index.d.ts +8 -0
  138. package/dist/scanners/sanitization/index.d.ts.map +1 -0
  139. package/dist/scanners/sanitization/index.js +98 -0
  140. package/dist/scanners/sanitization/index.js.map +1 -0
  141. package/dist/scanners/sanitization/index.test.d.ts +5 -0
  142. package/dist/scanners/sanitization/index.test.d.ts.map +1 -0
  143. package/dist/scanners/sanitization/index.test.js +370 -0
  144. package/dist/scanners/sanitization/index.test.js.map +1 -0
  145. package/dist/scanners/sanitization/patterns.d.ts +27 -0
  146. package/dist/scanners/sanitization/patterns.d.ts.map +1 -0
  147. package/dist/scanners/sanitization/patterns.js +117 -0
  148. package/dist/scanners/sanitization/patterns.js.map +1 -0
  149. package/dist/training/certificate.d.ts +26 -0
  150. package/dist/training/certificate.d.ts.map +1 -0
  151. package/dist/training/certificate.js +92 -0
  152. package/dist/training/certificate.js.map +1 -0
  153. package/dist/training/index.d.ts +3 -0
  154. package/dist/training/index.d.ts.map +1 -0
  155. package/dist/training/index.js +243 -0
  156. package/dist/training/index.js.map +1 -0
  157. package/dist/training/modules.d.ts +13 -0
  158. package/dist/training/modules.d.ts.map +1 -0
  159. package/dist/training/modules.js +608 -0
  160. package/dist/training/modules.js.map +1 -0
  161. package/dist/training/questions.d.ts +9 -0
  162. package/dist/training/questions.d.ts.map +1 -0
  163. package/dist/training/questions.js +505 -0
  164. package/dist/training/questions.js.map +1 -0
  165. package/dist/types.d.ts +45 -0
  166. package/dist/types.d.ts.map +1 -1
  167. package/dist/utils/npm-audit.d.ts +6 -0
  168. package/dist/utils/npm-audit.d.ts.map +1 -0
  169. package/dist/utils/npm-audit.js +95 -0
  170. package/dist/utils/npm-audit.js.map +1 -0
  171. package/dist/utils/scan-history.d.ts +59 -0
  172. package/dist/utils/scan-history.d.ts.map +1 -0
  173. package/dist/utils/scan-history.js +170 -0
  174. package/dist/utils/scan-history.js.map +1 -0
  175. package/package.json +4 -1
  176. package/templates/baa-verification-letter.md +105 -0
  177. package/templates/irp.md +545 -0
  178. package/templates/notice-of-privacy-practices.md +491 -0
  179. package/templates/physical-safeguards-checklist.md +247 -0
  180. package/templates/security-officer-designation.md +237 -0
@@ -0,0 +1,545 @@
1
+ # Incident Response Plan (IRP)
2
+
3
+ **Organization:** [ORGANIZATION NAME]
4
+ **Effective Date:** [DATE]
5
+ **Version:** [VERSION NUMBER]
6
+ **Document Owner:** [SECURITY OFFICER NAME]
7
+ **Last Review Date:** [DATE]
8
+ **Next Review Date:** [DATE]
9
+
10
+ ---
11
+
12
+ ## 1. PURPOSE & SCOPE
13
+
14
+ This Incident Response Plan (IRP) establishes procedures for identifying, responding to, and managing security incidents involving electronic Protected Health Information (ePHI) in compliance with the HIPAA Security Rule (45 CFR §164.308(a)(6)).
15
+
16
+ **Scope:** This plan applies to all workforce members, business associates, and systems that create, receive, maintain, or transmit ePHI.
17
+
18
+ ---
19
+
20
+ ## 2. DEFINITIONS
21
+
22
+ **Security Incident:** The attempted or successful unauthorized access, use, disclosure, modification, or destruction of information or interference with system operations in an information system (45 CFR §164.304).
23
+
24
+ **Breach:** The acquisition, access, use, or disclosure of PHI in a manner not permitted under the Privacy Rule which compromises the security or privacy of the PHI (45 CFR §164.402).
25
+
26
+ **Reportable Breach:** A breach affecting 500 or more individuals, requiring notification to HHS and media outlets within 60 days.
27
+
28
+ ---
29
+
30
+ ## 3. INCIDENT RESPONSE TEAM (IRT)
31
+
32
+ ### Team Composition
33
+
34
+ | Role | Name | Contact | Responsibilities |
35
+ |------|------|---------|------------------|
36
+ | **Incident Commander** | [NAME] | [PHONE/EMAIL] | Overall incident coordination, decision authority |
37
+ | **Security Lead** | [NAME] | [PHONE/EMAIL] | Technical investigation, containment, remediation |
38
+ | **Compliance Officer** | [NAME] | [PHONE/EMAIL] | HIPAA compliance, breach determination, notifications |
39
+ | **Legal Counsel** | [NAME] | [PHONE/EMAIL] | Legal guidance, regulatory consultation |
40
+ | **Communications Lead** | [NAME] | [PHONE/EMAIL] | Internal/external communications, media relations |
41
+ | **IT Director** | [NAME] | [PHONE/EMAIL] | System restoration, infrastructure support |
42
+ | **Privacy Officer** | [NAME] | [PHONE/EMAIL] | Privacy impact assessment, patient notifications |
43
+
44
+ ### Escalation Contact
45
+
46
+ **24/7 Emergency Contact:** [PHONE NUMBER]
47
+ **Email Distribution List:** [EMAIL]
48
+ **Slack/Teams Channel:** [CHANNEL NAME]
49
+
50
+ ---
51
+
52
+ ## 4. INCIDENT SEVERITY CLASSIFICATION
53
+
54
+ ### P0 - Critical (15-minute response time)
55
+ - Confirmed breach of ePHI affecting 500+ individuals
56
+ - Active ransomware/malware spreading across systems
57
+ - Complete system outage affecting patient care
58
+ - Data exfiltration in progress
59
+ - Unauthorized access to production PHI databases
60
+
61
+ ### P1 - High (1-hour response time)
62
+ - Suspected breach affecting 50-499 individuals
63
+ - Malware infection on ePHI-containing systems
64
+ - Unauthorized access by terminated employee
65
+ - Compromised administrator credentials
66
+ - Denial of service affecting ePHI systems
67
+
68
+ ### P2 - Medium (4-hour response time)
69
+ - Suspected breach affecting 10-49 individuals
70
+ - Phishing attack targeting workforce members
71
+ - Lost/stolen device containing encrypted ePHI
72
+ - Unauthorized data access attempt (blocked)
73
+ - Misconfigured security controls
74
+
75
+ ### P3 - Low (24-hour response time)
76
+ - Suspected breach affecting fewer than 10 individuals
77
+ - Policy violations without confirmed PHI exposure
78
+ - Unsuccessful intrusion attempts
79
+ - Minor security control failures
80
+
81
+ ---
82
+
83
+ ## 5. INCIDENT RESPONSE PHASES
84
+
85
+ ### Phase 1: Detection & Analysis (0-2 hours)
86
+
87
+ #### Immediate Actions (0-15 minutes)
88
+
89
+ 1. ☐ Document incident discovery:
90
+ - Date and time of detection: ________________
91
+ - Reporter name and contact: ________________
92
+ - Method of detection: ________________
93
+
94
+ 2. ☐ Assign severity level (P0/P1/P2/P3): ________
95
+
96
+ 3. ☐ Notify Incident Commander immediately if P0 or P1
97
+
98
+ 4. ☐ Preserve evidence (do NOT power off systems)
99
+
100
+ 5. ☐ Take initial screenshots/logs
101
+
102
+ #### Investigation Phase (15 minutes - 2 hours)
103
+
104
+ 6. ☐ Assemble Incident Response Team
105
+
106
+ 7. ☐ Establish incident war room (physical or virtual)
107
+
108
+ 8. ☐ Collect preliminary information:
109
+ - Affected systems: ________________
110
+ - Number of potentially affected individuals: ________
111
+ - Type of PHI involved: ________________
112
+ - Attack vector (if known): ________________
113
+
114
+ 9. ☐ Review relevant logs:
115
+ - System access logs
116
+ - Network traffic logs
117
+ - Application logs
118
+ - Authentication logs
119
+
120
+ 10. ☐ Interview personnel involved
121
+
122
+ 11. ☐ Assess scope and impact
123
+
124
+ 12. ☐ Create incident ticket in tracking system
125
+
126
+ ### Phase 2: Containment (2-6 hours)
127
+
128
+ #### Short-term Containment
129
+
130
+ 1. ☐ Isolate affected systems (network segmentation)
131
+
132
+ 2. ☐ Disable compromised user accounts
133
+
134
+ 3. ☐ Block malicious IP addresses at firewall
135
+
136
+ 4. ☐ Reset passwords for affected accounts
137
+
138
+ 5. ☐ Enable additional monitoring on related systems
139
+
140
+ 6. ☐ Implement temporary workarounds for business continuity
141
+
142
+ #### Long-term Containment
143
+
144
+ 7. ☐ Apply emergency patches if vulnerability identified
145
+
146
+ 8. ☐ Deploy additional security controls
147
+
148
+ 9. ☐ Rebuild compromised systems from clean backups
149
+
150
+ 10. ☐ Enhance monitoring and detection capabilities
151
+
152
+ ### Phase 3: Eradication (6-24 hours)
153
+
154
+ 1. ☐ Identify and remove root cause:
155
+ - Malware removal
156
+ - Close vulnerability
157
+ - Fix misconfiguration
158
+ - Revoke unauthorized access
159
+
160
+ 2. ☐ Verify all indicators of compromise (IOCs) removed
161
+
162
+ 3. ☐ Update security controls to prevent recurrence
163
+
164
+ 4. ☐ Scan all systems for similar vulnerabilities
165
+
166
+ 5. ☐ Apply security patches across environment
167
+
168
+ ### Phase 4: Recovery (24-72 hours)
169
+
170
+ 1. ☐ Restore systems from verified clean backups
171
+
172
+ 2. ☐ Verify system integrity before production use
173
+
174
+ 3. ☐ Re-enable accounts with new credentials
175
+
176
+ 4. ☐ Monitor restored systems for 72 hours minimum
177
+
178
+ 5. ☐ Gradually restore normal operations
179
+
180
+ 6. ☐ Document all recovery actions taken
181
+
182
+ ### Phase 5: Post-Incident Activity (Within 7 days)
183
+
184
+ 1. ☐ Conduct post-incident review meeting
185
+
186
+ 2. ☐ Complete incident report (see Section 8)
187
+
188
+ 3. ☐ Document lessons learned
189
+
190
+ 4. ☐ Update policies/procedures based on findings
191
+
192
+ 5. ☐ Implement additional preventive measures
193
+
194
+ 6. ☐ Provide security awareness training on incident type
195
+
196
+ 7. ☐ Update risk assessment with new threats
197
+
198
+ ---
199
+
200
+ ## 6. HIPAA BREACH NOTIFICATION REQUIREMENTS
201
+
202
+ ### Breach Determination Process
203
+
204
+ Within **24-48 hours** of incident discovery, conduct breach risk assessment:
205
+
206
+ #### Risk Assessment Factors (45 CFR §164.402)
207
+
208
+ 1. ☐ **Nature and extent of PHI involved**
209
+ - Demographic information only? Low risk
210
+ - SSN, financial, or medical records? High risk
211
+
212
+ 2. ☐ **Unauthorized person who accessed PHI**
213
+ - Internal workforce member? Lower risk
214
+ - External malicious actor? Higher risk
215
+ - Could the person re-identify individuals?
216
+
217
+ 3. ☐ **Was PHI actually acquired or viewed?**
218
+ - Evidence of data exfiltration?
219
+ - Logs showing file access/download?
220
+
221
+ 4. ☐ **Extent of risk mitigation**
222
+ - PHI was encrypted? Not a breach
223
+ - Device was password-protected?
224
+ - Remote wipe successful?
225
+
226
+ **Breach Determination:** Yes ☐ No ☐
227
+
228
+ **If YES, proceed to notification requirements below.**
229
+
230
+ ### Notification Timeline
231
+
232
+ ```
233
+ Day 0: Breach Discovery
234
+
235
+ Days 1-5: Breach Risk Assessment
236
+
237
+ Within 60 Days: All Notifications Must Be Complete
238
+ ├─ Individual Notifications (Day 10-15)
239
+ ├─ HHS Notification (if 500+)
240
+ ├─ Media Notification (if 500+)
241
+ └─ Business Associate Notification
242
+ ```
243
+
244
+ ### Individual Notification (45 CFR §164.404)
245
+
246
+ **Timeline:** Without unreasonable delay, no later than **60 days** from discovery
247
+
248
+ **Method:**
249
+ - First-class mail (preferred)
250
+ - Email (if individual has agreed)
251
+ - Substitute notice (if insufficient contact information)
252
+
253
+ **Required Content:**
254
+ 1. ☐ Brief description of what happened
255
+ 2. ☐ Date of breach and date of discovery
256
+ 3. ☐ Types of PHI involved
257
+ 4. ☐ Steps individuals should take to protect themselves
258
+ 5. ☐ What organization is doing in response
259
+ 6. ☐ Contact procedures for questions
260
+
261
+ **Draft Notification Letter Location:** [FILE PATH/LINK]
262
+
263
+ ### HHS Notification (45 CFR §164.408)
264
+
265
+ **For breaches affecting 500+ individuals:**
266
+ - Notify HHS via web portal: https://ocrportal.hhs.gov/ocr/breach/wizard_breach.jsf
267
+ - Timeline: **Within 60 days** of discovery
268
+ - Contemporaneous with individual notification
269
+
270
+ **For breaches affecting fewer than 500 individuals:**
271
+ - Submit to HHS annually
272
+ - Deadline: Within **60 days** of calendar year end
273
+
274
+ **HHS Portal Credentials:** [SECURE LOCATION]
275
+
276
+ ### Media Notification (45 CFR §164.406)
277
+
278
+ **For breaches affecting 500+ individuals in same state/jurisdiction:**
279
+ - Notify prominent media outlets
280
+ - Timeline: **Within 60 days** of discovery
281
+ - Contemporaneous with individual notification
282
+
283
+ **Media Contact List:** [FILE PATH/LINK]
284
+
285
+ ### Business Associate Notification (45 CFR §164.410)
286
+
287
+ **If breach discovered by Business Associate:**
288
+ - BA must notify Covered Entity **without unreasonable delay**
289
+ - No later than **60 days** from discovery
290
+ - CE then responsible for individual notifications
291
+
292
+ ---
293
+
294
+ ## 7. EXTERNAL CONTACTS
295
+
296
+ ### Regulatory Authorities
297
+
298
+ **HHS Office for Civil Rights (OCR)**
299
+ - Website: https://www.hhs.gov/ocr
300
+ - Phone: 1-800-368-1019
301
+ - Email: ocrmail@hhs.gov
302
+ - Breach Portal: https://ocrportal.hhs.gov
303
+
304
+ **State Attorney General** (for breaches affecting state residents)
305
+ - Name: [STATE AG NAME]
306
+ - Phone: [PHONE]
307
+ - Email: [EMAIL]
308
+
309
+ ### Law Enforcement
310
+
311
+ **FBI Cyber Division**
312
+ - Phone: [LOCAL FBI OFFICE]
313
+ - IC3 Portal: https://www.ic3.gov
314
+
315
+ **Local Law Enforcement**
316
+ - Department: [NAME]
317
+ - Contact: [NAME/PHONE]
318
+
319
+ ### Incident Response Support
320
+
321
+ **Cyber Insurance Provider**
322
+ - Company: [INSURANCE COMPANY]
323
+ - Policy Number: [NUMBER]
324
+ - 24/7 Hotline: [PHONE]
325
+ - Incident Reporting: [EMAIL/PORTAL]
326
+
327
+ **Forensics Vendor**
328
+ - Company: [VENDOR NAME]
329
+ - Contact: [NAME/PHONE]
330
+ - Service Agreement: [REFERENCE]
331
+
332
+ **Legal Counsel**
333
+ - Firm: [LAW FIRM NAME]
334
+ - Attorney: [NAME]
335
+ - Phone: [PHONE]
336
+ - Email: [EMAIL]
337
+
338
+ ---
339
+
340
+ ## 8. INCIDENT DOCUMENTATION TEMPLATE
341
+
342
+ **Incident ID:** IRP-[YYYY]-[###]
343
+ **Classification:** P0 ☐ P1 ☐ P2 ☐ P3 ☐
344
+
345
+ ### Incident Summary
346
+
347
+ **Discovery Date/Time:** ________________
348
+ **Reporter:** ________________
349
+ **Detection Method:** ________________
350
+ **Status:** Open ☐ Contained ☐ Resolved ☐ Closed ☐
351
+
352
+ ### Affected Systems
353
+
354
+ **Systems Impacted:**
355
+ - ________________
356
+ - ________________
357
+
358
+ **Data Categories Affected:**
359
+ - ePHI ☐ PHI ☐ PII ☐ Other: ________
360
+
361
+ **Number of Individuals Affected:** ________
362
+
363
+ ### Timeline
364
+
365
+ | Date/Time | Event | Action Taken | Responsible Party |
366
+ |-----------|-------|--------------|-------------------|
367
+ | | | | |
368
+ | | | | |
369
+ | | | | |
370
+
371
+ ### Root Cause Analysis
372
+
373
+ **Primary Cause:**
374
+ ________________
375
+
376
+ **Contributing Factors:**
377
+ ________________
378
+
379
+ **Vulnerabilities Exploited:**
380
+ ________________
381
+
382
+ ### Response Actions
383
+
384
+ **Containment Measures:**
385
+ ________________
386
+
387
+ **Eradication Steps:**
388
+ ________________
389
+
390
+ **Recovery Actions:**
391
+ ________________
392
+
393
+ ### Breach Determination
394
+
395
+ **Breach Risk Assessment Completed:** Yes ☐ No ☐
396
+ **Date:** ________________
397
+ **Conducted By:** ________________
398
+
399
+ **Determination:** Breach ☐ Not a Breach ☐
400
+ **Justification:**
401
+ ________________
402
+
403
+ ### Notifications Sent
404
+
405
+ **Individual Notifications:**
406
+ - Date Sent: ________________
407
+ - Method: Mail ☐ Email ☐ Substitute ☐
408
+ - Number Notified: ________
409
+
410
+ **HHS Notification:** Yes ☐ No ☐ Date: ________
411
+ **Media Notification:** Yes ☐ No ☐ Date: ________
412
+ **Business Associates:** Yes ☐ No ☐ Date: ________
413
+
414
+ ### Lessons Learned
415
+
416
+ **What Worked Well:**
417
+ ________________
418
+
419
+ **What Could Be Improved:**
420
+ ________________
421
+
422
+ **Preventive Measures Implemented:**
423
+ ________________
424
+
425
+ **Policy/Procedure Updates Required:**
426
+ ________________
427
+
428
+ ### Closure
429
+
430
+ **Incident Closed By:** ________________
431
+ **Date:** ________________
432
+ **Final Status:** Resolved ☐ Unresolved ☐
433
+
434
+ ---
435
+
436
+ ## 9. INCIDENT RESPONSE DRILLS & TESTING
437
+
438
+ ### Testing Schedule
439
+
440
+ - **Quarterly:** Tabletop exercises (scenario-based discussion)
441
+ - **Bi-Annual:** Technical drills (simulated incident)
442
+ - **Annual:** Full-scale simulation (all teams, realistic scenario)
443
+
444
+ ### Last Drill Information
445
+
446
+ **Date:** ________________
447
+ **Type:** Tabletop ☐ Technical ☐ Full-Scale ☐
448
+ **Scenario:** ________________
449
+ **Participants:** ________________
450
+ **Results Summary:** ________________
451
+ **Action Items:** ________________
452
+
453
+ ### Next Scheduled Drill
454
+
455
+ **Date:** ________________
456
+ **Type:** ________________
457
+ **Scenario:** ________________
458
+
459
+ ---
460
+
461
+ ## 10. PLAN MAINTENANCE
462
+
463
+ ### Review Schedule
464
+
465
+ This Incident Response Plan must be reviewed and updated:
466
+ - **Annually:** Scheduled review
467
+ - **After major incidents:** Within 30 days
468
+ - **After organizational changes:** Within 60 days
469
+ - **After regulation updates:** As needed
470
+
471
+ ### Revision History
472
+
473
+ | Version | Date | Changes | Approved By |
474
+ |---------|------|---------|-------------|
475
+ | 1.0 | [DATE] | Initial creation | [NAME] |
476
+ | | | | |
477
+ | | | | |
478
+
479
+ ---
480
+
481
+ ## 11. APPENDICES
482
+
483
+ ### Appendix A: Communication Templates
484
+ - Individual breach notification letter
485
+ - Media statement template
486
+ - Internal communication memo
487
+ - Business associate notification
488
+
489
+ **Location:** [FILE PATH/SECURE LOCATION]
490
+
491
+ ### Appendix B: Contact Lists
492
+ - Complete IRT roster with alternates
493
+ - Business associate contacts
494
+ - Vendor escalation contacts
495
+ - Employee notification tree
496
+
497
+ **Location:** [FILE PATH/SECURE LOCATION]
498
+
499
+ ### Appendix C: Technical Procedures
500
+ - Log collection procedures
501
+ - Forensic imaging procedures
502
+ - Malware analysis procedures
503
+ - System isolation procedures
504
+
505
+ **Location:** [FILE PATH/SECURE LOCATION]
506
+
507
+ ### Appendix D: Forms & Checklists
508
+ - Incident intake form
509
+ - Breach risk assessment worksheet
510
+ - Post-incident review template
511
+ - Drill evaluation form
512
+
513
+ **Location:** [FILE PATH/SECURE LOCATION]
514
+
515
+ ---
516
+
517
+ ## AUTHORIZATION
518
+
519
+ This Incident Response Plan has been reviewed and approved by:
520
+
521
+ **Security Officer**
522
+ Signature: _________________________ Date: _________
523
+ Name: [NAME]
524
+ Title: [TITLE]
525
+
526
+ **Privacy Officer**
527
+ Signature: _________________________ Date: _________
528
+ Name: [NAME]
529
+ Title: [TITLE]
530
+
531
+ **Executive Leadership**
532
+ Signature: _________________________ Date: _________
533
+ Name: [NAME]
534
+ Title: [TITLE]
535
+
536
+ ---
537
+
538
+ **Distribution:** This plan should be distributed to all Incident Response Team members and made available to all workforce members.
539
+
540
+ **Retention:** This document must be retained for a minimum of six (6) years from the date of its creation or the date when it last was in effect, whichever is later (45 CFR §164.316(b)(2)).
541
+
542
+ ---
543
+
544
+ *Generated using vlayer - HIPAA Compliance Scanner*
545
+ *https://github.com/Francosimon53/verification-layer*