Skip to content
Signal
Book a demo(opens in a new tab)

Security

Last updated

Draft. This page is waiting for legal review before launch.

Signal reads your voice agent’s calls, and those calls carry what your callers said: names, dates of birth, account details. This page says what we do with that, in plain terms. Where something is not done yet, it says so.

What we connect to

You connect a Retell agent with a Retell API key. Signal uses it to read the agent’s configuration, its conversation flow or prompt, its knowledge bases, its phone numbers and its calls.

Every request to Retell is checked in our code, before it leaves our servers, against a list of what Signal may do. Reading is on it, and so are Retell’s simulation endpoints for test runs you start. Deleting an agent and placing a call are not.

Changes are made on drafts. Where a feature needs to change an agent, it works on a copy Signal created in your workspace, named with a prefix so you can see it, and our code refuses any write to an agent it did not record as one of those copies.

Your live agent changes only when a signed-in person in your workspace clicks publish on a draft that has been tested, and a published change can be rolled back. An API key or the MCP server cannot publish.

Credentials

  • Your Retell key is encrypted at rest with AES-256-GCM. The encryption key is held outside the database, so a copy of the database alone does not reveal it. The key is decrypted only in memory, when our servers need to use it.
  • Signal API keys are shown once, when you create them. We store a SHA-256 hash, not the key. A read key cannot change anything; a write key carries a monthly budget.
  • Sign-in is handled by Clerk. We never see or store your password.

Call data

  • What is stored. Call transcripts, the path each call took through your flow, tool calls and their results, timings, and Retell’s call payload, which includes a link to the recording. We do not store recordings. To measure how a caller sounds, background noise and pace, the worker may download a recording, measure it in memory and keep only the numbers.
  • Where. In a Postgres database run by Neon, in the US East region. The API and the worker run on Fly.io in the same region.
  • Models. Calls are read by language models through OpenRouter, routed only to providers that keep no copy of the data and do not train on it.
  • Not for health data. Signal is built for personal data, not protected health information, and does not sign business associate agreements.

Analytics

The site and the app use PostHog for product analytics and error reports. The app records sessions so we can see where people get stuck, with every piece of text on screen and every input masked: a recording of a call page shows its layout and never the call. Network request bodies, headers and the browser console are not recorded. Events from our servers carry ids and durations, never transcript text. This site records no sessions, and sends nothing at all if your browser asks not to be tracked.

Deletion

Deleting an agent removes everything stored under it at once: calls, traces, analysis and issues. Deleting your account or organization erases the whole workspace. Nightly backups are encrypted before they leave the backup job and are kept for 14 days, so deleted data leaves the last backup within two weeks.

Who processes data for us

ProviderWhat forRegion
NeonDatabaseUS East
Fly.ioAPI and workerUS East
CloudflareThis site and the app’s web pagesGlobal edge
ClerkSign-in, accounts and billingUS
StripeCard payments, through ClerkUS
OpenRouterRouting model requests to zero-retention providersUS
TypeSafe (Jev)Decision model for reading who calls and why, and for call analysis when it is switched onUS, via OpenRouter
AnthropicModels for Copilot, only when it is set to call Anthropic directlyUS
PostHogProduct analytics and errorsUS
GitHubEncrypted nightly backups, kept 14 daysUS

Not done yet

We would rather say this than let you assume otherwise. There is no SOC 2 report yet, and the key that encrypts stored Retell keys cannot yet be rotated without customers reconnecting.

Reporting a problem

If you find a vulnerability, write to [email protected]. Tell us what you found and how to reproduce it, and give us a chance to fix it before you publish.