aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Expand)AuthorFilesLines
32 hoursfix: treat the IANA bootstrap as hostile, not as trusted inputDanilo M.1-9/+60
32 hoursfeat: resolve the worklist to abuse contactsDanilo M.2-0/+186
32 hoursfeat: build the contacts worklist, host onlyDanilo M.2-0/+221
32 hoursdocs: correct the Accept header and the dependency claimDanilo M.2-6/+11
33 hoursdocs: amend the contacts plan after task 1 to 5Danilo M.1-4/+26
33 hoursfeat: query RDAP, walking up the labels for a registrable domainDanilo M.2-0/+133
33 hoursfeat: read abuse addresses from a jCard, strictlyDanilo M.2-0/+172
33 hoursfeat: select an RDAP server by longest prefix and by TLDDanilo M.2-0/+103
33 hoursfeat: cache the IANA bootstrap, and prefer a stale copy to noneDanilo M.2-0/+132
33 hoursfeat: add the RDAP transport, with a redirect cap and no downgradeDanilo M.2-0/+128
33 hoursdocs: plan the contacts implementationDanilo M.2-4/+1989
33 hoursdocs: spec the contacts subcommandDanilo M.2-0/+349
2 daysdocs: record the real-mail sweep and open a backlogDanilo M.2-0/+78
2 daysfeat: report List-Unsubscribe urls and a differing SenderDanilo M.4-2/+53
2 daysfeat: flag an address spoofed into a display nameDanilo M.2-1/+64
2 daysfix: take the sender domain from the address, not the display nameDanilo M.3-4/+38
2 daysfix: prefer the observed address over an attacker's HELO literalDanilo M.2-9/+49
2 daysfix: re-bracket an IPv6 host when stripping URL userinfoDanilo M.2-2/+24
2 daysfix: redact a valueless query token whole, not as a kept nameDanilo M.3-5/+63
2 daystest: wire leaky.eml into the anti-leak suite (red, defect 2)Danilo M.2-1/+29
2 daysdocs: AGENTS.md, with CLAUDE.md pointing at itDanilo M.2-0/+259
2 daysdocs: README covers init and parseDanilo M.1-10/+83
2 daysfix: validate each setup answer at the prompt that asked for itDanilo M.1-34/+101
2 daysfeat: command line for init and parseDanilo M.3-0/+401
2 daysfeat: first-run config builderDanilo M.2-0/+480
2 daysfix: reject non-list relays and empty cases valuesDanilo M.2-2/+49
2 daysfeat: read and validate the configDanilo M.2-0/+174
2 daysrefactor: one URL scan serving both the report and the flaggingDanilo M.1-29/+24
2 daysfeat: assemble IOCs in the manifest's shapeDanilo M.2-0/+168
2 daysfeat: case directory with an atomically written manifestDanilo M.2-0/+234
2 daysfeat: extract URLs and attachment hashes, fetching nothingDanilo M.2-0/+181
2 daysfeat: extract sender domains and auth verdictsDanilo M.2-1/+100
2 daysfeat: walk the Received chain to the trust boundaryDanilo M.2-0/+182
2 daysfix: redact fragment and strip userinfo, flag hidden query in pathDanilo M.2-11/+111
2 daysfeat: redact recipient identifiers inside URLsDanilo M.2-0/+211
2 daystest: fixtures for the parser, documentation ranges onlyDanilo M.4-0/+81
2 daysfeat: package skeletonDanilo M.3-0/+45
2 daysplan: add Namecheap Private Email to the provider tableDanilo M.1-0/+26
2 daysplan: take the provider ranges from SPF, not from memoryDanilo M.1-16/+88
2 daysplan: implementation plan for init and parseDanilo M.2-2/+2404
2 daysspec: retry deferred destinations from cron, not by handDanilo M.1-12/+123
2 daysInitial commit: umbrella design for abusectlDanilo M.4-0/+839