Building Secure and Private Enterprise LLM Infrastructure
slack · Tech · 2024 · source Agentic: no · promotional bias: med · source-backed · extracted with prompt 0.5.5 (schema v2)
Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.
Problem
Domain: Enterprise collaboration AI infrastructure
Slack wanted to add LLM-powered summarization and search while preserving enterprise privacy, compliance, access-control, and data-retention guarantees for customer workspace data.
Constraints:
- Customer data could not leave Slack's trust boundary or be retained by third-party model providers.
- Slack would not train LLMs on customer data.
- AI features could only operate on data the requesting user was already allowed to see.
- Slack AI had to uphold existing enterprise security and compliance requirements such as FedRAMP Moderate, DLP, EKM, and data residency.
- RAG requires models with sufficiently large context windows and acceptable latency.
- AI-generated derived content must remain tied to source-message controls.
Architecture
Slack AI uses an enterprise trust-boundary architecture. Rather than call hosted model APIs directly, Slack uses AWS as a trusted broker and hosts closed-source LLMs in an escrow VPC inside Slack's trust boundary, so model providers cannot access customer data. Slack avoids customer-data training by using stateless RAG: each request includes the messages or search context needed for the task, and the model retains none of it. Data retrieval reuses existing Slack ACL-aware channel/search libraries so Slack AI sees only what the requesting user can see. Outputs are visible only to the invoker, ephemeral where possible, and derived summaries remain linked to source messages so DLP tombstones and administrative controls invalidate AI outputs too.
Diagram confidence: explicit (topology described by the source).
flowchart LR requesting-user[Requesting user] --> slack-ai-feature[Slack AI feature] slack-ai-feature --> acl-aware-data-fetcher[ACL aware data fetcher] acl-aware-data-fetcher --> workspace-message-store[Workspace message store] acl-aware-data-fetcher --> rag-prompt-builder[RAG prompt builder] rag-prompt-builder --> escrow-vpc-llm-endpoint[Escrow VPC LLM endpoint] aws-trusted-broker[AWS trusted broker] --> escrow-vpc-llm-endpoint escrow-vpc-llm-endpoint --> ai-output-renderer[AI output renderer] slack-ai-feature --> ai-output-renderer ai-output-renderer --> derived-content-tracker[Derived content tracker] workspace-message-store --> compliance-control-layer[Compliance control layer] derived-content-tracker --> compliance-control-layer
Components
| Component | Role | Interacts with |
|---|---|---|
Requesting user |
Slack user invoking AI summarization or search. | Slack AI feature |
Slack AI feature |
Product layer for channel summaries and AI search answers. | Requesting user, ACL aware data fetcher, RAG prompt builder, AI output renderer |
ACL aware data fetcher |
Existing Slack channel/search data-access libraries that enforce the requesting user's visibility rules. | Slack AI feature, Workspace message store, RAG prompt builder |
Workspace message store |
Customer workspace data, messages, and search content governed by Slack's existing controls. | ACL aware data fetcher, Compliance control layer |
RAG prompt builder |
Assembles task instructions plus all context needed for the model in each stateless request. | ACL aware data fetcher, Escrow VPC LLM endpoint |
AWS trusted broker |
Broker arrangement that lets Slack host closed-source LLMs without exposing customer data to model providers. | Escrow VPC LLM endpoint |
Escrow VPC LLM endpoint |
Closed-source LLM hosted within Slack's trust boundary for summarization and search generation. | AWS trusted broker, RAG prompt builder, AI output renderer |
AI output renderer |
Displays generated summaries/search answers only to the user who invoked Slack AI. | Slack AI feature, Escrow VPC LLM endpoint, Derived content tracker |
Derived content tracker |
Tracks relationships between AI-generated summaries and source messages when outputs must persist. | AI output renderer, Compliance control layer |
Compliance control layer |
Slack enterprise controls including DLP, EKM, International Data Residency, and data-retention behavior. | Workspace message store, Derived content tracker |
Data flow
A requesting user invokes Slack AI for search or channel summarization. Slack fetches only the messages or search results that user can already see by reusing existing ACL-aware channel/search libraries. The RAG prompt builder packages the task instructions and retrieved context into a stateless request to a closed-source LLM hosted in an AWS escrow VPC within Slack's trust boundary. The output is shown only to the invoking user and, where possible, is ephemeral rather than stored on disk. When derived content must persist, Slack tracks which source messages went into it so DLP tombstones and administrative controls invalidate the derived output.
5 supporting quotes
Why this architecture
Slack chose this architecture because direct hosted-model calls and customer-data fine-tuning conflicted with its enterprise trust model. The escrow VPC keeps customer data inside Slack's boundary while still allowing top-tier closed-source models. Stateless RAG avoids model retention/training and grounds outputs in workspace knowledge. Reusing core ACL and compliance systems prevents AI from becoming a parallel data-access path with weaker governance.
4 supporting quotes
Models used: Closed-source large language models hosted in an AWS escrow VPC · Traditional Slack ML models chained with generative models
Scale
- Slack had been running machine-learning-powered features since 2016.“We’ve done this since we debuted machine learning-powered features in 2016”article, stated
- Slack reports 90% of users who adopted AI reported higher productivity than those who did not.“90% of users who adopted AI reported a higher level of productivity than those who didn’t.”article, stated
- Slack is FedRAMP Moderate authorized, which shaped model-hosting constraints.“FedRAMP Moderate authorized”article, stated
- Channel summarization can involve substantial context from all messages in a channel.“As you can imagine, the task of summarizing all messages in a channel can involve quite a bit of data.”article, stated
- Slack evaluated multiple models to find large-context, low-latency behavior for summarization and search.“We evaluated a number of models and found one that suited our first use cases, summarization and search, well.”article, stated
Alternatives considered (roads not taken)
Call hosted foundational model services directly
Rejected because: Direct API calls would send customer data outside Slack's trust boundary and risk third-party retention/training.
Self-host closed-source foundational models directly on Slack hardware
Rejected because: Most top foundational models are closed-source and providers do not hand them over for customer deployment.
Train or fine-tune LLMs on customer data
Rejected because: Slack could not guarantee workspace isolation and customer choice strongly enough in the young generative-AI ecosystem.
Build separate AI-specific data access paths
Rejected because: AI should inherit standard Slack search/channel visibility rules rather than become a new bypassable path.
Persist all AI outputs like ordinary content
Rejected because: Slack follows least-data principles and makes summaries/search answers ephemeral where possible.
Patterns
privacy-preserving-processing (security)
Slack keeps customer data inside its trust boundary by running closed-source LLMs through an AWS escrow VPC and using stateless RAG instead of customer-data training.
rag-retrieval (retrieval)
Slack sends task-specific context in each prompt so AI answers are grounded in workspace knowledge without model retention.
safety-policy-enforcement (security)
Slack AI reuses user ACLs and existing Slack feature libraries so summaries/search cannot expose content the user could not already access.
guardrails-io-filtering (compliance)
Derived Slack AI outputs remain subject to DLP and administrative controls, including invalidation when source messages are tombstoned.
latency-optimization (performance)
Slack's model selection had to balance large context windows with low latency for summarization and search.
model-routing (architecture)
Slack evaluated multiple commercial models and selected one suited to its initial summarization and search use cases.
Tradeoffs
Host commercial LLMs through AWS escrow VPC
Chose Top-tier closed-source model inside Slack's trust boundary over Direct hosted model API calls or unavailable self-hosted closed models.
Rationale: Slack wanted leading model capability without allowing customer data to leave its controlled boundary.
Use stateless RAG instead of training
Chose Per-request retrieved context over Training or fine-tuning LLMs on customer data.
Rationale: RAG provides privacy and product relevance while avoiding model retention of customer data.
Reuse existing Slack ACL and compliance systems
Chose Build on core search/channel display libraries over Parallel AI-specific access and compliance infrastructure.
Rationale: Existing systems already encoded user visibility and enterprise controls, making them the safest base for AI features.
Keep outputs ephemeral where possible
Chose Point-in-time non-disk summaries and search answers over Persisting all AI-generated outputs.
Rationale: Least-data storage reduces exposure and compliance burden for generated content.
Accept RAG latency and context-window constraints
Chose Large-context, low-latency model selection and prompt tuning over Quality gains from customer-data fine-tuning.
Rationale: RAG better preserved customer-data guarantees even though it constrained model choice and introduced latency pressure.
Gotchas (what bit them)
Direct hosted LLM APIs can violate enterprise trust-boundary requirements.
Root cause: Customer data may leave the controlled environment and become available for retention or provider training.
Resolution: Use an AWS escrow VPC arrangement so Slack controls customer data lifecycle while accessing closed-source models.
Customer-data fine-tuning can undermine workspace isolation and choice guarantees.
Root cause: The generative AI ecosystem was too young for Slack to make strong enough guarantees about training on customer data.
Resolution: Use off-the-shelf models in a stateless RAG pattern instead of training or fine-tuning on customer data.
AI features can accidentally bypass existing authorization if they fetch data through new paths.
Root cause: A separate AI data layer might not inherit normal search/channel ACL behavior.
Resolution: Build Slack AI on existing ACL-aware libraries and core feature sets.
RAG can make model selection and latency harder.
Root cause: The whole task context must fit in the model context window, and larger context slows requests.
Resolution: Evaluate models for large context windows and acceptable latency, then tune prompts and chain traditional ML with generative models.
Derived AI content can become stale or noncompliant when source messages change.
Root cause: Summaries depend on source messages but are separate generated artifacts.
Resolution: Track relationships between summaries and source messages so DLP tombstones invalidate derived summaries.
Evaluation
The article says Slack evaluated a number of models for its first summarization and search use cases and engaged in prompt tuning, but it does not disclose detailed evaluation methodology.
Metrics: Large enough context window · Fairly low latency · Suitability for summarization · Suitability for search · User-reported productivity
4 supporting quotes
Outcomes
- Slack AI delivers summarization and search while keeping customer data inside Slack's trust boundary.
- Model providers do not have access to Slack customer data in the escrow VPC arrangement.
- Slack AI inherits user ACLs so search and summaries only use data the requester could already see.
- Slack extends DLP and administrative controls to derived AI summaries.
- Slack reports higher productivity among 90% of users who adopted AI.
Slack AI is designed for enterprise Slack customers under existing compliance offerings, including FedRAMP Moderate, EKM, International Data Residency, and DLP.