Why a private LLM chat for the enterprise needs a deliberate platform choice
Open source chat front ends such as Open WebUI or LibreChat, served by Ollama or vLLM, can run inside your own cloud account, data center or air-gapped network, so prompts and documents stay under your control. The decision is less about whether the software works and more about which stack fits your users, your identity model and your licensing position. Staff already use public chat tools, and leadership typically wants an approved alternative that does not send company data to a third party. That request lands with CISOs, CIOs and platform leads, who own the questions of identity, logging, data retention and who pays for the GPU capacity.
Stacks differ in how far they go out of the box. Open WebUI is a broad chat interface with many built-in features, but its license is a BSD-style license with a branding clause: clause 4 prohibits altering or removing Open WebUI branding except for deployments with no more than 50 end users in any rolling 30 day period, with written permission, or under other listed exceptions. Teams that will exceed that user threshold should read the Open WebUI license with legal counsel before rollout. LibreChat is licensed under MIT and is a practical option where branding and redistribution terms need fewer conditions. Ollama suits small teams and development hosts, while vLLM is an inference and serving engine aimed at higher-throughput shared serving. Confirm the current license and version of each component in your own review, since releases change.
Before you pick a stack, write down four decisions: which identity provider and roles will gate access, how long conversations and uploaded files are retained, which models run on which hardware, and who operates the platform after handover. Each choice changes the others. A chat tool that is easy to launch can still fail an assessment if logs are not kept or if access follows no approved role model. Ask any implementation partner to walk through those four decisions against your environment in writing before work begins.
Requirements to agree before you choose a private LLM chat platform
Most delays in a private chat rollout come from decisions nobody made before the first install. The six decisions below connect the user base, the data, the identity model, the retention rules, the models and the brand, and each one has a named owner who should sign off before you compare Open WebUI, LibreChat or any other interface.
User population and concurrency
Count named users, expected daily active users and peak concurrent sessions, then split them by department and region. Peak load drives the number of model replicas and GPUs far more than headcount does, so a 2,000-person company with a small pilot group needs different sizing than one with everyone online at 9 a.m. Owner: the business sponsor with the head of platform engineering, who sets the capacity baseline and the growth assumptions for the first year.
Data classification allowed in prompts
Decide which data classes staff may paste into a prompt or attach as a file, such as public, internal, confidential, personal data or regulated records. This sets which teams can use the tool on day one and whether uploads, memory and shared conversations are switched on. Owner: the chief information security officer with the data protection officer, documented as an acceptable use rule that the platform settings can enforce.
Identity provider and group mapping
Confirm which identity provider is the source of truth, whether it supports OpenID Connect or SAML, and how groups from the directory map to chat roles, model access and admin rights. Ask whether the interface can disable local sign-up and how deprovisioning removes access within your offboarding window. Owner: the identity team, which should test group claims with a small set of accounts before any broad access is granted.
Retention and log policy
Set how long chat transcripts, uploaded files, embeddings and model request logs are kept, and who may read them. Logs can serve audit and incident needs, but they also become a store of sensitive text, so retention should be a deliberate choice per data class. If the use case may be high-risk under the EU AI Act, Article 19 requires providers to keep automatically generated logs for at least six months unless other law provides otherwise, so legal counsel should confirm the period. Owner: the general counsel with the records manager.
Model types and hardware location
Choose which model families the business needs, such as small general models for drafting, larger models for analysis, or code and embedding models, then decide where the GPUs sit: your own data center, a private cloud account or an air-gapped segment. Serving engines differ, so Ollama suits simpler local deployments while vLLM is often evaluated for higher-throughput serving, and both need testing against your hardware. Owner: the platform engineering lead with the security architect, who approves where model weights and prompts may run.
Branding and white-labeling needs
Decide whether staff should see the company name, logo and colors, and whether the interface will be exposed to customers or partners. Open WebUI's license restricts altering or removing its branding beyond a small user threshold unless written permission is obtained, so the answer affects license cost and the choice between Open WebUI and MIT-licensed LibreChat. Owner: the marketing or communications lead with procurement, who should get the license reading confirmed by counsel.
Which open source chat and model stacks fit which situations
This table compares the chat front ends and model serving layers most often considered for a private assistant, with their licenses, the situations they suit and the operating effort each one adds. Read the license column before you choose a front end, because branding and multi-tenant rules can change the answer, and read the effort column to size the team that will run it.
| Option | License and latest version noted | Best fit | Operating effort and watch-outs |
|---|---|---|---|
| Open WebUI | Open WebUI License, a BSD-style license with a branding clause. v0.12.3 published October 16, 2026 | Small teams or pilots with up to 50 end users in any rolling 30 day period without branding changes | Branding clause limits altering or removing branding beyond that threshold unless you obtain written permission or another listed exception applies. Confirm the terms with counsel before rollout. |
| LibreChat | MIT. Latest tagged version v0.8.8 | Organizations that want a permissively licensed, multi-model chat interface and can customize branding freely | Requires a team to maintain the deployment, identity integration and upgrades. Confirm the SSO and access control options you need against the current release. |
| AnythingLLM | MIT. v1.18.0 published October 13, 2026 | Teams that want chat plus document workspaces in one permissively licensed package | Document workspace features add data handling scope. Confirm how workspace permissions map to your existing access groups before expanding. |
| Dify | Modified Apache License 2.0. Dify 1.17.1 published September 10, 2026 | Internal application builders who will not offer the platform as a multi-tenant service to third parties | A commercial license is required to operate a multi-tenant service from the source code. Confirm your deployment model with the license terms before selecting it. |
| Ollama (serving layer) | MIT. v0.40.5 published October 14, 2026 | Small to mid-sized internal deployments serving a limited set of local models to a few hundred users or fewer, or developer and pilot use | Low setup effort for model hosting, but concurrency and throughput are limited compared with dedicated serving engines. Load test against expected peak use. |
| vLLM (serving layer) | Apache-2.0. v0.31.0 published October 5, 2026 | High-concurrency production serving of open-weight models on dedicated GPU hosts | Needs GPU platform expertise for sizing, batching, model loading and upgrades. GPU hardware is the largest recurring cost driver; ask any partner for a sizing test on your own workload. |
How the architecture changes across cloud, data center and air-gapped deployments
In a public cloud account, GPU instances usually run inside a virtual network that your organization controls, and the chat interface, model server and vector or session storage sit alongside them. The main architectural question is not whether the data leaves your account, but which provider services are in the request path and who can administer the underlying hosts. Model weights are typically pulled from an object store or a model registry in the same account, which makes updates a controlled copy operation. The identity provider is reached over the public internet or a private connection, and the chat front end handles the OIDC or SAML exchange.
- GPU placement: Instances are chosen from the provider's GPU families in one or more availability zones, so capacity availability and quota limits shape the design.
- Weight transfer: Weights are copied into object storage under your account, then pulled by the model server at startup, with checksums recorded for each version.
- Identity provider reach: The front end calls the IdP over an outbound route, so egress rules, DNS and TLS certificates must be planned.
- Provider-side logging: Control plane logs, flow logs and storage access logs are generated by the provider and need retention settings you configure.
- Vendor confirmation: Confirm GPU instance availability, regional data residency terms, and whether any managed service in the path retains prompts.
Before committing, ask your cloud provider in writing which regions and GPU types you can use, what they store about your traffic, and which support staff can access your hosts.",
In a private data center, the GPU servers, model store and chat services run on hardware your organization or its colocation provider owns and operates. Network segmentation between the user tier, the inference tier and the storage tier becomes the main control, and power, cooling and rack space set the practical ceiling on how many GPUs you can add. Model weights usually arrive through an internal artifact repository after being downloaded on a controlled staging host, scanned, and moved across an approved transfer path. The identity provider is typically an internal service, so the design depends on reachability from the chat tier rather than on public routes.
- GPU placement: GPU servers sit in a dedicated zone with defined driver versions, and placement is recorded in your asset inventory.
- Weight transfer: Weights move from a staging host through an internal artifact store, with hash verification and a documented change record for each update.
- Identity provider reach: The chat tier needs firewall rules to the directory and IdP, and certificate chains must include your internal certificate authority.
- Hardware lifecycle: Driver, firmware and CUDA or ROCm compatibility with the serving engine must be tested before each upgrade.
- Vendor confirmation: Confirm GPU driver support matrices, supported serving engine versions and warranty terms with the hardware vendor and colocation provider.
Ask your hardware vendor which GPU models and driver branches are certified for the serving engine version you plan to run, and get that in writing with the quote.
In an air-gapped network, there is no route to the public internet, so everything the system needs must be brought in deliberately: container images, Python and system packages, model weights, and updates to the chat front end. The GPU hosts, the identity provider and the logging stack all live inside the enclosure, and the data path never leaves it. Transfer is the central operational problem. Each import is a controlled event that needs a documented source, integrity checks, malware scanning and an approval record, and each update must be rebuilt or re-pulled through the same path. Identity is usually handled by an internal directory, and external identity federation is not available unless the enclave provides a controlled gateway.
- GPU placement: GPU hosts sit in the enclave with no outbound route, and any management access runs through a jump host inside the boundary.
- Weight transfer: Model files and image bundles cross a controlled import process, with hash manifests, signature checks where available, and a retained record of who approved each import.
- Identity provider reach: The IdP must be inside the enclave, and SSO configuration uses local DNS, internal certificates and reachable directory endpoints.
- Dependency pinning: Packages and images are mirrored internally, so the team must keep a versioned mirror that matches the tested release.
- Vendor confirmation: Confirm offline licensing terms, whether the chosen front end and serving engine phone home or check for updates, and which model licenses allow redistribution inside your enclave.
Ask your implementation partner and each vendor to state in writing which components make outbound calls by default and how to disable them in an offline build.
Reference architecture components and how they connect
A private chat deployment is a short chain: a browser reaches the chat front end, which authenticates the user and sends prompts to a model server, with conversations and uploads stored in your own database and object storage. Each component below has one job in that path, and most of the design decisions sit at the boundaries between them.
Chat front end
Open WebUI or LibreChat provides the ChatGPT-style interface, model selection, conversation history and file uploads. It is the only component most staff touch, so it carries the user experience and the first access control decision. Check whether the chosen front end keeps branding intact under its license terms, because Open WebUI's license restricts removing its branding beyond a small user threshold. LibreChat is MIT licensed, which changes that conversation. Confirm both against your user count before you choose.
Model serving layer
Ollama or vLLM loads the open-weight models and answers inference requests from the front end. Ollama suits smaller teams and single-node hosts, while vLLM is built for higher-throughput serving on GPUs. Sizing depends on the model, context length and concurrent users, so ask for a load test on your own hardware rather than relying on vendor throughput claims. Keep this layer on a private network segment with no outbound internet access.
Identity provider and SSO
An OIDC or SAML identity provider, such as your corporate directory, authenticates staff and passes group claims to the chat front end. Those groups decide who can reach which models, who can create shared assistants and who can see administrative settings. Confirm that the chosen front end maps groups to roles, that deprovisioned users lose access to existing sessions, and that service accounts for automation are separate from personal logins.
Database and object storage
A relational database stores users, settings, conversation metadata and access rules, while object storage holds uploaded files and document attachments. Both hold regulated content once staff start pasting customer records, so they inherit your data classification and encryption requirements. Ask who owns backup and restore for each store, how deletion propagates to backups, and whether conversation exports are logged.
Optional LLM gateway
LiteLLM can sit between the front end and the model servers to route requests, issue per-team keys, enforce budgets and record usage. It becomes valuable when you run several models, mix local and external providers or need cost allocation by department. Adding it also adds a service to patch, a point of failure to make highly available and a second place where prompts may be logged, so decide its scope before the pilot.
Logging and audit trail
Structured logs record who asked what, which model answered, when and with what result, and they feed your security monitoring and any record-keeping duties. Decide what is stored in full text, what is stored as metadata only and how long each category is kept. Under the EU AI Act, high-risk systems must allow automatic event recording and keep logs for at least six months, so confirm whether your use case falls in scope before setting retention.
How SSO, group mapping and access control work in practice
Access to a private LLM chat is decided at sign-in, but it is enforced in three separate places: which identity the platform accepts, which group or role claims it reads from that identity, and how those claims are translated into permissions on models, tools and document collections. Each of these layers needs its own check before rollout, because a correct login page does not guarantee that a finance analyst sees only the models approved for finance. Start by confirming with the chosen project whether it supports OIDC, SAML or both, and whether it can read group membership from the token or must call the identity provider separately.
Group claims are the usual control point. Your identity provider emits a claim such as groups or roles, and the chat platform maps those values to local roles or workspaces. Confirm three things with the project and your own tests: whether role mapping is set by configuration or only through the admin interface, whether removing a user from a group revokes access on the next sign-in or only after a session expires, and whether model access, tool access and knowledge collection access are controlled separately or through one shared role. Several open-source chat interfaces support some of these controls but not all, and the answer can change between versions, so treat the project's current documentation and a test tenant as the source of truth rather than this page.
Plan the mapping as a decision, not a default. Write down which groups may use which models (for example, a hosted-quality model on a restricted GPU pool versus a smaller model for general drafting), which document collections are shared and which are scoped to a team, and who approves changes to the mapping. Then run a short illustrative test: create one test user per group, sign in through each path, and confirm that the model list, tool list and collection list match the matrix. Record the results, because they become access evidence for your assessors. Ask the implementation partner to include this test in the acceptance criteria and to document any control that the platform cannot enforce, so you can compensate for it at the gateway or in the network.
What drives GPU and hosting cost for a private LLM chat
How does GPU type and count affect the cost of a private LLM chat?
GPU type and count usually sets the largest hardware line item, because the GPUs must hold model weights and serve answers at acceptable speed. Cost rises with memory per card, the number of cards needed to host the chosen model, and whether you buy or rent. Owned hardware is a one-time purchase plus power, cooling, rack space and maintenance, which recur. Rented cloud GPUs shift most of the cost into a recurring hourly or monthly charge. Ask for a written quote that lists each GPU model, card count, memory per card, and whether the price assumes purchase, reserved capacity or on-demand use. Confirm lead times and supply with your hardware vendor, since these change and affect the rollout date.
Does model size and quantization change the hosting bill?
Yes. Larger models need more GPU memory and more compute per answer, so they typically require more or larger cards. Quantization stores model weights at lower numeric precision, which reduces memory needs and can lower the number of GPUs required, usually at some cost to output quality. The trade-off must be tested on your own tasks before you size hardware. Ask the implementation partner to document which models were evaluated, the quantization format used, measured response quality on representative prompts, and the hardware each option needs. Model licenses also differ, so confirm the terms for each model you plan to serve.
How do concurrency and peak load change the number of GPUs needed?
Concurrency, meaning how many users generate answers at the same moment, determines how much serving capacity you need, while average usage matters less. Teams that all work during the same hours create peaks that can be several times the average load. You can add capacity by adding GPUs or replicas, or accept longer queues at peak. Engines such as Ollama and vLLM handle parallel requests differently, so load testing with your expected user count is the only reliable way to size the cluster. Ask the partner to show the load test results, the target response time under peak, and the number of GPUs each scenario requires.
What does high availability add to the cost of private LLM hosting?
High availability adds redundancy, which means extra GPU capacity, a second node or cluster, load balancing, and failover for the chat front end and database. These costs recur because idle standby capacity still draws power, rent or support contracts. The decision depends on whether a multi-hour outage stops critical work or only slows convenience use. Many organizations start with a single serving node and a tested restore procedure, then add redundancy once usage justifies it. Ask for the availability design as a separate line in the quote, so you can decide which tier to fund.
How much storage do conversations and uploads add to the cost?
Storage is usually a small share of the total, but it grows steadily and must be backed up and retained according to policy. Costs come from the database holding conversation history, the file store for uploaded documents, vector indexes if you use retrieval, and backup copies in separate locations. Retention settings decide how fast this grows and how long you pay for it. Logs kept for record-keeping may also need longer retention than chat history. Ask the partner to estimate storage growth from your expected usage, state the retention periods per data type, and price backups and restore testing separately.
What staff time does a private LLM chat need after launch?
Staff time covers operating the platform, applying updates, managing user access, watching capacity, handling incidents and reviewing model changes. Much of this effort recurs every month, and it is often underestimated because it is shared across infrastructure, security and application roles. Upgrades of the chat interface, serving engine and models each need testing before deployment. Decide early whether your own team will operate the system or whether a partner will provide ongoing support under a retainer. Ask the partner to list the operational tasks by role and frequency, and to name who is responsible for each.
Which private LLM chat costs are one-time and which recur?
One-time costs include hardware purchase, network and storage setup, initial configuration, single sign-on integration, security hardening and the first rollout to teams. Recurring costs include power, cooling, hosting or cloud GPU charges, licenses where a product or model requires them, support contracts, backups, model updates and staff time. Open-source software removes most license fees for the core platform, but licensing terms still matter for branding, multi-tenant use and commercial models. Ask for the quote in two groups, one-time and recurring, with the assumptions behind each figure, including the usage level it was sized for.
What should a written quote for private LLM hosting include?
A useful quote ties every price to a stated scope, so you can compare proposals and see what changes if requirements change. It should list the GPU hardware or rental assumptions, the models and serving engine, the number of users and expected peak concurrency, availability targets, storage and retention assumptions, integration and SSO work, documentation, training, and ongoing support. It should also separate one-time work from recurring charges and state what is excluded. DeployOpen does not publish a price list. Its fixed-scope engagements are agreed in writing before work starts, so ask any provider for the same breakdown before comparing totals.
Should you build in-house, use a partner or buy a SaaS chat assistant
This table compares three ways to run a private chat assistant: building on open source yourselves, open source delivered with an implementation partner, and a commercial SaaS assistant. Read each row as a question to answer for your organization, since the right model depends on where your data may sit, how much platform staff you can staff, and how long you expect to run the service. The main takeaway is that open source moves control and licensing duties to you, while SaaS moves operating effort and data location decisions to the vendor.
| Decision factor | In-house on open source | Open source with an implementation partner | Commercial SaaS assistant |
|---|---|---|---|
| Data location | Full control. Prompts, files and logs stay wherever you host the stack, including air-gapped networks. | Same hosting control as in-house, inside your cloud accounts or data centers. Confirm the partner never holds production data. | Depends on the vendor's regions and subprocessors. Confirm data residency, training use and deletion terms in writing. |
| Internal effort | Your team owns installation, upgrades, GPU drivers, backups and on-call support. | Partner handles build, hardening and handover. Your team still needs an owner for day-to-day operations. | Low platform effort. Your team manages users, policies and prompt governance. |
| Cost structure | Mostly one-time build time plus recurring GPU, hosting and staff time. Confirm how much of the GPU spend is idle capacity. | One-time implementation fee plus the same recurring infrastructure and staff costs. Ask what support retainer is included. | Recurring per-seat or usage fees. Confirm how fees change with heavy use and whether model upgrades are included. |
| Licensing obligations | You must check each component license, including Open WebUI branding rules and any enterprise-only directories. | Same license checks, with the partner documenting which terms apply to your deployment. Confirm this in the statement of work. | Governed by the vendor contract. Confirm indemnity, service levels and any limits on model or data use. |
| Model choice | Any open model you can run on your hardware, subject to its own license terms. | Any open model the partner validates for your hardware and use case. Confirm model license review. | Limited to the models the vendor offers. Confirm which models are available in your region. |
| Access control and SSO | You integrate identity provider, roles and audit settings. Confirm which SSO options your chosen interface supports. | Partner configures single sign-on and role mapping. Confirm group sync and deprovisioning tests are in scope. | Usually provided by the vendor. Confirm SCIM provisioning, audit log export and admin role separation. |
| Logging and record-keeping | You design what is logged, how long it is kept and who can read it. Confirm retention needs for any high-risk use case. | Partner sets logging and retention controls and documents them as evidence. Assessors still decide sufficiency. | Depends on vendor log retention and export. Confirm log content, retention period and access by vendor staff. |
| Exit options | High. You hold the data, configuration and models, but must plan a migration path yourself. | High if the partner documents the deployment and keeps configuration in your repositories. Confirm handover terms. | Lower. Confirm data export formats, conversation history export and contract termination assistance. |
How a private LLM chat rollout runs from pilot to all teams
The sequence moves from agreed data rules and a narrow pilot to hardened access, recorded retention and measured model quality before any wider team is onboarded. Each phase closes with a written output the security, compliance and platform owners can sign off.
Define requirements and classify data
The platform owner, security lead and business sponsors agree which use cases the assistant will serve and which data classes may enter a prompt, including whether uploaded files, chat history and customer records are in scope. Legal and compliance review the answers against internal policy and the regulations that apply to your sector. The output is a signed requirements note with a data classification table, an approved list of use cases and a named owner for each. Ask the partner to show how the classification will be enforced in the interface, not only described in a policy.
Stand up a pilot with one team and one model
Deploy Open WebUI or LibreChat in your own cloud account, data center or air-gapped network, serving one local model through Ollama or vLLM to a single team with a defined use case. Size the GPU and hosting footprint against the pilot's real request volume, and record what hardware, memory and storage the chosen model requires according to its vendor documentation. Confirm the license terms before any branding or wider distribution, since Open WebUI's clause 4 sets conditions on altering or removing its branding. The output is a running pilot environment, a usage baseline and a list of the questions the team actually asked.
Harden identity and access controls
Connect the chat front end to your identity provider through single sign-on, map groups to roles, and restrict which models, system prompts and file features each role can use. Remove local accounts that are not needed for break-glass administration, and test that a user who leaves a group loses access on the next sign-in. Verify administrative actions are limited to named operators and that secrets for model endpoints are held in a managed store rather than configuration files. The output is an access matrix, a tested offboarding path and a set of penetration test findings closed or accepted in writing.
Set retention and logging rules
Decide how long chat transcripts, uploaded documents, feedback ratings and model request logs are kept, who can read them, and how they are deleted. Where the assistant may support a high-risk system under the EU AI Act, confirm with counsel whether the automatic event recording described in Article 12 and the six-month minimum keeping period in Article 19 apply to your use, and design the log store to meet them. Test deletion end to end, including backups. The output is a retention schedule approved by compliance, a logging specification and a demonstrated deletion and log-retrieval procedure.
Evaluate candidate models on your tasks
Build a fixed test set from the pilot's real questions, with expected answer criteria written by the business owners rather than by the engineers. Run each candidate local model against the set, score accuracy, refusal behavior, language coverage and latency, and record the results alongside the hardware used. Repeat the evaluation after any model or prompt change. The output is a model evaluation report that states which model is approved for which data class, and the conditions under which it must be re-tested.
Roll out to additional teams in waves
Onboard teams in groups, each with its own short training note, approved use cases and a named champion who collects feedback. Monitor request volume, GPU utilization and error rates, and add capacity only when measurements show it is needed. Check that each new group's roles and retention rules are applied before access opens. The output is a rollout log by team, a capacity record and a list of unresolved feedback with owners.
Hand over operations and document the platform
Transfer runbooks for upgrades, model additions, backup and restore, access reviews and incident response to the internal operations team, and agree who owns each component, including the chat front end, the inference server and the logging store. Confirm which support, upgrade and testing services continue under a retainer and which end at handover. The output is an operations runbook set, a responsibility matrix and a dated access review schedule that the internal team has rehearsed at least once.
Which systems the private LLM chat must connect to
A private chat assistant is only as useful and as governable as its connections. Identity, document stores, the gateway, logging and collaboration tools each carry access rights or audit data that the assistant inherits, so each connection needs an owner before go-live.
Identity provider
Single sign-on decides who can open the chat, which models they can use and which workspaces or shared prompts they see. Map identity provider groups to chat roles during design, not after launch. Confirm whether the chosen interface supports OIDC or SAML, how group claims are passed through, and how deprovisioning removes access to stored conversations. Your identity team typically owns the client registration and group mapping, while the platform team maintains the claim configuration after handover.
Document stores for retrieval
If staff can attach or query internal files, the chat inherits the permissions of those file stores. Decide whether retrieval runs through a separate knowledge assistant or through the chat's own document features, and confirm that source-level permissions are enforced at query time, not only at upload. Shared drives, wikis and ticket attachments each need their own sync rules. Ongoing ownership of connectors usually sits with the team that owns each source system.
API gateway and model routing
Routing chat traffic through a gateway gives one place for keys, rate limits, budgets and request logging across Ollama, vLLM and any external providers. Decide whether the chat calls models directly or through the gateway, because that choice determines where usage is logged. Confirm which key rotation and quota features your gateway supports. The API team usually operates the gateway, and the chat team maintains the model endpoint list.
SIEM and log platform
Security teams need authentication events, administrative changes and prompt-level audit records in the SIEM. Define which fields are exported, how long they are kept, and whether prompts and responses are stored in full or redacted. Log volume grows with usage, so agree on sampling and retention before rollout. The security operations team typically owns the parsers and alert rules, and the platform team owns the log shipping.
Ticketing and collaboration tools
Staff often want answers posted to chat channels or drafted tickets from a conversation. Each write path creates a new data flow outside the chat, so scope it narrowly: which channels, which projects, and who may trigger posts. Use service accounts with minimal scopes instead of personal tokens. Ongoing maintenance of these integrations falls to the application owners of the collaboration suite, and changes to their APIs can break them without notice.
Observability stack
Traces of latency, token use and errors help operators size GPUs and find failing models, but traces can also capture prompt content. Decide which fields reach the observability platform and who can view them. Confirm retention settings for traces separately from audit logs, since they answer different questions. Platform engineering usually owns the collector and dashboards, and the same team should review trace content rules every time a model or interface is upgraded.
How logs and retention support EU AI Act record-keeping duties
Article 12(1) of the EU AI Act requires high-risk AI systems to technically allow for the automatic recording of events (logs) over the lifetime of the system. Article 19(1) then requires providers to keep those logs for at least six months, unless other law provides a longer or different period. For a private chat deployment, this means the logging design has to exist before go-live, not be added after an incident or an assessment. Whether these duties apply at all depends on how the assistant is used, not on the fact that it runs on your own infrastructure. A general staff assistant for drafting and summarizing may fall outside the high-risk categories, while a tool used to support decisions about employees, customers or access to services may not. Confirm the classification with legal counsel before you define the log scope.
Once classification is settled, the platform team and the business need to decide what the chat stack records. In Open WebUI or LibreChat, the relevant records typically sit across the front end, the database holding conversations and user accounts, the model server (Ollama or vLLM) and any gateway in front of it. Check which of these produce logs, where they are written, who can read them and whether a user can delete a conversation that the system must keep. Decide with the business whether prompts and responses are stored in full, stored with redaction, or kept only as metadata such as user, model, time and token counts. Each choice changes both the evidence you can produce and the personal data you must protect, so align it with your data protection officer. Also confirm whether the platform's retention settings can be enforced centrally and whether deleted conversations are removed from backups on a defined schedule.
Which compliance frameworks this platform helps produce evidence for
A self-hosted chat assistant touches identity, access, logging and data handling, so the same configuration often produces evidence for several frameworks at once. The cards below connect each framework to the controls that matter most for a private LLM chat deployment and the checks to run before an assessor asks. DeployOpen prepares the systems, settings and evidence, but independent auditors and certification bodies issue any attestation or certification.
ISO/IEC 27001 access control
The access control controls in Annex A cover who can sign in, what roles they hold and how access is removed. For a private chat service, this means tying sign-in to your identity provider, mapping groups to roles inside the chat application, and keeping admin rights separate from end users. Check that joiner, mover and leaver changes flow from the directory rather than manual edits in the chat tool, and keep a dated record of role assignments for the assessor. Confirm the exact control wording with the standard itself.
ISO/IEC 27001 logging controls
The logging and monitoring controls expect that user activity and administrative actions are recorded, protected from tampering and reviewed. In a private LLM chat, decide which events matter: sign-ins, role changes, model and prompt configuration edits, and whether prompts and responses are stored at all. Send authentication and admin logs to a central store with restricted write access, and agree with the assessor which records count as evidence before the first review cycle.
SOC 2 access and change management
SOC 2 criteria on logical access and change management ask whether access is granted, reviewed and removed under documented control, and whether changes to systems are authorized and tested. For this platform, that covers reviews of who has access to which models and knowledge sources, and a change record for model version swaps, system prompt edits and plugin or connector additions. Ask your auditor which evidence period and sampling approach they will use before you configure the change pipeline.
GDPR data protection needs
Where staff prompts contain personal data, GDPR principles such as purpose limitation, storage limitation and security of processing apply to the chat service. Self-hosting keeps prompts inside your environment, but it does not remove the duty to define retention periods, delete chat histories on request and restrict access to stored conversations. Document where conversation data lives, who can export it and how deletion is verified, and confirm with your data protection officer whether a data protection impact assessment is needed.
HIPAA safeguards for health data
If staff may paste protected health information into the assistant, the HIPAA Security Rule safeguards for access control, audit controls and transmission security apply to the deployment. Confirm with counsel whether your organization acts as a covered entity or business associate, and whether any model hosting or vector store component handles that data. Limit model and logging configurations to what the safeguards require, and do not assume a self-hosted model meets the rule without a documented risk analysis.
EU AI Act record-keeping duties
Where the assistant falls into a high-risk category, Article 12 requires technical support for automatic event logs over the system's lifetime, and Article 19 requires providers to keep those logs for at least six months unless other law sets a longer period. Most internal chat assistants are not high-risk by default, so first confirm the classification for your use case. If it applies, plan log retention, storage and access before go-live, not after.
Questions to ask an implementation partner before you sign
Start with the written scope, because most disputes on a private chat deployment trace back to what was assumed rather than what was signed. Ask the partner to list which chat front end is in scope, whether that is Open WebUI or LibreChat, and which inference engine serves the models, Ollama or vLLM. Then ask which models, which GPU classes and how many concurrent users the design assumes, and who sizes the hardware if the answer changes after pilot testing. Ask whether the scope covers the hosting of the front end, the model servers, the database and object storage, backups and the upgrade path, and whether anything is excluded, such as a vector store for documents or a gateway in front of the models. A fixed-scope agreement should name each of those items and the acceptance test for it.
Next, ask how SSO and group mapping will be tested, since an assistant that admits the wrong people is a data exposure, not a convenience problem. Ask which identity provider and protocol will be used, how user groups from the directory map to roles in the chat application, and whether a test plan covers users who leave a group, users in more than one group and accounts that should have no model access at all. Ask who holds the administrator role at go-live and how it is recorded. On retention, ask for the written procedure for chat history, uploaded files, model server logs and backups, including how a user's data is deleted on request and how deletion is verified in backups. Ask whether the partner will document the retention settings that the chat front end exposes, and what the organization must decide itself, such as the retention period for records it may need to keep.
Finally, ask for a licensing review before any build begins, and for the upgrade, patch and handover commitments in writing. Open WebUI is distributed under a BSD-style license with a branding clause, so ask the partner to explain in writing whether your deployment falls inside the exceptions in that clause and, if not, what written permission would be needed, and to review LibreChat's MIT terms and every other component in the stack. Ask how security patches to the chat front end, the inference engine and the operating system are tested and rolled back, and what support retainers cover in response times, model updates and monitoring. Confirm that the handover package includes runbooks, configuration records and access lists your own staff can run. Ask the partner to name what they will not do, because that list shows where your team will carry the work.
Common questions about cost, effort and time for a private LLM chat
Can our own engineers build a private LLM chat without a partner?
Yes, a capable platform team can deploy Open WebUI or LibreChat with Ollama or vLLM, but the work is more than installing containers. The team needs to own the model serving layer, identity integration, backups, upgrades and monitoring, and to decide who answers when the assistant misbehaves. Most of the risk sits in the parts that are not installation: access control mapped to your directory groups, retention settings that match your policy, and a documented upgrade path. Before starting, list the people who will carry each of those tasks after launch, and check whether they have the time to do it alongside their current work.
What does a private LLM chat cost to run each month?
The cost has three main parts, and only some of them recur. Hardware or cloud GPU capacity for model serving is the largest and recurs for as long as the service runs. Hosting for the chat interface, database, storage and backups is smaller and also recurs. Implementation labor, including SSO setup, testing and rollout, is one-time, while support and upgrades are ongoing. GPU size depends on the models you choose, how many users chat at the same time and the context length they use. No supplied figures fix these numbers, so ask any provider to show the GPU type, count, hours and storage assumptions behind its estimate, and to separate one-time and recurring lines.
How does licensing change what we can roll out?
The license of the chat interface decides whether you can brand it, extend it and how many people can use it without extra terms. Open WebUI is distributed under the Open WebUI License, which restricts altering or removing its branding unless a listed exception applies, such as deployments with no more than 50 end users in any rolling 30 day period or written permission. LibreChat is MIT licensed. Ollama is MIT and vLLM is Apache-2.0, but the model weights you run carry their own terms, which must be checked separately. Read the license text for your exact version and confirm with your legal team before a company-wide rollout.
How long does setup take before staff can use the assistant?
Setup time depends mainly on the number of integrations and on how much of the environment already exists. A pilot on a single server with local accounts can be prepared quickly, but a production service with SSO, group-based access, approved model choices, logging and backups usually takes longer, and the GPU procurement lead time can dominate the schedule. Rollout to teams adds time for training, feedback and policy sign-off. Ask any partner to split the timeline into phases with named exit criteria, and to state which dependencies, such as hardware delivery or identity changes, sit outside its control.
What does a fixed-scope engagement for this cover?
DeployOpen plans, implements, integrates, hardens, backs up, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For a private LLM chat, a fixed-scope engagement would typically set out the model serving setup, the chat interface, SSO and access control, retention and backup configuration, testing and handover documentation. Scope, deliverables and timelines are agreed in writing before work starts. Ongoing support, upgrades and continuous testing are available as retainers, so the post-launch work can be priced separately from the build.
What should we ask for in a quote for this?
A useful quote lists every cost line and the assumptions behind it, so you can compare options fairly. Ask for:
- The written scope, deliverables and acceptance criteria
- The hardware or cloud GPU sizing, with model names, user counts and concurrency assumed
- Which costs are one-time and which recur, including support and upgrades
- How SSO, retention and backup requirements are covered
- Licensing checks for the chat interface and the model weights
- The phases, dependencies and what the client team must provide
DeployOpen does not publish a price list, and a quote follows from the written scope. Ask for the same breakdown from every bidder so the comparison is like for like.
Which data retention and logging decisions affect our effort?
Retention settings change storage cost and the compliance evidence you hold. If the assistant could fall within the scope of high-risk AI rules, Article 12(1) of the EU AI Act requires that automatic recording of events be technically possible over the system's lifetime, and Article 19(1) requires providers to keep those logs for at least six months unless other law provides otherwise. Deciding what to log, how long to keep conversations and who can read them takes legal and security input before the build starts. Confirm with counsel whether the rules apply to your use case, because the answer shapes the storage and access work.
How DeployOpen scopes, builds, hands over and supports a private LLM chat
DeployOpen plans, implements, customizes, integrates, hardens, documents and supports self-hosted open-source chat platforms inside your own cloud accounts, data centers or air-gapped networks. For a private LLM chat, that means the assistant, the model servers and the access controls run in infrastructure you control, with the work agreed in writing before it starts.
How we scope
- Written scope covering the chat interface, the model serving layer, identity integration and the teams in the first rollout
- Decisions on Open WebUI or LibreChat, and on Ollama or vLLM, recorded with the licensing and hosting reasons
- Agreed retention periods for chat history, uploaded files and logs, confirmed with your legal and compliance owners
- Engagements are fixed-scope, with deliverables and timelines agreed in writing before work starts
How we build
- Deployment into your environment, with GPU node sizing confirmed against the models your teams need
- SSO integration and role mapping so access follows your existing identity groups and offboarding rules
- Hardening and security testing of the chat application, its APIs and the model endpoints before users onboard
- Configuration of usage logging and retention settings, documented so your compliance team can review them
How we hand over
- Runbooks covering installation, upgrades, backups, model updates and restore procedures in your environment
- Documentation of access controls, retention settings and logging configuration as compliance evidence inputs
- Knowledge transfer sessions with the platform, security and service desk staff who will operate the system
- A handover checklist confirming which operational tasks sit with your team and which move to a retainer
How we support
- Ongoing support, upgrades and continuous testing available as a retainer, scoped separately from the build
- Planned upgrades of Open WebUI or LibreChat, Ollama or vLLM, with testing before each change reaches users
- Periodic security testing of the chat application and AI endpoints, with findings tracked to closure
- Review of licensing terms whenever a platform version or deployment model changes for your organization

