Commit Graph

73 Commits

Author SHA1 Message Date
Christian Krakau-Louis 5eea21c6f2 feat: add MSP workspace operator views 2026-05-23 20:10:30 +02:00
Christian Krakau-Louis d4f3e1155f feat: add workspace onboarding templates 2026-05-23 19:56:19 +02:00
Christian Krakau-Louis d180f984a6 feat: add workspace RBAC audit foundations 2026-05-23 19:38:27 +02:00
Christian Krakau-Louis b503d9c9fe feat: add workspace tenant foundations 2026-05-23 19:05:55 +02:00
Christian Krakau-Louis 453a9b7e2a feat: add ticketing chatops templates 2026-05-23 18:46:18 +02:00
Christian Krakau-Louis c1b53cf81f feat: add SIEM integration templates 2026-05-23 18:26:50 +02:00
Christian Krakau-Louis d61a05bad0 feat: add outbound webhook event framework 2026-05-23 18:11:44 +02:00
Christian Krakau-Louis e2b95f183d fix: harden public api token storage 2026-05-23 17:47:13 +02:00
Christian Krakau-Louis ee663afffb feat: add scoped read-only public API 2026-05-23 17:39:34 +02:00
Christian Krakau-Louis 6681aa4da0 feat: add BIMI posture readiness checks 2026-05-23 17:05:05 +02:00
Christian Krakau-Louis 00ea392bee feat: add TLS reporting posture summaries 2026-05-23 16:49:01 +02:00
Christian Krakau-Louis 57e164d282 feat: add mta-sts posture checks 2026-05-23 16:30:05 +02:00
Christian Krakau-Louis c029574717 feat: define mail connector framework 2026-05-23 15:57:34 +02:00
Christian Krakau-Louis 8556ea30bf feat: add m365 safe backfill windows 2026-05-23 15:42:52 +02:00
Christian Krakau-Louis 10b0467424 feat: add m365 shared mailbox folder selection 2026-05-23 15:25:52 +02:00
Christian Krakau-Louis 5caefb06db feat: add Microsoft 365 Graph mail source 2026-05-23 15:06:28 +02:00
Christian Krakau-Louis 9d0b12efea feat: persist DMARC aggregate metadata 2026-05-23 14:17:09 +02:00
Christian Krakau-Louis cd6fa25f5d feat: add DMARC aggregate parser compatibility 2026-05-23 13:58:32 +02:00
Christian Krakau-Louis e781b32a01 feat: add forensic sample analysis 2026-05-23 13:46:32 +02:00
Christian Krakau-Louis 8bce8a8595 feat: add forensic redaction controls 2026-05-23 13:21:03 +02:00
Christian Krakau-Louis 817270b1fb fix: harden forensic report ingestion 2026-05-23 13:02:01 +02:00
Christian Krakau-Louis 1f954c9e08 feat: add forensic report parsing storage 2026-05-23 12:52:54 +02:00
Christian Krakau-Louis 65b154ae7f feat: add mailbox test diagnostics 2026-05-23 12:14:49 +02:00
Christian Krakau-Louis beae6e7469 feat: add operations health and domain setup polish 2026-05-23 11:37:10 +02:00
Christian Krakau-Louis 521dbc92d0 feat: add Cloudflare DNS integration
Closes #31
2026-05-23 01:17:59 +02:00
Christian Krakau-Louis 947428afb6 harden notification settings 2026-05-23 00:56:49 +02:00
Christian Krakau-Louis 302159aeb6 feat: import selected fork operational fixes 2026-05-22 23:48:00 +02:00
Christian Krakau-Louis 77fd0f9552 feat: add cached DNS checks 2026-05-22 23:30:12 +02:00
Christian Krakau-Louis af66c93829 feat: add alert history 2026-05-22 23:18:32 +02:00
Christian Krakau-Louis f4ff1f151d feat: add scheduled summary notifications 2026-05-22 23:06:21 +02:00
Christian Krakau-Louis 05b687b525 feat: add notification alert rules 2026-05-22 22:55:49 +02:00
Christian Krakau-Louis dd4b90c9de feat: add apprise notification delivery 2026-05-22 22:44:08 +02:00
Christian Krakau-Louis 51f9f303ca Merge pull request #113 from christianlouis/copilot/fix-imap-client-folder-issue
Honor configured IMAP source folder
2026-05-22 22:19:01 +02:00
copilot-swe-agent[bot] f626675609 fix: honor configured IMAP source folder 2026-05-22 20:06:11 +00:00
Christian Krakau-Louis eeff24fa5c fix: redact secret diagnostics 2026-05-22 22:00:28 +02:00
Christian Krakau-Louis 14f9f6defd feat: add source pass fail rollups 2026-05-22 20:41:34 +02:00
Christian Krakau-Louis c1b81d3e06 feat: add mail import detail events 2026-05-22 20:11:56 +02:00
Christian Krakau-Louis b9041012de feat: persist imported DMARC reports 2026-05-22 19:38:03 +02:00
Christian Krakau-Louis 4fc69602b3 feat: add mail source import history 2026-05-22 19:29:49 +02:00
Christian Krakau-Louis 07b2ea400e fix: harden DMARC mail import 2026-05-22 19:17:32 +02:00
copilot-swe-agent[bot] 596a9b882e Fix DKIM selector extraction: show all working selectors and report-discovered selectors
- check_dkim now returns ALL matching selectors instead of stopping at first match
- DomainDNSResult.dkim_selectors is now a List[str] instead of a single Optional[str]
- DNSRecordResponse.dkimSelectors is now List[str]
- /selectors endpoint now also returns report_selectors (auto-discovered from DMARC reports)
- Frontend shows all live-check selectors and auto-discovered selectors as read-only
- Updated tests to match new data structures; added tests for multi-selector and report_selectors

Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/87d8b8d9-23c3-4d3b-85a3-8e354e62c768

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 23:54:45 +00:00
copilot-swe-agent[bot] 30007d21d6 feat: add rDNS hostname, SPF fix hints and auth tooltips to domain sources view
- dns_resolver.py: add _ip_to_arpa_name() helper and lookup_ptr() to
  BaseDNSProvider (no-op default), SystemDNSProvider (dnspython PTR),
  and CloudflareDNSProvider (DoH PTR type=12)
- domains.py: extend SourceEntry with hostname + spf_fix_hint; update
  get_domain_sources to run async PTR lookups and generate ip4:/ip6:
  SPF mechanism hints for failing IPs
- domain_details.html: show rDNS hostname below IP in sources table;
  add DaisyUI tooltip explaining each auth result; add "Fix SPF" popover
  with copy-paste mechanism for IPs that fail SPF
- tests: 15 new tests covering _ip_to_arpa_name, SystemDNSProvider/
  CloudflareDNSProvider PTR lookup, and sources endpoint hostname +
  fix-hint fields

Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/9eaa7749-047c-46bd-8bc0-2851ea02ffe4

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 22:44:18 +00:00
Christian Krakau-Louis 1815747fba Merge pull request #69 from christianlouis/copilot/debug-not-found-error
Fix /reports/{report_id} returning 404 Not Found
2026-03-30 00:27:52 +02:00
Christian Krakau-Louis 8665e39ff4 Merge pull request #70 from christianlouis/copilot/fix-internal-server-error
Fix 500 on GET /api/v1/domains/{domain}/sources: wrong record keys in ReportStore
2026-03-30 00:26:51 +02:00
Christian Krakau-Louis 506346537c Merge pull request #67 from christianlouis/copilot/add-gmail-api-mail-source
feat: add Gmail API & main.py helper tests; fix flake8 lint errors
2026-03-30 00:26:28 +02:00
copilot-swe-agent[bot] af122881a5 Fix /reports/{report_id} returning 404 - add report detail page and API endpoint
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/4a412936-3bf7-4c02-b121-c0c342c34f1b

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 22:18:17 +00:00
copilot-swe-agent[bot] cd1f82aa79 Fix 500 error in GET /domains/{domain}/sources: use spf_result/dkim_result not spf/dkim
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/59552cb2-df2b-43dd-a22c-bd699a458afb

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 22:17:05 +00:00
copilot-swe-agent[bot] 11daa15335 Fix domain reports and sources API 500 errors
- Use begin_timestamp/end_timestamp (Unix ints) instead of begin_date/end_date
  (ISO strings) when building ReportEntry, fixing Pydantic int_parsing errors
- Extract policy string from dict (policy["p"]) when the stored value is a dict,
  fixing Pydantic string_type validation error
- Rename _days -> days in ReportStore.get_domain_sources() so the endpoint's
  `days=days` keyword call no longer raises TypeError

Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/15ac3521-e81f-42fa-81a2-f6804a423e1d

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 20:03:43 +00:00
copilot-swe-agent[bot] 0c05ded74f fix: resolve flake8 C901/F401 errors in main.py, gmail_client.py, test_mail_sources.py
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/38868887-87b6-4032-8713-e90e56ae3318

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 19:50:50 +00:00
copilot-swe-agent[bot] 551d604b8f fix: address code review - clarify plaintext note, fix misleading template ternary
Agent-Logs-Url: https://github.com/christianlouis/dmarq/sessions/0c63851e-a69a-4a76-8dd8-25618e825b8c

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-29 19:37:10 +00:00