Data Breach Notification Deadline Calculator

ANALife Services AuthorityNational Calculator Authority›Data Breach Notification Deadline Calculator

.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }

Data Breach Notification Deadline Calculator

Calculate mandatory data breach notification deadlines for affected individuals, regulators, and attorneys general based on US state laws and federal regulations.

Date Breach Discovered

Jurisdiction / Regulation

-- Select Jurisdiction --

HIPAA (Healthcare) GLBA (Financial) FTC Safeguards Rule SEC (Public Companies)

Alabama Alaska Arizona Arkansas California (CCPA/CPRA) Colorado Connecticut Delaware Florida Georgia Hawaii Idaho Illinois Indiana Iowa Kansas Kentucky Louisiana Maine Maryland Massachusetts Michigan Minnesota Mississippi Missouri Montana Nebraska Nevada New Hampshire New Jersey New Mexico New York (SHIELD Act) North Carolina North Dakota Ohio Oklahoma Oregon Pennsylvania Rhode Island South Carolina South Dakota Tennessee Texas Utah Vermont Virginia (VCDPA) Washington West Virginia Wisconsin Wyoming

Estimated Number of Affected Individuals

Does breach involve sensitive data? (SSN, financial, medical, passwords)

Yes No

Calculate Deadlines

const DAT_RULES = { // Federal HIPAA: { name: "HIPAA (Healthcare)", individual: 60, regulator: 60, regulatorNote: "HHS OCR — within 60 days of discovery", agNote: "N/A", agDays: null, mediaNote: "If 500+ residents in a state/jurisdiction, notify prominent media outlets within 60 days", mediaDays: 60, mediaThreshold: 500, annualReport: "Breaches affecting OVERDUE by ' + Math.abs(diff) + ' day(s)'; if (diff === 0) return 'DUE TODAY'; if (diff Due in ' + diff + ' day(s) — URGENT'; return 'Due in ' + diff + ' day(s)'; }

function datCalc() { const discoveryDate = document.getElementById("dat-discovery-date").value; const jurisdiction = document.getElementById("dat-jurisdiction").value; const affected = parseInt(document.getElementById("dat-affected").value) || 0; const sensitive = document.getElementById("dat-sensitive").value; const result = document.getElementById("dat-result");

if (!discoveryDate) { result.innerHTML = 'Please enter the breach discovery date.

'; return; } if (!jurisdiction) { result.innerHTML = 'Please select a jurisdiction.

'; return; } if (affected '; html += 'Notification TypeDeadlineDue DateStatus';

// Individual notification if (rule.individual) { const dueDate = datAddDays(discoveryDate, rule.individual); html += 'Affected Individuals'; html += '' + rule.individual + ' calendar days'; html += '' + datFmtDate(dueDate) + ''; html += '' + datDaysFromNow(dueDate) + ''; } else { html += 'Affected Individuals'; html += 'Expedient notice — without unreasonable delay (no hard deadline; best practice: 30–60 days)'; }

// Regulator notification if (rule.regulator) { const dueDate = datAddDays(discoveryDate, rule.regulator); html += 'Regulator' + rule.regulatorNote + ''; html += '' + rule.regulator + ' ' + (jurisdiction === "SEC" ? "business" : "calendar") + ' days'; html += '' + datFmtDate(dueDate) + ''; html += '' + datDaysFromNow(dueDate) + ''; }

// AG notification if (rule.agDays) { const dueDate = datAddDays(discoveryDate, rule.agDays); html += 'Attorney General' + rule.agNote + ''; html += '' + rule.agDays + ' calendar days'; html += '' + datFmtDate(dueDate) + ''; html += '' + datDaysFromNow(dueDate) + ''; } else if (rule.agNote && rule.agNote !== "N/A") { html += 'Attorney General'; html += '' + rule.agNote + ' — expedient notice required'; }

// Media notification (HIPAA) if (rule.mediaDays && affected >= (rule.mediaThreshold || 0)) { const dueDate = datAddDays(discoveryDate, rule.mediaDays); html += 'Media Outlets' + rule.mediaNote + ''; html += '' + rule.mediaDays + ' calendar days'; html += '' + datFmtDate(dueDate) + ''; html += '' + datDaysFromNow(dueDate) + ''; }

html += '';

// Summary box html += ''; html += '#### Summary '; html += ''; html += '- Jurisdiction: ' + rule.name + ''; html += '- Governing Law: ' + rule.law + ''; html += '- Affected Individuals: ' + affected.toLocaleString() + ''; html += '- Sensitive Data Involved: ' + (sensitive === "yes" ? "Yes — heightened obligations may apply" : "No") + ''; html += '- Key Notes: ' + rule.notes + ''; if (rule.annualReport) html += '- Annual Reporting: ' + rule.annualReport + ''; html += '';

// Multi-state reminder html += ''; html += '⚠ Multi-State Reminder: If affected individuals reside in multiple states, you must comply with each state's law independently. Always apply the most stringent deadline across all applicable jurisdictions.'; html += '';

result.innerHTML = html; }

#### Formula

Notification Deadline Date = Discovery Date + Statutory Deadline (calendar days)

Where the statutory deadline varies by jurisdiction:

Days Remaining = Deadline Date − Today's Date

#### Assumptions & References

More Calculators

Read Next

Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...

References