Skip to content

Incident: everyone it got to, once each, to import for the warning - #129

Merged
goetchstone merged 1 commit into
mainfrom
feat/who-got-it
Oct 27, 2026
Merged

goetchstone merged 1 commit into
mainfrom
feat/who-got-it

Conversation

@goetchstone

Copy link
Copy Markdown
Owner

Asked after the report's first use: the lists were messy with many emails of one subject; "a clean way to know who actually got a message and needs to be warned", "if it bounced, they did not get it", and "a list that can be imported so we can send the email either way, even if we did warn already".

  • IncidentReport.gotIt: across every email the attacker sent, each address once: a receipt here, or a send nothing in the logs read says failed. A bounce, a quarantine or a rejection didn't get through. Still to warn if not shown warned of any of them; warned if of all; first contact from here the earliest.
  • Respond: Everyone it got to, above Who it reached: the counts, Copy Addresses (for a Bcc) and Export for Import… (CSV, Email first). Reads only: nothing is sent.
  • Report: "Got an email of the attacker's" and "Got it, outside" replace the received/bounced/quarantined numbers; the emails list is a row each; the export adds who-got-it.csv and emails.csv, and keeps who-it-reached.csv (every address, bounces too) as the record.
  • Who it reached's own to-warn rule (over-warning) is unchanged.
  • Tests: IncidentReportTests.everyoneItGotToOnceEach and the report's numbers on the one-row-an-address lists. Suite green locally (902), app builds. Not checked against the live tenant.
  • Accessibility: both buttons have hints; the result of a copy or export is announced and shown in words.
  • Screenshots of Respond and Report follow in a docs PR from this one's CI run once it merges.

🤖 Generated with Claude Code

One list across every email the attacker sent: each address once, a
receipt or a send nothing says failed; bounced and quarantined copies
didn't get through. Respond has Copy Addresses and Export for Import
(Email first); the report leads with it and no longer counts bounces.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@goetchstone
goetchstone enabled auto-merge October 27, 2026 13:14
@goetchstone
goetchstone merged commit 5c2d955 into main Oct 27, 2026
7 checks passed
goetchstone added a commit that referenced this pull request Oct 27, 2026
goetchstone added a commit that referenced this pull request Oct 27, 2026
#130 refreshed every picture from #129's run; this branch's come from its own later run, which has #129's changes too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@goetchstone
goetchstone deleted the feat/who-got-it branch October 28, 2026 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant