Satatam.

Security Overview

last updated 2026-11-02 · v1.4

What we do, what we don't, and what's still in motion. This document is written for the person at your company who will sign the security questionnaire.

1. Architecture in one sentence.

Customer messages enter through tenant-scoped webhook endpoints, get routed to Satatam with retrieval over your encrypted tenant knowledge base, and return through the same channel they came in on. Supported sensitive-value patterns are redacted on the paths documented in Section 3, subject to its exceptions; this is not universal removal of all personal information on every path. Conversation turns, model calls and security-relevant events are logged as described in Section 6. Customer conversations do not pass through the marketing website. Inbound email is received through Cloudflare Email Routing (see Subprocessors).

Phone receptionist (in preview): calls are handled by OpenAI's realtime voice model via Twilio. The assistant is set to open each call by saying that it is an AI assistant and that the call is transcribed so the team gets a summary. Call audio is not recorded. After each call the business receives a written summary by email; if nothing usable was captured, the summary says so. Summaries are kept for up to 30 days, and the caller quotes behind them are removed within 24 hours. If a caller asks during the call that the summary not be shared, we withhold it when we detect the request. When we cannot tell, the business gets only a one-line note that the call happened, without its details. If we miss the request, the business receives the normal summary.

2. Encryption.

3. PII redaction pipeline.

Card numbers, SSNs and API-key-style secrets are redacted on receipt, before the message goes to the AI model or the conversation record, on web chat, email, SMS, WhatsApp and the playground. Pattern coverage today:

Matched values are replaced with a labeled tag such as [CARD-REDACTED] in the persisted transcript. Exceptions: messages are saved as received while a human operator has taken over a web chat, and for emails held by loop protection. Images are not redacted. Email addresses and phone numbers are not redacted, because they are needed to follow up. Channel providers such as Twilio or your email provider keep their own copy of the original message under their own retention terms. Audit-record details are redacted at write time; the actor field holds the signed-in operator's email.

4. Tenant isolation.

Knowledge base files and conversation history are isolated per tenant. Server-side resolution selects the tenant's active OpenAI vector revision; browser requests cannot supply an authoritative vector-store identifier. Each document carries a tenant hash, document ID, version and full content hash. Activation requires count and hash reconciliation, a known-answer retrieval check, and a tenant-filter canary check.

Satatam's reasoning loop has no path to the file index of any other tenant. Each tenant's knowledge is indexed in its own vector store; there is no shared index across customers.

SMS phone numbers follow the same isolation discipline. A phone number is stored under one partner tenant, used only within conversation threads that originated from that partner's intake, and never reused across tenants. Outbound SMS routes through a per-tenant Twilio Messaging Service so messages carry the partner's brand identity at the carrier level, not ours. Each partner's toll-free number goes through Twilio Toll-Free Verification before SMS is enabled (unverified → pending → verified). Opt-out state (cs_pro_sms_opt_out) is partner-scoped: opting out of one partner's SMS does not opt out of another's.

5. Authentication and access control.

6. Logging, monitoring, and incident response.

Every conversation turn is recorded with tenant ID and timestamp, and every AI-gateway model call with the model used, latency and token counts. Phone calls are metered separately. Security-relevant events are written to a hash-chained audit stream. Audit records have restricted access and are kept for at least your plan's audit window: 12 months on Starter, 2 years on Growth, 7 years on Scale and Enterprise. They are written append-only by the application and hash-chained per stream; on-demand verification (Scale plan) detects edits and mid-chain deletions. Details in audit records are redacted at write time.

We watch service health through automated uptime checks and platform crash alerts, and review latency metrics. We do not yet run automated anomaly alerting on error rates or authentication patterns. For a confirmed incident, we aim to notify affected customers within 24 hours of confirmation and to share a written postmortem within 7 business days.

7. Vulnerability management.

8. Backup and recovery.

Our primary database runs on Supabase; ask us for the backup retention window and recovery options in force on the day you sign, and we will show you the plan we are on rather than a tier we are not. Knowledge bytes and immutable vector revisions are versioned by full content hash, so a prior knowledge-index revision can be re-pointed to for a tenant; this is a manual engineering operation. A manual encrypted backup procedure is documented (public-schema only; it supplements our database provider's own recovery); ask us for the date it was last exercised.

9. Certifications and data location.

We do not hold a third-party security certification. HIPAA is not supported: do not send protected health information through Satatam. We do not currently offer a Data Processing Agreement. Data location: our application servers (Fly.io, Ashburn, VA) and primary database (Supabase, AWS us-east-1) are in the United States. Some subprocessors, such as Cloudflare's edge network and our AI model providers, may process data in other locations under their own terms. We do not offer EU data residency or any other region pinning on any plan, and we will not sell it until a second region is actually running.

Honesty note. We do not claim certifications we don't hold. Our hosted CI pipeline is currently suspended for billing reasons, so the checks it defines run deliberately before a release instead of automatically on every commit; the test suite, the dependency audit, and the release gates are all still run, and a release is not cut until they pass. Ask for the current state of any item and we'll show you what's actually shipped versus what's on the roadmap.

10. Subprocessors.

We use a small set of infrastructure providers, each used under the data-processing terms in its own standard customer agreement. We have not executed separate negotiated Data Processing Agreements with these providers. If that is a procurement condition for you, tell us before you sign. Current list, with the reason each is necessary:

Full subprocessor list with addresses and processing categories: available on signed NDA. We give 30 days' notice before adding a new subprocessor.

11. Responsible disclosure.

If you find a security issue, send a responsible disclosure. We acknowledge within 1 business day, triage within 5, and credit researchers publicly if you'd like.

12. Contact.

Security questionnaires and custom architecture questions: contact us.


if a claim here turns out to be inaccurate, tell us · we'll fix it publicly