Security and IT Review

Support Coach is a Chrome extension that coaches support agents on a reply before the customer sees it. This page is written for IT and security reviewers. It sets out what the extension can access, what leaves the browser, what we store, and how to deploy it across a managed fleet.

Last updated: September 13, 2026

At a glance
Chrome permissions requestedStorage only
Sites it can run onFive help-desk domains. Nothing else.
Customer messages transmittedNo. They never leave the browser.
Agent draft reply transmittedYes, over HTTPS, to our API and OpenAI
Draft reply stored in a databaseNo. Transient processing only.
Remote code executionNo. All code ships inside the extension package.
Works with no sign-in or no networkYes. The local rules layer needs neither.
SOC 2 or SSONot available today. See section 7.

1. What the extension is allowed to access

Chrome enforces an extension's permissions from its manifest. Ours requests a single permission, and access to five help-desk domains. This is the complete list, as published:

"permissions": ["storage"],
"host_permissions": [
  "*://*.zendesk.com/*",
  "*://*.intercom.com/*",
  "*://*.intercom.io/*",
  "*://*.salesiq.zoho.com/*",
  "*://*.zohosalesiq.com/*"
]

It does not request tabs, cookies, webRequest, scripting, downloads, clipboard access, or <all_urls>. It cannot read other tabs, cannot see browsing history, and cannot run on any site outside the five domains above.

The storage permission holds the agent's session token and their coaching preferences, in Chrome's extension-local storage.

All executable code ships inside the extension package and is reviewed by Google before publication. The extension does not fetch or evaluate remote code.

2. What leaves the browser

When an agent pauses typing, or clicks Check before sending, the extension sends four fields to our API over HTTPS. This is the entire payload:

draft_textThe reply the agent has typed and not yet sent.
triggered_rulesRule family names and numeric weights. No message text.
local_scoreA number from 0 to 100 produced on the agent's machine.
draft_hashA non-reversible hash used to avoid processing the same draft twice.

What is never transmitted

The customer's messages, the conversation history, attachments or files shared in the chat, customer contact records, and ticket metadata all stay in the browser. The coaching model analyses the agent's own draft in isolation and has no visibility of the conversation it belongs to.

The instant feedback layer, which flags blame language and abrupt closings as the agent types, runs entirely on the agent's machine and makes no network request at all. It keeps working with no sign-in and no internet connection.

3. What we store, and for how long

Draft reply text is not stored in our database. It is processed in memory to produce the coaching response. A short-lived cache, up to 60 seconds and keyed by a non-reversible hash, prevents the same draft being processed twice while an agent edits it. After that it is discarded.

What we do retain is account information (name, email address, organisation name) and aggregate coaching statistics: which categories of coaching rule were triggered, and counts of suggestions shown, accepted, or dismissed. These statistics contain no message content, no draft text, and no customer data.

We also record product analytics in PostHog so we can see how the service is used — that a check completed, that a suggestion was accepted, that a sign-in happened, that a check failed. These events identify an organisation and an agent by internal identifiers, and carry the organisation name, counts, durations, rule-family names and the extension version. They never carry draft text, customer messages, agent names or email addresses: those field names are refused by a deny list, values longer than 200 characters are dropped, and nested objects are discarded whole rather than inspected. Location is not derived — GeoIP is switched off on every event.

Full detail on retention, deletion, and the Chrome Web Store Limited Use requirements is in our Privacy Policy, section 9.

4. Subprocessors

ProviderPurposeReceives
OpenAIAnalyses the draft and returns coaching feedbackThe agent's draft reply text
RailwayHosts our APIThe draft reply in transit
SupabaseDatabase for accounts and aggregate statisticsAccount details, aggregate counts
VercelHosts the admin console and this siteAccount details
ResendSends transactional and weekly summary emailName, email address
PaddleMerchant of record for billingBilling details you enter at checkout
PostHogProduct analytics on how the service is usedAccount identifiers, organisation name, usage events. No message or draft text

OpenAI processes the draft through its API. As of the date above, OpenAI does not use API inputs or outputs to train its models.

5. Accounts and access control

Agents do not create their own accounts. An administrator at your organisation creates the organisation and invites agents to it. Removing an agent from the organisation revokes their access.

Sessions are token based. The token is held in the extension's own storage, is not readable by web pages, and expires. Signing out clears it from the device.

Administrators manage the team, coaching sensitivity, and billing at admin.supportcoach.io.

6. Deploying across a managed Chrome fleet

If your organisation manages Chrome centrally, you can deploy Support Coach to agents rather than having them install it individually. It is published on the Chrome Web Store, so it works with the standard Chrome Enterprise policies.

Extension ID

kfmbekgngkgbcejoinohlalmbmkegnbi

Add this to ExtensionInstallForcelist to deploy it, or to ExtensionInstallAllowlist if your policy blocks extensions by default and you would rather agents opt in.

Domains to allow

If you filter outbound traffic or run split DNS, these two hostnames need to resolve and be reachable over HTTPS from agent machines:

api.supportcoach.io      coaching requests from the extension
admin.supportcoach.io    administrator console

We have seen corporate DNS filtering block the API hostname before. If agents report that coaching never loads while the rest of the help desk works normally, that is the first thing to check.

7. Current limitations, stated plainly

We would rather you learn these here than discover them during a review.

  • No SOC 2 report today. We are a small team and have not completed an audit.
  • No SSO or SAML. Access is email and password, with administrator-managed invitations.
  • No configurable data region. Processing happens in our providers' default regions.

The compensating control is the scope of the data itself. No customer conversation content is stored anywhere in our systems, because none of it is ever sent. The most sensitive thing that reaches us is a reply an agent was about to send to a customer, and we do not keep it.

8. Questions

If your review needs something that is not covered here, write to support@supportcoach.io and we will answer directly.