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.
- package/README.md +251 -615
- package/dist/cli.js +542 -0
- package/dist/cli.js.map +1 -1
- package/dist/marketplace/index.d.ts +8 -0
- package/dist/marketplace/index.d.ts.map +1 -0
- package/dist/marketplace/index.js +7 -0
- package/dist/marketplace/index.js.map +1 -0
- package/dist/marketplace/installer.d.ts +62 -0
- package/dist/marketplace/installer.d.ts.map +1 -0
- package/dist/marketplace/installer.js +254 -0
- package/dist/marketplace/installer.js.map +1 -0
- package/dist/marketplace/registry.d.ts +52 -0
- package/dist/marketplace/registry.d.ts.map +1 -0
- package/dist/marketplace/registry.js +759 -0
- package/dist/marketplace/registry.js.map +1 -0
- package/dist/marketplace/types.d.ts +123 -0
- package/dist/marketplace/types.d.ts.map +1 -0
- package/dist/marketplace/types.js +6 -0
- package/dist/marketplace/types.js.map +1 -0
- package/dist/reporters/audit-report.d.ts.map +1 -1
- package/dist/reporters/audit-report.js +180 -0
- package/dist/reporters/audit-report.js.map +1 -1
- package/dist/reporters/index.d.ts.map +1 -1
- package/dist/reporters/index.js +2612 -5
- package/dist/reporters/index.js.map +1 -1
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js +15 -1
- package/dist/scan.js.map +1 -1
- package/dist/scanners/api-security/index.d.ts +7 -0
- package/dist/scanners/api-security/index.d.ts.map +1 -0
- package/dist/scanners/api-security/index.js +139 -0
- package/dist/scanners/api-security/index.js.map +1 -0
- package/dist/scanners/api-security/index.test.d.ts +5 -0
- package/dist/scanners/api-security/index.test.d.ts.map +1 -0
- package/dist/scanners/api-security/index.test.js +360 -0
- package/dist/scanners/api-security/index.test.js.map +1 -0
- package/dist/scanners/api-security/patterns.d.ts +32 -0
- package/dist/scanners/api-security/patterns.d.ts.map +1 -0
- package/dist/scanners/api-security/patterns.js +159 -0
- package/dist/scanners/api-security/patterns.js.map +1 -0
- package/dist/scanners/authentication/index.d.ts +7 -0
- package/dist/scanners/authentication/index.d.ts.map +1 -0
- package/dist/scanners/authentication/index.js +107 -0
- package/dist/scanners/authentication/index.js.map +1 -0
- package/dist/scanners/authentication/index.test.d.ts +5 -0
- package/dist/scanners/authentication/index.test.d.ts.map +1 -0
- package/dist/scanners/authentication/index.test.js +379 -0
- package/dist/scanners/authentication/index.test.js.map +1 -0
- package/dist/scanners/authentication/patterns.d.ts +32 -0
- package/dist/scanners/authentication/patterns.d.ts.map +1 -0
- package/dist/scanners/authentication/patterns.js +133 -0
- package/dist/scanners/authentication/patterns.js.map +1 -0
- package/dist/scanners/configuration/index.d.ts +8 -0
- package/dist/scanners/configuration/index.d.ts.map +1 -0
- package/dist/scanners/configuration/index.js +87 -0
- package/dist/scanners/configuration/index.js.map +1 -0
- package/dist/scanners/configuration/index.test.d.ts +5 -0
- package/dist/scanners/configuration/index.test.d.ts.map +1 -0
- package/dist/scanners/configuration/index.test.js +344 -0
- package/dist/scanners/configuration/index.test.js.map +1 -0
- package/dist/scanners/configuration/patterns.d.ts +32 -0
- package/dist/scanners/configuration/patterns.d.ts.map +1 -0
- package/dist/scanners/configuration/patterns.js +146 -0
- package/dist/scanners/configuration/patterns.js.map +1 -0
- package/dist/scanners/credentials/index.d.ts +7 -0
- package/dist/scanners/credentials/index.d.ts.map +1 -0
- package/dist/scanners/credentials/index.js +129 -0
- package/dist/scanners/credentials/index.js.map +1 -0
- package/dist/scanners/credentials/index.test.d.ts +5 -0
- package/dist/scanners/credentials/index.test.d.ts.map +1 -0
- package/dist/scanners/credentials/index.test.js +395 -0
- package/dist/scanners/credentials/index.test.js.map +1 -0
- package/dist/scanners/credentials/patterns.d.ts +32 -0
- package/dist/scanners/credentials/patterns.d.ts.map +1 -0
- package/dist/scanners/credentials/patterns.js +140 -0
- package/dist/scanners/credentials/patterns.js.map +1 -0
- package/dist/scanners/errors/index.d.ts +8 -0
- package/dist/scanners/errors/index.d.ts.map +1 -0
- package/dist/scanners/errors/index.js +78 -0
- package/dist/scanners/errors/index.js.map +1 -0
- package/dist/scanners/errors/index.test.d.ts +5 -0
- package/dist/scanners/errors/index.test.d.ts.map +1 -0
- package/dist/scanners/errors/index.test.js +330 -0
- package/dist/scanners/errors/index.test.js.map +1 -0
- package/dist/scanners/errors/patterns.d.ts +27 -0
- package/dist/scanners/errors/patterns.d.ts.map +1 -0
- package/dist/scanners/errors/patterns.js +97 -0
- package/dist/scanners/errors/patterns.js.map +1 -0
- package/dist/scanners/hipaa2026/index.d.ts +8 -0
- package/dist/scanners/hipaa2026/index.d.ts.map +1 -0
- package/dist/scanners/hipaa2026/index.js +345 -0
- package/dist/scanners/hipaa2026/index.js.map +1 -0
- package/dist/scanners/hipaa2026/index.test.d.ts +5 -0
- package/dist/scanners/hipaa2026/index.test.d.ts.map +1 -0
- package/dist/scanners/hipaa2026/index.test.js +332 -0
- package/dist/scanners/hipaa2026/index.test.js.map +1 -0
- package/dist/scanners/hipaa2026/patterns.d.ts +57 -0
- package/dist/scanners/hipaa2026/patterns.d.ts.map +1 -0
- package/dist/scanners/hipaa2026/patterns.js +268 -0
- package/dist/scanners/hipaa2026/patterns.js.map +1 -0
- package/dist/scanners/operational/index.d.ts +7 -0
- package/dist/scanners/operational/index.d.ts.map +1 -0
- package/dist/scanners/operational/index.js +171 -0
- package/dist/scanners/operational/index.js.map +1 -0
- package/dist/scanners/operational/index.test.d.ts +5 -0
- package/dist/scanners/operational/index.test.d.ts.map +1 -0
- package/dist/scanners/operational/index.test.js +406 -0
- package/dist/scanners/operational/index.test.js.map +1 -0
- package/dist/scanners/operational/patterns.d.ts +33 -0
- package/dist/scanners/operational/patterns.d.ts.map +1 -0
- package/dist/scanners/operational/patterns.js +151 -0
- package/dist/scanners/operational/patterns.js.map +1 -0
- package/dist/scanners/rbac/index.d.ts +7 -0
- package/dist/scanners/rbac/index.d.ts.map +1 -0
- package/dist/scanners/rbac/index.js +145 -0
- package/dist/scanners/rbac/index.js.map +1 -0
- package/dist/scanners/rbac/index.test.d.ts +5 -0
- package/dist/scanners/rbac/index.test.d.ts.map +1 -0
- package/dist/scanners/rbac/index.test.js +422 -0
- package/dist/scanners/rbac/index.test.js.map +1 -0
- package/dist/scanners/rbac/patterns.d.ts +32 -0
- package/dist/scanners/rbac/patterns.d.ts.map +1 -0
- package/dist/scanners/rbac/patterns.js +124 -0
- package/dist/scanners/rbac/patterns.js.map +1 -0
- package/dist/scanners/revocation/index.d.ts +8 -0
- package/dist/scanners/revocation/index.d.ts.map +1 -0
- package/dist/scanners/revocation/index.js +83 -0
- package/dist/scanners/revocation/index.js.map +1 -0
- package/dist/scanners/revocation/index.test.d.ts +5 -0
- package/dist/scanners/revocation/index.test.d.ts.map +1 -0
- package/dist/scanners/revocation/index.test.js +332 -0
- package/dist/scanners/revocation/index.test.js.map +1 -0
- package/dist/scanners/revocation/patterns.d.ts +27 -0
- package/dist/scanners/revocation/patterns.d.ts.map +1 -0
- package/dist/scanners/revocation/patterns.js +109 -0
- package/dist/scanners/revocation/patterns.js.map +1 -0
- package/dist/scanners/sanitization/index.d.ts +8 -0
- package/dist/scanners/sanitization/index.d.ts.map +1 -0
- package/dist/scanners/sanitization/index.js +98 -0
- package/dist/scanners/sanitization/index.js.map +1 -0
- package/dist/scanners/sanitization/index.test.d.ts +5 -0
- package/dist/scanners/sanitization/index.test.d.ts.map +1 -0
- package/dist/scanners/sanitization/index.test.js +370 -0
- package/dist/scanners/sanitization/index.test.js.map +1 -0
- package/dist/scanners/sanitization/patterns.d.ts +27 -0
- package/dist/scanners/sanitization/patterns.d.ts.map +1 -0
- package/dist/scanners/sanitization/patterns.js +117 -0
- package/dist/scanners/sanitization/patterns.js.map +1 -0
- package/dist/training/certificate.d.ts +26 -0
- package/dist/training/certificate.d.ts.map +1 -0
- package/dist/training/certificate.js +92 -0
- package/dist/training/certificate.js.map +1 -0
- package/dist/training/index.d.ts +3 -0
- package/dist/training/index.d.ts.map +1 -0
- package/dist/training/index.js +243 -0
- package/dist/training/index.js.map +1 -0
- package/dist/training/modules.d.ts +13 -0
- package/dist/training/modules.d.ts.map +1 -0
- package/dist/training/modules.js +608 -0
- package/dist/training/modules.js.map +1 -0
- package/dist/training/questions.d.ts +9 -0
- package/dist/training/questions.d.ts.map +1 -0
- package/dist/training/questions.js +505 -0
- package/dist/training/questions.js.map +1 -0
- package/dist/types.d.ts +45 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/npm-audit.d.ts +6 -0
- package/dist/utils/npm-audit.d.ts.map +1 -0
- package/dist/utils/npm-audit.js +95 -0
- package/dist/utils/npm-audit.js.map +1 -0
- package/dist/utils/scan-history.d.ts +59 -0
- package/dist/utils/scan-history.d.ts.map +1 -0
- package/dist/utils/scan-history.js +170 -0
- package/dist/utils/scan-history.js.map +1 -0
- package/package.json +4 -1
- package/templates/baa-verification-letter.md +105 -0
- package/templates/irp.md +545 -0
- package/templates/notice-of-privacy-practices.md +491 -0
- package/templates/physical-safeguards-checklist.md +247 -0
- package/templates/security-officer-designation.md +237 -0
package/templates/irp.md
ADDED
|
@@ -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*
|