Security & data handling

Last updated October 30, 2026

Draft: the company details in brackets are filled in before Scaled Support is sold. Everything else on this page describes how the service works today.

What Scaled Support can read, what it keeps and for how long, where your data lives, and who else processes it. Written so you can forward it to your IT or security team as is.

The short version

  • The bot only stores messages from the Slack channels you connect and the one mailbox you connect. Messages from any other channel are dropped as they arrive.
  • Tickets and their messages are deleted automatically 365 days after their last activity. Admins can shorten this to as little as 30 days.
  • Attachments are never downloaded or stored. Only the file name and type are kept.
  • Data is stored in the EU (Ireland). AI requests go only to providers that keep no copy and never train on your data.
  • Your data is never used to train AI models.

Slack permissions and why each is needed

The Slack app uses a bot token only. It asks for no user permissions, cannot read direct messages, and only sees channels it has been added to.

PermissionWhy it's needed
channels:readList public channels so you can pick which customer channels to connect.
channels:historyReceive new messages in public channels the bot is in. Messages in channels you have not connected are dropped, and their text is not kept.
channels:joinJoin a public channel when you connect it, so you don't have to invite the bot.
groups:readList private channels the bot was invited to, and spot which ones are shared with a customer (Slack Connect).
groups:historyReceive new messages in private channels the bot was invited to, on the same terms.
chat:writePost replies in the customer's thread, drafts for your team to review, private notices to the assignee, and satisfaction surveys.
chat:write.customizePost under your company's own bot name and logo instead of ours.
im:writeSend the teammate who owns a ticket a direct message, if you switch that on. Never used to message customers.
reactions:writeAdd status emoji (seen, working on it, replied) to the customer's message so they know it was picked up.
users:readShow people's names on tickets, sync your team, and tell your staff apart from customers and guests.
users:read.emailMatch Slack people to teammates in your dashboard and to customer contacts by email address.
conversations.connect:readOptionalOptional, not used yet. Will let the bot notice a Slack Connect invitation as soon as a customer accepts it, so the new channel appears right away.
team:readOptionalOptional, not used yet. Will keep your Slack workspace's name and icon current in the dashboard after a rename.

Optional permissions. Two permissions are for features that are not built yet. You can leave them out: in Settings → Connections, choose “Connect without optional permissions”. Nothing works differently today. When those features ship, they won’t work for your workspace until you reinstall the app with the optional permissions.

Gmail permissions and why each is needed

Only if you connect a support mailbox. Signing in to the dashboard with Google asks for your name and email address only.

PermissionWhy it's needed
gmail.readonlyRead new emails that arrive in the connected mailbox's inbox. Older mail is never imported.
gmail.sendSend the replies you approve (or that the bot is allowed to send) in the same email thread.
gmail.modifyAdd a label to emails once they are turned into a ticket, so you can see what was handled. It never deletes mail.

Scaled Support’s use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.

What we store, and for how long

DataKept for
Customer messages, tickets, AI drafts and sent replies, ticket history, satisfaction-survey comments, website-chat transcripts365 days after the ticket's last activity (admins can shorten it to 30), then deleted for good by a nightly job. An admin can also delete a ticket at any time.
Messages from channels you have not connected, and chatter the bot ignoresNot stored. The text Slack sends is blanked as soon as the bot has checked it.
AttachmentsNever stored. Only the file name and type are kept, with the message.
Your help docs and the search index built from themUntil you remove the source.
Background job queue (can hold message text while it is processed)Finished jobs are cleared after 14 days; failed jobs after 30 days.
Audit log of workspace actions (who did what and when, with ticket numbers and titles)For the life of the workspace, so admins can check what the bot did. A ticket's own history is deleted with the ticket.
Slack and Gmail access tokensEncrypted (AES-256-GCM) before they are stored; erased when you disconnect or uninstall.

Customer messages are turned into search vectors only for the moment it takes to look up your help docs; those vectors are not stored.

Where your data lives

  • Database and files: Supabase in the EU (Ireland, eu-west-1).
  • Web app: Vercel, running in Dublin next to the database.
  • AI: the models run outside the EU, usually in the United States, with zero data retention. Prompts and replies are processed and not kept by the AI providers.

Sub-processors

The companies that process customer data on our behalf:

CompanyWhat forDataLocation
SupabaseDatabase, file storage, sign-in and the background workerEverything the service storesEU (Ireland, AWS eu-west-1)
VercelHosts the web app and receives Slack's and Google's notificationsRequests passing through; nothing storedEU (Dublin) for the app; static pages from its global network
OpenRouterRoutes AI requests to the model providers below, only to endpoints with zero data retentionMessage text, help-doc passages and the drafted reply, in transit onlyUnited States
Amazon Web Services (Bedrock) and Google Cloud (Vertex AI)Run Anthropic's Claude models that sort requests and write replies, and Google's Gemini for the jobs a workspace picks it forMessage text and help-doc passages, processed and not keptOutside the EU, usually the United States
Microsoft Azure (OpenAI models)Turns help-doc text and search questions into search vectors, and runs OpenAI's GPT for the jobs a workspace picks it forHelp-doc text and the question being looked up, plus message text when a workspace picks GPT, processed and not keptOutside the EU, usually the United States

Slack and Google (Gmail) are not on this list: they are your own services, which you connect. We will update this list before adding a new sub-processor.

Access and protection

  • Every table is separated by workspace and protected by row-level security: one workspace can never read another’s data.
  • Only members of your workspace can see your tickets and drafts. Admins see an activity log of every action the bot takes.
  • All traffic is encrypted in transit (HTTPS). Data at rest is encrypted by Supabase.
  • Slack requests are verified by their signature; requests that fail the check are rejected.
  • Nothing goes out to a customer on its own unless you turn on automatic replies, and refund, pricing, contract and security questions wait for a person unless you switch them on, with a stricter bar. Access questions always wait for a person.

Certifications

Scaled Support does not hold SOC 2 or ISO 27001 yet. We will start a SOC 2 Type I audit when customers ask for it and publish the audit date here. Until then we answer security questionnaires directly. A data processing agreement is available on the DPA page.

Report a problem

Found a security issue, or have a question about your data? Email [contact email].

Security & data handling · Scaled Support