Repository navigation
Scenario Confidential Content on Trusted Providers
Goal: For everyday tasks, your colleagues may use cloud models you approved. Confidential content, such as your internal knowledge bases and wiki, reaches only your own servers, and no tool carries it out again.
You need: at least one self-hosted language model for confidential content, the cloud providers you approved, and, for internal knowledge, ERI servers or a Confluence Data Center wiki.
| What | How |
|---|---|
| Approved cloud providers are usable, others aren't | A CUSTOM scheme: your servers HIGH, approved cloud types MEDIUM, every type you leave out gets "Unknown" |
| Nothing unknown | A global minimum of MEDIUM
|
| Confidential knowledge bases only on your servers | ERI data sources with the security policy SELF_HOSTED
|
| The internal wiki only on your servers | Search Confluence always requires HIGH, which only your servers have |
| No tool carries internal content out | Outbound restrictions for data sources and internal pages |
| Confidential documents in the Document Analysis Assistant | Policies with MinimumProviderConfidence = "HIGH"
|
The header is the same as in Writing Configuration Plugins. Replace <PROVIDER_KEY> with the key of each approved cloud provider type, as the example plugin lists them.
CONFIG = {}
CONFIG["LLM_PROVIDERS"] = {}
-- Your own server, for confidential content:
CONFIG["LLM_PROVIDERS"][#CONFIG["LLM_PROVIDERS"]+1] = {
["Id"] = "4f6b3a8e-2d4c-4b1a-9e5f-7a8b9c0d1e2f",
["InstanceName"] = "Internal model (confidential content)",
["UsedLLMProvider"] = "SELF_HOSTED",
["Host"] = "VLLM",
["Hostname"] = "https://llm.intra.example.org",
["AdditionalJsonApiParameters"] = "",
["Model"] = {
["Id"] = "openai/gpt-oss-120b",
["DisplayName"] = "GPT OSS 120B",
},
}
-- An approved cloud provider, for everyday tasks:
CONFIG["LLM_PROVIDERS"][#CONFIG["LLM_PROVIDERS"]+1] = {
["Id"] = "7c9e6d1b-5a7f-4e4d-8b8c-0d1e2f3a4b5c",
["InstanceName"] = "Cloud model (no confidential content)",
["UsedLLMProvider"] = "<PROVIDER_KEY>",
["Host"] = "NONE",
["Hostname"] = "",
["APIKey"] = "ENC:v2:<the encrypted key from your export>",
["AdditionalJsonApiParameters"] = "",
["Model"] = {
["Id"] = "<model ID>",
["DisplayName"] = "<model name>",
},
}
CONFIG["DATA_SOURCES"] = {}
CONFIG["DATA_SOURCES"][#CONFIG["DATA_SOURCES"]+1] = {
["Id"] = "6a1d2c3b-4e5f-4a6b-8c7d-9e0f1a2b3c4d",
["Name"] = "Project archive",
["Type"] = "ERI_V1",
["Hostname"] = "https://eri.intra.example.org",
["Port"] = 443,
["AuthMethod"] = "TOKEN",
["Token"] = "ENC:v2:<the encrypted token from your export>",
["SecurityPolicy"] = "SELF_HOSTED",
["SelectedRetrievalId"] = "<retrieval process ID from the ERI server>",
["MaxMatches"] = 10,
}
CONFIG["SETTINGS"] = {}
-- Data sources are a preview feature:
CONFIG["SETTINGS"]["DataApp.EnabledPreviewFeatures"] = { "PRE_RAG_2024" }
-- Your servers high, approved cloud types medium, everything else unknown:
CONFIG["SETTINGS"]["DataConfidence.ConfidenceScheme"] = "CUSTOM"
CONFIG["SETTINGS"]["DataConfidence.CustomConfidenceScheme"] = {
["SELF_HOSTED"] = "HIGH",
["<PROVIDER_KEY>"] = "MEDIUM",
}
CONFIG["SETTINGS"]["DataConfidence.EnforceGlobalMinimumConfidence"] = true
CONFIG["SETTINGS"]["DataConfidence.GlobalMinimumConfidence"] = "MEDIUM"
-- Users may add providers of their own, but only approved types are usable:
CONFIG["SETTINGS"]["DataApp.AllowUserToAddProvider"] = true
-- Content from data sources stays with configured services, at least for links:
CONFIG["SETTINGS"]["DataSourceSecuritySettings.MinimumOutboundDataRestriction"] = "ONLY_LINKS_FROM_CHAT"
-- The internal wiki and internal pages:
CONFIG["SETTINGS"]["DataTools.LockedToolSettings"] = {
["search_confluence.baseUrl"] = "https://wiki.intra.example.org/confluence/",
["read_web_page.allowedPrivateHosts"] = "wiki.intra.example.org",
["read_web_page.internalPageOutboundDataRestriction"] = "ONLY_CONFIGURED_SERVICES",
}
-- Everyday work starts in the cloud:
CONFIG["SETTINGS"]["DataApp.PreselectedProvider"] = "7c9e6d1b-5a7f-4e4d-8b8c-0d1e2f3a4b5c"
CONFIG["SETTINGS"]["DataApp.PreselectedProvider.AllowUserOverride"] = trueAdd a document analysis policy with ["MinimumProviderConfidence"] = "HIGH" for each kind of confidential document, see Assistants and Templates.
- The provider selection offers your server and the approved cloud provider. AI Studio doesn't offer providers of other types that users added themselves.
- In a chat with the project archive, only your server can answer. The confidence card explains why.
- Once a chat found something in the archive or read a wiki page, web search is no longer available in that chat.
- Stage the configuration on a test device, see Testing and Exporting Configurations.
- Start a chat with the cloud provider and select the project archive as data source: AI Studio doesn't let the cloud provider see it.
- Switch to your server, ask about the archive, then try a web search in the same chat: it's no longer offered.
- Add a provider of a type you didn't approve: the provider selection doesn't offer it.
- Local files and folders as data sources: each has a required confidence, which users set when they add it. You can't enforce it centrally. Tell your users to set "High" for confidential folders, so that only your servers see them.
- Assistants: the global minimum applies to all of them. A higher minimum can be managed centrally only for a few, see Assistants and Templates.
-
Confidence belongs to a type. A provider that a user adds with a private account of an approved type gets
MEDIUMas well. If that's not acceptable, don't let users add providers of that type.
Describes MindWork AI Studio v26.10.1 · Found a mistake? Open an issue
User guide
Basics
Chat
Assistants
- Overview
- General
- Business
- Learning
- Software Engineering
- AI Studio Development
More
Enterprise IT
Deployment
Configuring
Topics
- Providers and API Keys
- Confidence and Data Security
- Assistants and Templates
- Tools and Web Access
- Labeling and Usage Statistics
- Managing Backups
Scenarios and help
Developers
Deutsch