aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Expand)AuthorFilesLines
3 daysfix: prefer the observed address over an attacker's HELO literalDanilo M.2-9/+49
3 daysfix: re-bracket an IPv6 host when stripping URL userinfoDanilo M.2-2/+24
3 daysfix: redact a valueless query token whole, not as a kept nameDanilo M.3-5/+63
3 daystest: wire leaky.eml into the anti-leak suite (red, defect 2)Danilo M.2-1/+29
3 daysdocs: AGENTS.md, with CLAUDE.md pointing at itDanilo M.2-0/+259
3 daysdocs: README covers init and parseDanilo M.1-10/+83
3 daysfix: validate each setup answer at the prompt that asked for itDanilo M.1-34/+101
3 daysfeat: command line for init and parseDanilo M.3-0/+401
3 daysfeat: first-run config builderDanilo M.2-0/+480
3 daysfix: reject non-list relays and empty cases valuesDanilo M.2-2/+49
3 daysfeat: read and validate the configDanilo M.2-0/+174
3 daysrefactor: one URL scan serving both the report and the flaggingDanilo M.1-29/+24
3 daysfeat: assemble IOCs in the manifest's shapeDanilo M.2-0/+168
3 daysfeat: case directory with an atomically written manifestDanilo M.2-0/+234
3 daysfeat: extract URLs and attachment hashes, fetching nothingDanilo M.2-0/+181
3 daysfeat: extract sender domains and auth verdictsDanilo M.2-1/+100
3 daysfeat: walk the Received chain to the trust boundaryDanilo M.2-0/+182
3 daysfix: redact fragment and strip userinfo, flag hidden query in pathDanilo M.2-11/+111
3 daysfeat: redact recipient identifiers inside URLsDanilo M.2-0/+211
3 daystest: fixtures for the parser, documentation ranges onlyDanilo M.4-0/+81
3 daysfeat: package skeletonDanilo M.3-0/+45
3 daysplan: add Namecheap Private Email to the provider tableDanilo M.1-0/+26
3 daysplan: take the provider ranges from SPF, not from memoryDanilo M.1-16/+88
3 daysplan: implementation plan for init and parseDanilo M.2-2/+2404
3 daysspec: retry deferred destinations from cron, not by handDanilo M.1-12/+123
3 daysInitial commit: umbrella design for abusectlDanilo M.4-0/+839