One image.
Any boundary.
SendFlit ships as a single container. Run it on our managed cloud, inside your VPC, or fully on-prem — the API, agent tools, and audit trail are identical everywhere.
$ docker run -d \ -p 8000:8000 \ -e SENDFLIT_URL=https://mail.internal.acme.com \ -e SMTP_HOST=email-smtp.us-east-1.amazonaws.com \ -v sendflit-data:/data \ ghcr.io/sendflit/sendflit:latest ✓ API https://mail.internal.acme.com/v1 ✓ MCP https://mail.internal.acme.com/mcp ✓ Dashboard https://mail.internal.acme.com ✓ Data stays in /data — inside your perimeter
┌─ your VPC ─────────────────────────┐ │ ┌───────────────┐ ┌──────────────┐ │ │ │ SendFlit pod │──▶│ your SMTP/SES │ │ │ │ · API │ └──────────────┘ │ │ │ · MCP │ │ │ │ · Audit log │ keys never leave │ │ └───────────────┘ │ └────────────────────────────────────┘
Sovereignty
Data never crosses your boundary
Email content, contact lists, DKIM keys, and audit logs live wherever the container runs. In self-hosted mode nothing reaches us — no telemetry, no phone-home, no shared infrastructure.
Bring your own SMTP provider or AWS SES credentials via environment. The sending reputation is yours, the IP is yours, the blast radius is yours to control.