Category
Communication
Email/SMS service, provider ADRs, and messaging user journeys
ADR 001: Communication Service as a Stateless Delivery Edge
We need a Universal Delivery Adaptor. It must: 1. Execute delivery commands Email/SMS from anywhere Manager, Newsletter, Billing. 2. Be secure handle sensitive API keys. 3. Be fast
ADR 002: Universal Provider Adaptor (The Plugin System)
This service must be able to use ANY provider: - System Default e.g., LogicSpike Twilio for free users. - Tenant BYOP e.g., User's Twilio for pro users. - Custom Webhooks e.g., Use
API Specification: Communication Service (Production Grade)
- Internal: http://communication-service Service Binding - Public: https://api.logicspike.com/v1/communication Protected by Tenant API Key 1. Service Binding: c.env.COMMUNICATION N
AWS SES Migration — Provider Swap + Per-Tenant Domain Verification
This doc scopes the migration of Vlozi's email sending stack from Resend to AWS SES, and adds per-tenant domain verification so customers can send newsletter campaigns from their o
AWS SES Production Access — Resubmission Package (SUPERSEDED)
| This draft said | What the system actually did checked 2026-10-05 | |---|---| | abuse@ and postmaster@ are live, monitored mailboxes | Not routed anywhere. Mail to them is droppe
AWS SES + SNS Setup Guide (Communication Service)
This is the one-time setup that makes the SES-based email stack live. The application code is already deployed and expects the exact resource names below — rename anything and the
Communication Service — Backlog & Scorecard
Last updated: 2026-07-04 Flows modernization + full revamp shipped Analyst: Codebase audit full source + spec + test review --- Flows modernization 69b2b99: comms emits comms.email
Vlozi Email — Mailbox, Newsletter & the delivery engine
How to read this. Sections 1–10 describe the target model and how it maps to the code; 11–12 are an open decision + outside reference. A ⟡ flags an open decision. In diagrams, a da
Domain Model: Communication Service (Production Grade)
Configuration for an external service. Encrypted at rest. - id string: Unique ID nanoid. - tenantId string | null: Owner workspace. NULL = System Default. - type ProviderType: twil
Edge Email Architecture — Combining Cloudflare and AWS
This doc explores five capabilities Vlozi can build by combining Cloudflare's edge primitives with AWS SES's deliverability moat. None of them are unique inventions — Mailchimp, Kl
Communication Service: Detailed Implementation Plan
We are building a Stateless Delivery Edge on Cloudflare Workers. It acts as a "Universal Adaptor" for sending Emails/SMS via tenant-configured providers. Goal: Get a "Hello World"
Mailbox — activation runbook & diagnostics
Mailbox's code is complete; when it "doesn't work" it's almost always an activation gap a worker not deployed, a secret unset, a migration or backfill not run, or a stale session,
Communication Service: Scope Definition
You requested that this service "contain only code of provider" and be usable from "different places for different purposes". Here is the strict boundary of what code lives inside
SES production access: runbook
Ask for the narrow thing first. This request is only for platform system mail: login and verification codes, password resets, workspace invitations, account messages welcome, extra
Case log
Every contact with AWS about SES access goes here, verbatim, with the date, the case ID and who replied. The earlier attempts were not logged properly, so the reasons for the denia
The AWS request: text and field-by-field instructions
SES console → Account dashboard → Request production access region Asia Pacific Mumbai ap-south-1. The form changes over time; treat these as the intent for whatever fields it show
Public contact addresses — decision record
All addresses are on vlozi.app. No personal address appears on the site or in the policies. The AWS root login uses founder@vlozi.app, which an explicit Cloudflare rule delivers to
Deploy record: the SES-readiness changes (2026-10-06)
Everything in this file ran on 2026-10-06 unless a section says it is still to do. The commands are PowerShell, run from the repo root. Set this once per window, because wrangler c
Evidence checklist
Collect these before submitting, and keep them: AWS may ask for any of them in a follow-up see reply-templates.md./reply-templates.md. Put files under evidence/ next to this file,
SES-readiness gap log
Status words: open not started · fixed committed, not deployed · deployed · accepted a conscious decision, reason given · user needs your console, secret, DNS or production data ·
Phase B — tenant mail (a separate, later request)
Tenant mail means newsletters, mailbox user-to-user mail, form notifications and replies, flows/automation mail, chat mail, tenants' custom sending domains and the shared mail.vloz
Readiness checklist: all ten gates green before submitting
Gates are named R1 to R10 so they cannot be confused with the gap-log IDs G1 to G70, in gap-log.md./gap-log.md. Fill in Done on / by / evidence as each gate is met. Evidence is a f
Reply templates for AWS follow-ups
AWS usually asks short, specific questions in the same case. Answer in that case, the same day, and answer only what was asked, with evidence. Paste the exact question into case-lo
Phase 1: Discovery & User Journeys (Tenant-Facing)
The Communication Service is a product feature offered to LogicSpike Tenants Sellers. It empowers Sellers to bring their own communication infrastructure "Bring Your Own Provider"