feat: approved campaign sends for a separate send identity (v0.4.0) #18
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
waiting-on-julian
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jlxq0/listmonk-mcp!18
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/approved-send"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Julian (30 Oct 2026) approves sending through MCP case by case. Meets HARDGATE_DESIGN's four conditions: a distinct send identity (
LISTMONK_MCP_SEND_TOKEN_SHA256, must differ from read tokens, recorded in the request scope by the auth middleware), per-campaign authorization (id + exact subject, campaign lists withinLISTMONK_MCP_SEND_LISTS, startable state), every campaign send path gated (send, schedule, status running/scheduled), transactional/opt-in/import/SMTP test still refused for everyone, and red/green tests through the real HTTP app (tests/test_approved_send.py). Julian explicitly allowed merging without independent review.Release steps: merge, tag
v0.4.0on the merge commit, platform rollout with the send digest andLISTMONK_MCP_SEND_LISTS=3.🤖 Generated with Claude Code
https://claude.ai/code/session_01E2xQRZ4ZSWoBgs1TvyWXFY