Skip to content
Trust center

Nothing here is a badge. Every control carries a status checked against the code.

This is the security page for CommsOperator, verified on 26 August 2026. Shipped means it runs in production today. Partial means it runs with a gap we name. Planned means it does not exist yet. Not offered means we are not building it.

CommsOperator's trust center lists every security control with the status we verified against the code: shipped, partial, planned, or not offered. Your data lives in Germany by default, or on a dedicated EU or US instance. Mailbox credentials are encrypted at rest with AES-256-GCM, each brand's workspace is isolated by explicit membership, and the AI drafts under human approval with an activity log you can hand to an auditor. A GDPR data processing addendum is available. CommsOperator is not SOC 2 certified yet and does not offer SSO or MFA today.

First questions

The three things a reviewer asks first

Short answers here. The full control list with statuses follows below.

Where is the data?

In Germany by default: application in Falkenstein, database in Frankfurt. Enterprise customers get a dedicated instance in the EU or the US, operated by us.

Who can see it?

Only members of that brand's workspace, and only what their role allows. Roles carry five permission levels across 15 modules; each mailbox has its own owner, delegate, and read-only list.

What does the AI do with it?

Drafts, logs, and never trains. Every AI draft waits for a person by default, every step is logged, and content sent to OpenAI's API is not used to train their models. We train none.

Hosting

Where your data lives

Germany by default. Enterprise customers can have a dedicated instance in the EU or the US, run by us.

Shared instance, EU

Germany (EU)

Multi-tenant instance with workspace isolation. Application servers in Falkenstein, database in Frankfurt, files on the application server.

Default for new workspaces

Dedicated instance, EU

EU region of your choice, Germany by default

A private copy of CommsOperator run for your organization only: your own database, storage, mailbox connectors, and release cadence, hosted in the EU.

Enterprise

Dedicated instance, US

United States

The same private copy hosted in the United States for organizations whose data must stay in the US.

Enterprise

LayerProviderLocation
ApplicationHetzner Online GmbHFalkenstein, Germany
DatabaseNeon (managed PostgreSQL)AWS eu-central-1, Frankfurt, Germany
Uploaded filesApplication server disk (Hetzner)Falkenstein, Germany
TransportLet's EncryptLet's Encrypt certificates, HTTPS only, HSTS enabled

Identity and access

Who can sign in, what each person can see, and how one brand's workspace stays sealed from the next.

ControlStatusWhat it means for you
Password and email one-time code sign-in
Shipped
A leaked database dump does not hand anyone a usable password. Passwords are hashed with scrypt and a random salt; emailed one-time codes expire after 10 minutes and are kept server-side.
Server-side sessions
Shipped
Signing out really signs you out, and every session ends after a week regardless. Sessions live in PostgreSQL behind HTTP-only, Secure cookies with a 7-day expiry; logout invalidates the session immediately.
Workspace isolation with explicit membership
Shipped
A member of one brand cannot see another brand's mail, contacts, or deals. Every tenant record carries its workspace, and reading a workspace's mail, contacts, or deals requires an explicit membership row for that workspace.
Roles and module permissions
Shipped
Decide exactly who may view, edit, approve, export, or delete, per area of the product. Owner, admin, editor, and member roles are built in; custom roles grant one of five permission levels (none to full) across 15 modules, with separate export, approve, and delete flags.
Mailbox and conversation level access
Shipped
Give a teammate partnerships@ without giving them every mailbox. Each connected mailbox is shared with named people as owner, delegate, or read-only, and a single conversation can be delegated on its own.
Scoped API tokens
Shipped
An integration gets only the access it needs, for only as long as you allow. Tokens are project-scoped with explicit scopes and an expiry, shown once, and stored only as hashes: nobody, including us, can read one back.
Multi-factor authentication
Planned
Not available today. It is on the enterprise roadmap; if you need it, the timing is agreed in your order form, never assumed.
SAML or OIDC single sign-on
Planned
Not available today. Sign-in is by password or emailed one-time code. The embed widgets hand a scoped session to signed-in members, which is convenient but is not identity federation.
SCIM provisioning
Planned
Not available today. Users are invited by email and removed by an admin; directory sync is on the enterprise roadmap.

Data protection

How your data is encrypted, where it physically lives, and how it leaves when you do.

ControlStatusWhat it means for you
Encryption in transit
Shipped
Browser to server is always encrypted and cannot be downgraded. HTTPS only with HSTS, TLS required on database connections, Let's Encrypt certificates renewed automatically.
Credentials encrypted at rest
Shipped
The keys that unlock your mailboxes are never stored in the clear and never leave the server. OAuth tokens, integration keys, and webhook secrets are encrypted with AES-256-GCM (random IV, authentication tag) before they reach the database and stripped from every API response.
Key management
Partial
One deployment key protects everything encrypted at rest, and it never leaves the host. It derives from a single secret in a root-only file; there is no external KMS and no automated key rotation yet. Dedicated instances get a key of their own.
Secrets handling
Shipped
No production secret sits in the repository, the build artefacts, or a developer's laptop. Secrets live in a root-only file on the server.
Data residency
Shipped
Your data lives in Germany unless you ask for somewhere else. Shared instance: application in Falkenstein, database in Frankfurt (AWS eu-central-1), uploaded files on the application server. Dedicated instances in the EU or the US on request.
Backups and restore
Partial
Automated backups and point-in-time restore come from the managed database provider. The retention window is confirmed in writing for enterprise customers; we do not publish a figure until the restore has been tested end to end.
Data deletion
Shipped
When you leave, your data goes with you. A workspace owner can delete a workspace and deletion cascades through every dependent record; account deletion and data subject requests are handled by request within 30 days.
Suppression is one-way
Shipped
Once someone opts out, no sequence or automation can email them again, and a hard bounce or full opt-out blocks even a manual reply. A suppression cannot be cleared by any user action or import; a marketing-only opt-out still permits a reviewed one-to-one reply from a person.

Application security

The checks that run on every request, whether it comes from a browser, a widget, or a webhook.

ControlStatusWhat it means for you
Security headers
Shipped
The browser refuses scripts we did not ship. Content Security Policy, HSTS, nosniff, referrer policy, and cross-origin policies are set via Helmet; frame ancestors are limited to HTTPS origins because the widgets are built to be embedded.
Rate limiting
Shipped
Abuse is throttled before it becomes an outage. Global API limit of 500 requests per 15 minutes per IP, authentication 20 per 15 minutes, AI endpoints 30 per minute, public embed endpoints 60 per minute, plus separate per-workspace limits for free and paid plans.
Request forgery protection
Shipped
A link in a malicious email cannot make your browser act inside your workspace. State-changing requests require a custom header; the public anonymous endpoints are listed explicitly and guarded by honeypots, signatures, or rate limits instead.
Input validation and safe queries
Shipped
Malformed input is rejected before it reaches the database. Request bodies are validated against schemas, and all database access goes through a parameterised ORM.
Output sanitisation
Shipped
Pasted HTML cannot carry a script. User-supplied HTML is sanitised with DOMPurify on the server and again in the browser.
Webhook verification
Shipped
Nobody can forge an event into your workspace. Inbound webhooks (Stripe, Microsoft Graph, meeting bots, mail providers, public leads) are verified by signature with timing-safe comparison.
Upload safety
Shipped
An upload cannot be swapped, oversized, or served from a stranger's domain. Uploads use signed, time-limited URLs on the trusted origin, with a 25 MB ceiling enforced at the edge and the storage path chosen by the server, never the browser.
Independent penetration test
Planned
No third-party test report exists yet. An annual test is on the trust roadmap, and its findings will be summarised here.

AI governance

What the AI may do on its own, who approves the rest, and what the record shows afterwards.

ControlStatusWhat it means for you
Human approval by default
Shipped
Nothing the AI writes goes out unread unless an admin decides otherwise. Agents run at observe, draft-for-review, or auto-send; draft-for-review is the default, and auto-send requires a feature flag, honours the policy pack that applies to the pipeline, and passes every send fence.
Policy packs
Shipped
Decide, per pipeline, what the AI may say, what it must never bring up, which disclaimer it has to include, and who signs off before anything risky leaves. A pack sets risk tier, required approvers including dual approval, disallowed topics, required disclaimers, and channel limits.
Per-workspace kill switch
Shipped
One toggle turns all AI off for a workspace, instantly, without a support ticket.
Agent activity log
Shipped
A record of every step the AI took, and why, that you can hand to an auditor. Each step records phase, input, output, decision, tokens, duration, and outcome; human overrides are logged with actor and time.
Compliance engine and report
Shipped
An audit report your compliance team can read without us in the room. Opt in per workspace for trace IDs, content hashes for tamper detection, human-override logging, and a JSON compliance report for authorised auditors. A six-month retention window is computed; automated purge is not yet enabled.
EU AI Act Article 50
Shipped
EU recipients never receive an unreviewed AI email unless you choose that, and then the email says so. Auto-sent AI drafts to likely EU/EEA recipients are downgraded to human approval by default; where a workspace opts out, a disclosure line is appended. CommsOperator is not a high-risk system under the Act.
Model providers and training
Shipped
Your content is not used to train anyone's models. Drafts run on OpenAI GPT-4.1 and GPT-4o family models through the OpenAI API, whose API data usage policy excludes API content from training OpenAI models; CommsOperator trains no models. Dedicated instances can run local inference (Ollama) on request.
Prompt content minimisation
Shipped
The AI sees the thread and the matching articles, not your whole mailbox. Prompts carry only the context the task needs: the conversation, matching knowledge, and the relevant CRM fields.

Reliability and observability

How we know the service is healthy, how we change it without surprising you, and what we do not yet publish.

ControlStatusWhat it means for you
Health and readiness probes
Shipped
The server proves it is healthy before it takes a single request. Liveness and readiness endpoints check the database and critical dependencies before traffic is accepted.
Metrics and error monitoring
Shipped
Faults show up on our side, usually before anyone writes in. Prometheus metrics on an authenticated endpoint; Sentry error monitoring in browser and server with personal data stripped, active where a DSN is configured.
Circuit breakers on integrations
Shipped
If Microsoft or OpenAI has a bad hour, the app degrades; it does not fall over. Outbound calls to Microsoft, OpenAI, Apollo, mail providers, and peers run behind circuit breakers, with a live state view for admins.
Safe deploys
Shipped
A bad release can be undone in minutes, and a restart never catches you mid-reply. Releases are immutable with the previous one retained for rollback; signed-in users receive a notice before a restart; shutdown drains schedulers and connections first.
Send safety
Shipped
Your domain's reputation is guarded whether or not anyone is watching. Per-mailbox daily caps, warm-up ramps, bounce and unsubscribe-rate thresholds, and a deliverability circuit breaker that pauses a campaign. Provider spam-complaint feedback loops are not wired yet.
Public status page
Planned
Not published yet. Enterprise customers receive incident notices by email under the service level framework.
Uptime commitment
Partial
No public uptime figure is advertised, because there is no public status page yet to back it. Enterprise order forms state the uptime commitment and service credits under the service level framework.

Compliance and privacy programme

The documents you can sign today, the obligations we carry, and exactly where we stand on certifications.

ControlStatusWhat it means for you
GDPR data processing addendum
Shipped
The contract that says exactly how we handle data on your behalf, ready to sign. Article 28 terms, EU Standard Contractual Clauses and the UK Addendum incorporated, the subprocessor list, and technical and organisational measures.
Subprocessor list and change notice
Shipped
You always know which companies touch your data, and you hear before that list changes. Published list; customers can subscribe to change notices and object under the DPA.
Data subject requests
Shipped
Ask what we hold, fix it, or delete it, answered within 30 days. Requests about your workspace's contacts are routed through you as controller, per the DPA.
Retention policy
Partial
Sessions and one-time codes expire on their own, and account data is deleted within 30 days of a deletion request. The full retention schedule, class by class, is written for the Account and Engagement domain and is still being rolled out across the rest of the product, which is why this row says partial.
SOC 2
Planned
Not certified. A SOC 2 Type I engagement is the next step on the trust roadmap; until then this page, the DPA, and pre-answered questionnaires stand in.
ISO 27001
Not offered
Not pursued at this time.
Responsible disclosure
Shipped
A researcher who finds a bug knows where to send it and what to expect back. Published policy, a security.txt file, and a monitored mailbox. No bug bounty programme.

What we do not have yet

No SOC 2 or ISO 27001 certification. No single sign-on and no multi-factor authentication. No independent penetration test report. No public status page and no published uptime figure. No automated purge of expired AI activity logs. All of these except ISO 27001 are on the roadmap, none of them is claimed anywhere on this site, and none of them appears in the control tables above as shipped. If one is a hard requirement for you, say so in your access request and we will tell you whether the timing works.
Subprocessors

Who else touches the data

These core providers apply to every customer. Optional providers appear only when you enable the corresponding feature.

ProviderPurposeLocation
Hetzner Online GmbHRuns the application servers and stores the files you uploadGermany (EU). United States for a dedicated US instance.
Neon Inc. (managed PostgreSQL)Holds the database and its backupsAWS eu-central-1, Frankfurt, Germany. A US region for a dedicated US instance.
OpenAI, L.L.C.Runs the AI: sorting conversations, drafting replies, writing summaries, and the embeddings behind searchUnited States
Stripe, Inc.Handles subscription billing and card paymentsUnited States and Ireland
Let's Encrypt (Internet Security Research Group)Issues the TLS certificates that encrypt traffic to the serviceUnited States
Microsoft Corporation (Clarity)Shows us which pages work and where people get stuck, with advertising and analytics storage denied by default. It loads from the one application shell, so it runs on the marketing website and on signed-in application pages.United States
Google LLC (Google Fonts)Serves the web fonts for the marketing website, the signed-in application, and the public booking pages your invitees open.United States and European Union

Full subprocessor list and change notices

AI and your data

Yes or no, then the detail

The questions every data protection officer asks about the AI, answered the way they want them answered.

Does CommsOperator train on our data?
No. CommsOperator trains no models.
Does OpenAI train on it?
Not under its API data usage policy, which excludes API content from training.
Does the AI see our whole mailbox?
No. It sees the thread it is working on, the matching help articles, and the CRM fields the task needs.
Can we turn the AI off?
Yes. One toggle per workspace, instantly.
Does the AI send on its own?
Not unless an admin turns that on. The default is draft-for-review, and EU recipients are downgraded to human approval.
Can we see what it did?
Yes. The agent activity log records every step, its input, output, decision, and who overrode it.

Report a security concern

Found something? Email office@commsoperator.com, the address published in /.well-known/security.txt. The responsible disclosure policy sets out scope and safe-harbour terms. There is no bug bounty programme; there is a person who reads the mailbox and replies.

Security questions we are asked most

Is CommsOperator SOC 2 certified?

No. CommsOperator is not SOC 2 or ISO 27001 certified today. What you can rely on now is this trust center, the data processing addendum, the subprocessor list, and a pre-answered security questionnaire. A SOC 2 Type I engagement is the next step on the roadmap.

Where is our data stored?

In Germany, on the shared instance: application servers in Falkenstein and the PostgreSQL database in Frankfurt (AWS eu-central-1). Uploaded files stay on the application server. Enterprise customers can have a dedicated instance in the EU or the US.

Does your AI read our whole mailbox?

No. The AI receives the conversation it is working on, the matching knowledge base articles, and the CRM fields the task needs. Nothing else. And one toggle switches AI off for a workspace.

Does the AI send anything on its own?

Not unless an admin turns that on. The default is draft-for-review: every AI draft waits for a person. Auto-send sits behind a feature flag, honours the pipeline's policy pack, passes the same daily cap and opt-out checks as a human send, and is downgraded to human approval for likely EU recipients.

Do you use our data to train models?

No. CommsOperator trains no models. AI calls go to OpenAI's API, whose data usage policy excludes API content from training OpenAI models.

Can we get a copy of our data?

Yes, on request. Contacts, deals, and conversations are exported for you during the term and at termination. Self-serve bulk export is on the roadmap.

How do we report a vulnerability?

Email the security contact listed in /.well-known/security.txt. The responsible disclosure policy sets out scope, safe-harbour terms, and what you can expect from us. There is no bug bounty programme.

Send us your security questionnaire

We answer it ourselves, including the awkward rows. Most of it is already in the review pack; the rest gets a straight answer from the person who runs the system.