Platform

The layer under the campaign

Swarm isn't a sending tool with an AI bolted on. It's the infrastructure that keeps identities alive, keeps the model honest, and hands your team the conversations worth having.

Flow

Lead to human, end to end

01

Ingest

CSV, CRM export or scraper feed, normalised into lead records. These fields are the only facts anything downstream may use.

02

Assign

Each lead is bound to one account on one channel, with its own proxy and worker. Language is inferred per lead.

03

Open

The first touch is generated, checked against the policy and the suppression list, then sent at human pace inside working hours.

04

Carry

Every reply is classified into a fixed intent set. The policy decides the next move: reply, escalate, close or suppress.

05

Hand off

On real intent the thread freezes and a human is called, with the full conversation, translation and stage already in place.

Architecture

Five things that make it hold

  • Identity isolation

    One account = one proxy = one worker = one stable profile. Enforced by the server: an account without its own proxy stays in network_guard and physically cannot send. Failures stay local to one identity instead of cascading through the fleet.

  • Policy engine

    A fixed set of intents, stages and allowed moves — not a prompt asking the model to behave. Every generation returns structured output that is validated before anything leaves the machine. Out-of-policy situations escalate rather than improvise.

  • Suppression

    Global and permanent, checked before every send on every channel. One refusal anywhere removes the contact everywhere, and the block is recorded rather than silently applied.

  • Pacing

    Per-account ceilings, working hours in the lead's timezone, and a warm-up ramp for every new identity. Volume is a function of fleet size, never of pushing a single account harder.

  • Observability

    Queue depth, delivery state, error counts and escalation reasons written on every cycle to disk — including the ugly numbers. If an account is degrading you see it before the platform does.

Honesty by construction

What the model may and may not say

The interesting part of a cold conversation is what the system refuses to do. These rules live in code, not in a system prompt.

Refused at the policy layer

quoting a price or a range
promising a discount or a deal
inventing availability or a buyer
manufacturing urgency
claiming to be a private person
mentioning automation, scraping or AI
messaging a suppressed contact
sending outside working hours

Allowed, and only this

one short question from the lead record
✓> the exact make and model, once
a single follow-up clause
congratulating on a completed sale
asking what they plan to buy next
one soft mention of the offer, after qualifying
closing politely when there is no interest
calling a human

Security

Your instance, your data

Secrets at rest

Proxy passwords are encrypted with AES-256-GCM and never returned by the API or displayed again after saving. The encryption key lives only on your server.

Sessions stay put

Channel sessions, conversations and lead records live on your instance. Nothing is mirrored to us; there is no shared multi-tenant store to leak.

Access

The whole interface and API sit behind auth; only the health endpoint is open. Export or delete everything at any time, without asking us.

Want to see it running on real threads?