Contact Site Maintainers

Every submission is validated and committed synchronously to Cloudflare D1 (status = pending) before confirmation, and queued through the durable outbox so transient notification failures cannot drop messages. Programmatic callers may submit identical payloads to POST /api/v1/contact or via MCP tool contact_submit.