{
  "schemaVersion": 1,
  "rubricVersion": "1.1",
  "kind": "pair",
  "slug": "dust-vs-open-webui",
  "canonicalUrl": "https://onaihq.com/compare/agents/dust-vs-open-webui/",
  "markdownUrl": "https://onaihq.com/compare/agents/dust-vs-open-webui/index.md",
  "dataUrl": "https://onaihq.com/compare/agents/dust-vs-open-webui/data.json",
  "generatedAt": "2026-10-27",
  "lastCheckedAt": "2026-10-26",
  "lastCrossCheckedAt": "2026-10-26",
  "nextCheckAt": "2026-12-20",
  "publisher": {
    "name": "onAI",
    "url": "https://onaihq.com",
    "marketParticipant": true,
    "editorialControl": "onAI selects the products, rubric, sources and wording, including for comparisons that do not include onAI.",
    "disclosure": "Published by onAI. onAI also sells one of the products compared here. Findings about other products link to public sources so you can check them; statements about onAI are marked as stated by onAI."
  },
  "products": [
    {
      "id": "dust",
      "name": "Dust",
      "website": "https://dust.tt",
      "repository": "https://github.com/dust-tt/dust",
      "pageUrl": "https://onaihq.com/compare/agents/products/dust/",
      "lifecycle": {
        "status": "unknown",
        "note": null
      },
      "surfaces": [
        {
          "id": "web",
          "name": "Dust web workspace",
          "type": "web-app"
        },
        {
          "id": "eu-web",
          "name": "Dust EU web workspace",
          "type": "web-app"
        },
        {
          "id": "enterprise-single",
          "name": "Dust Enterprise single-tenant deployment",
          "type": "managed-server"
        },
        {
          "id": "extension",
          "name": "Dust browser extension",
          "type": "browser-extension"
        },
        {
          "id": "teams",
          "name": "Dust in Microsoft Teams",
          "type": "teams-app"
        },
        {
          "id": "api",
          "name": "Dust APIs and MCP server",
          "type": "api"
        },
        {
          "id": "source-repository",
          "name": "Public dust-tt/dust repository root licence",
          "type": "source-repository"
        }
      ],
      "sourcedClaimCount": 48,
      "statedByVendorCount": 0,
      "crossCheckedClaimCount": 48,
      "sourcedOnlyClaimCount": 0,
      "oldestCheckedAt": "2026-10-21",
      "lastCheckedAt": "2026-10-21"
    },
    {
      "id": "open-webui",
      "name": "Open WebUI",
      "website": "https://openwebui.com",
      "repository": "https://github.com/open-webui/open-webui",
      "pageUrl": "https://onaihq.com/compare/agents/products/open-webui/",
      "lifecycle": {
        "status": "unknown",
        "note": null
      },
      "surfaces": [
        {
          "id": "self-hosted-web",
          "name": "Customer-operated web application and server",
          "type": "self-hosted-server"
        },
        {
          "id": "desktop",
          "name": "Open WebUI Desktop native distribution (Early Alpha)",
          "type": "desktop"
        }
      ],
      "sourcedClaimCount": 47,
      "statedByVendorCount": 0,
      "crossCheckedClaimCount": 47,
      "sourcedOnlyClaimCount": 0,
      "oldestCheckedAt": "2026-10-21",
      "lastCheckedAt": "2026-10-26"
    }
  ],
  "coverage": {
    "totalCriteria": 51,
    "sharedCrossCheckedCriteria": 44,
    "sharedSourcedCriteria": 44,
    "crossCheckedCriteriaByProduct": {
      "dust": 48,
      "open-webui": 47
    },
    "sourcedOnlyCriteriaByProduct": {
      "dust": 0,
      "open-webui": 0
    },
    "sourcedCriteriaByProduct": {
      "dust": 48,
      "open-webui": 47
    },
    "crossCheckedCriterionRows": 51,
    "sourcedOnlyCriterionRows": 0,
    "sourcedCriterionRows": 51,
    "statedByVendorRows": 0
  },
  "criteria": [
    {
      "id": "MOD-01",
      "title": "Model catalogue and providers",
      "group": {
        "id": 1,
        "name": "Models"
      },
      "judgment": "List each available model by provider and plan, including reasoning, fast and multimodal variants. Record whether the user picks the model, the product routes automatically, or both. A provider counts only if at least one of its current models is selectable on the scoped plan.",
      "questions": [
        {
          "id": "providers",
          "question": "Which model providers are available?"
        },
        {
          "id": "current_models",
          "question": "Which current models are selectable on this plan?"
        },
        {
          "id": "user_choice",
          "question": "Can users pick the model per chat?"
        },
        {
          "id": "auto_routing",
          "question": "Does the product route between models automatically, and is the chosen model shown?"
        },
        {
          "id": "multimodal_input",
          "question": "Which models accept images, audio or files?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:MOD-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Dust offers per-message model choice and ordered auto-model lists, with access-tier and region controls.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit plan (Free/Pro/Max); Enterprise model access inherits the published catalogue; model-tier and EU eligibility separately constrained",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "providers",
              "question": "Which model providers are available?",
              "support": "supported",
              "answer": "Docs list OpenAI, Anthropic, Google, Mistral and Fireworks-served models; exact enabled models depend on workspace and tier.",
              "evidenceIds": [
                "dust:dust:models",
                "dust:dust:eu-models"
              ]
            },
            {
              "id": "current_models",
              "question": "Which current models are selectable on this plan?",
              "support": "partial",
              "answer": "The model-selection document lists GPT6.1 Sol, Claude Opus5.5/Sonnet5.5, Gemini3.8 Flash and Mistral models. Gemini4 Argon is excluded from this current-EU availability finding: its release note conflicts with the EU table, and the documented authoritative picker flag was not observed. No complete current tenant catalogue is claimed.",
              "evidenceIds": [
                "dust:dust:models",
                "dust:dust:changelog",
                "dust:dust:eu-models",
                "dust:dust:pricing"
              ]
            },
            {
              "id": "user_choice",
              "question": "Can users pick the model per chat?",
              "support": "supported",
              "answer": "The composer chooses a model for the next message; Agent Builder sets a persistent agent default.",
              "evidenceIds": [
                "dust:dust:models"
              ]
            },
            {
              "id": "auto_routing",
              "question": "Does the product route between models automatically, and is the chosen model shown?",
              "support": "supported",
              "answer": "Basic/Standard/Premium use ordered candidate lists and availability fallback, not prompt-dependent task routing. A replacement indicator names the fallback during a detected outage.",
              "evidenceIds": [
                "dust:dust:models"
              ]
            },
            {
              "id": "multimodal_input",
              "question": "Which models accept images, audio or files?",
              "support": "partial",
              "answer": "Conversation files support images, documents and audio transcripts; the exact input capability for every current model is not fully tabulated.",
              "evidenceIds": [
                "dust:dust:files"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps.",
            "The catalogue finding is restricted to named documentation entries; conflicting Gemini4 Argon EU eligibility is an explicit gap."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:models",
            "dust:dust:eu-models",
            "dust:dust:changelog",
            "dust:dust:pricing",
            "dust:dust:files"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:MOD-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Customers connect local servers and cloud model endpoints and choose models in chat. The available catalog depends on their endpoints and credentials.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "providers",
              "question": "Which model providers are available?",
              "support": "partial",
              "answer": "Documented routes include OpenAI, Anthropic, Azure OpenAI, Mistral, DeepSeek and gateways such as OpenRouter; models must be enabled in the connected account. No endpoint was exercised.",
              "evidenceIds": [
                "open-webui:open-webui:provider",
                "open-webui:open-webui:compat"
              ]
            },
            {
              "id": "current_models",
              "question": "Which current models are selectable on this plan?",
              "support": "unknown",
              "answer": "current_models: Which current models are selectable on this plan? The provider guide contains example model names rather than an observed current endpoint catalog. Automatic routing and a current per-model modality matrix were not verified.",
              "evidenceIds": []
            },
            {
              "id": "user_choice",
              "question": "Can users pick the model per chat?",
              "support": "supported",
              "answer": "Users select connected models in the chat selector and can compare several models.",
              "evidenceIds": [
                "open-webui:open-webui:provider"
              ]
            },
            {
              "id": "auto_routing",
              "question": "Does the product route between models automatically, and is the chosen model shown?",
              "support": "unknown",
              "answer": "auto_routing: Does the product route between models automatically, and is the chosen model shown? The provider guide contains example model names rather than an observed current endpoint catalog. Automatic routing and a current per-model modality matrix were not verified.",
              "evidenceIds": []
            },
            {
              "id": "multimodal_input",
              "question": "Which models accept images, audio or files?",
              "support": "partial",
              "answer": "Vision and file context depend on the chosen model and configured extraction. No model-by-model audio/image acceptance matrix or fixture run was established.",
              "evidenceIds": [
                "open-webui:open-webui:rag",
                "open-webui:open-webui:extraction"
              ]
            }
          ],
          "limitations": [
            "providers: Documented routes include OpenAI, Anthropic, Azure OpenAI, Mistral, DeepSeek and gateways such as OpenRouter; models must be enabled in the connected account. No endpoint was exercised.",
            "current_models: Which current models are selectable on this plan? The provider guide contains example model names rather than an observed current endpoint catalog. Automatic routing and a current per-model modality matrix were not verified.",
            "auto_routing: Does the product route between models automatically, and is the chosen model shown? The provider guide contains example model names rather than an observed current endpoint catalog. Automatic routing and a current per-model modality matrix were not verified.",
            "multimodal_input: Vision and file context depend on the chosen model and configured extraction. No model-by-model audio/image acceptance matrix or fixture run was established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:provider",
            "open-webui:open-webui:compat",
            "open-webui:open-webui:rag",
            "open-webui:open-webui:extraction"
          ]
        }
      ]
    },
    {
      "id": "MOD-02",
      "title": "Model freshness",
      "group": {
        "id": 1,
        "name": "Models"
      },
      "judgment": "Measure the days from a provider's general release to availability in the product for the last three major releases from OpenAI, Anthropic and Google (and Mistral where offered). Use dated changelogs or observation. Record deprecation notice for retired models.",
      "questions": [
        {
          "id": "release_lag_days",
          "question": "What was the lag for each of the last three major releases, per provider?"
        },
        {
          "id": "changelog",
          "question": "Is there a dated public model changelog?"
        },
        {
          "id": "deprecation_notice",
          "question": "How much notice is given before a model is removed?"
        },
        {
          "id": "version_pinning",
          "question": "Can an admin keep an older model version?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:MOD-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "The public changelog and exact agent model selection are documented; release-lag and removal notice remain unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "release_lag_days",
              "question": "What was the lag for each of the last three major releases, per provider?",
              "support": "unknown",
              "answer": "What was the lag for each of the last three major releases, per provider? The dated changelog and model-selection docs were checked; last-three-release/provider lag measurements and a fixed advance deprecation-notice period were not established.",
              "evidenceIds": []
            },
            {
              "id": "changelog",
              "question": "Is there a dated public model changelog?",
              "support": "supported",
              "answer": "The public changelog contains dated model releases including Gemini 4 Argon on October 14, 2026.",
              "evidenceIds": [
                "dust:dust:changelog"
              ]
            },
            {
              "id": "deprecation_notice",
              "question": "How much notice is given before a model is removed?",
              "support": "unknown",
              "answer": "How much notice is given before a model is removed? The dated changelog and model-selection docs were checked; last-three-release/provider lag measurements and a fixed advance deprecation-notice period were not established.",
              "evidenceIds": []
            },
            {
              "id": "version_pinning",
              "question": "Can an admin keep an older model version?",
              "support": "partial",
              "answer": "An agent can select a specific model and keeps it until changed, subject to continued provider/workspace availability. No indefinite old-version entitlement is established.",
              "evidenceIds": [
                "dust:dust:models"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:changelog",
            "dust:dust:models"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:MOD-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Dated upstream releases are public. A measured three-release availability lag and model retirement notice remain unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "release_lag_days",
              "question": "What was the lag for each of the last three major releases, per provider?",
              "support": "unknown",
              "answer": "release_lag_days: What was the lag for each of the last three major releases, per provider? No matched dates for the last three major provider releases and endpoint availability were collected; no binding model-removal notice period was found in the release and provider guides.",
              "evidenceIds": []
            },
            {
              "id": "changelog",
              "question": "Is there a dated public model changelog?",
              "support": "partial",
              "answer": "GitHub release notes are dated and sometimes mention model/protocol changes; they are not a complete provider model availability timeline.",
              "evidenceIds": [
                "open-webui:open-webui:releases"
              ]
            },
            {
              "id": "deprecation_notice",
              "question": "How much notice is given before a model is removed?",
              "support": "unknown",
              "answer": "deprecation_notice: How much notice is given before a model is removed? No matched dates for the last three major provider releases and endpoint availability were collected; no binding model-removal notice period was found in the release and provider guides.",
              "evidenceIds": []
            },
            {
              "id": "version_pinning",
              "question": "Can an admin keep an older model version?",
              "support": "partial",
              "answer": "An admin can list explicit provider model/deployment IDs and keep a chosen local model. Provider removal still controls remote model availability.",
              "evidenceIds": [
                "open-webui:open-webui:openai",
                "open-webui:open-webui:provider"
              ]
            }
          ],
          "limitations": [
            "release_lag_days: What was the lag for each of the last three major releases, per provider? No matched dates for the last three major provider releases and endpoint availability were collected; no binding model-removal notice period was found in the release and provider guides.",
            "changelog: GitHub release notes are dated and sometimes mention model/protocol changes; they are not a complete provider model availability timeline.",
            "deprecation_notice: How much notice is given before a model is removed? No matched dates for the last three major provider releases and endpoint availability were collected; no binding model-removal notice period was found in the release and provider guides.",
            "version_pinning: An admin can list explicit provider model/deployment IDs and keep a chosen local model. Provider removal still controls remote model availability."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:releases",
            "open-webui:open-webui:openai",
            "open-webui:open-webui:provider"
          ]
        }
      ]
    },
    {
      "id": "MOD-03",
      "title": "Bring-your-own keys and provider contracts",
      "group": {
        "id": 1,
        "name": "Models"
      },
      "judgment": "Record customer-held API keys, customer cloud accounts (Azure OpenAI, Bedrock, Vertex), and aggregator routes (OpenRouter, LiteLLM) as separate routes. Record what still works without a vendor-provided model, whether prices change with BYO, and documented restrictions. API-key support does not imply support for the customer's own Azure contract.",
      "questions": [
        {
          "id": "own_api_keys",
          "question": "Can the customer use its own provider API keys?"
        },
        {
          "id": "own_cloud_contract",
          "question": "Can it use its own Azure OpenAI, Bedrock or Vertex deployment?"
        },
        {
          "id": "custom_endpoint",
          "question": "Can an admin add any OpenAI-compatible endpoint?"
        },
        {
          "id": "byo_pricing",
          "question": "Does BYO change the licence price?"
        },
        {
          "id": "byo_restrictions",
          "question": "Which features stop working with BYO?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:MOD-03",
          "verificationStatus": "not-published",
          "support": "not-published",
          "answer": "We found no public information on this. A missing finding is not evidence that the product lacks the capability.",
          "availability": null,
          "delivery": null,
          "scope": null,
          "questions": [],
          "limitations": [],
          "checkedAt": null,
          "crossCheckedAt": null,
          "nextCheckAt": null,
          "evidenceIds": []
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:MOD-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Customer-held keys, Azure deployments and compatible endpoints are documented. The standard software licence does not include provider usage.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [
              "Customer provider accounts or separately operated compatible gateway"
            ],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "own_api_keys",
              "question": "Can the customer use its own provider API keys?",
              "support": "supported",
              "answer": "Administrators supply customer provider keys in Connections.",
              "evidenceIds": [
                "open-webui:open-webui:openai",
                "open-webui:open-webui:compat"
              ]
            },
            {
              "id": "own_cloud_contract",
              "question": "Can it use its own Azure OpenAI, Bedrock or Vertex deployment?",
              "support": "supported",
              "answer": "Azure OpenAI is documented using the customer Azure endpoint, deployment names and API key. Bedrock is also documented through a compatible route; Vertex contract behavior was not separately verified.",
              "evidenceIds": [
                "open-webui:open-webui:openai",
                "open-webui:open-webui:compat"
              ]
            },
            {
              "id": "custom_endpoint",
              "question": "Can an admin add any OpenAI-compatible endpoint?",
              "support": "supported",
              "answer": "Administrators can set an OpenAI-compatible base URL and credentials.",
              "evidenceIds": [
                "open-webui:open-webui:compat"
              ]
            },
            {
              "id": "byo_pricing",
              "question": "Does BYO change the licence price?",
              "support": "supported",
              "answer": "Branding-intact standard use is free; external provider bills and optional Enterprise rights are separate.",
              "evidenceIds": [
                "open-webui:open-webui:enterprise"
              ]
            },
            {
              "id": "byo_restrictions",
              "question": "Which features stop working with BYO?",
              "support": "partial",
              "answer": "Compatibility and tools depend on the provider protocol and model. The sources do not promise identical functionality across all BYO endpoints.",
              "evidenceIds": [
                "open-webui:open-webui:compat",
                "open-webui:open-webui:models"
              ]
            }
          ],
          "limitations": [
            "byo_restrictions: Compatibility and tools depend on the provider protocol and model. The sources do not promise identical functionality across all BYO endpoints."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:openai",
            "open-webui:open-webui:compat",
            "open-webui:open-webui:enterprise",
            "open-webui:open-webui:models"
          ]
        }
      ]
    },
    {
      "id": "MOD-04",
      "title": "Local and self-hosted models",
      "group": {
        "id": 1,
        "name": "Models"
      },
      "judgment": "Record support for models running in the customer's environment (vLLM, Ollama, TGI or similar) and which features work with them: chat, RAG, tools, embeddings. Distinguish a documented, supported route from a generic endpoint that happens to work.",
      "questions": [
        {
          "id": "self_hosted_chat",
          "question": "Can chat use a customer-hosted model?"
        },
        {
          "id": "self_hosted_embeddings",
          "question": "Can retrieval use customer-hosted embeddings?"
        },
        {
          "id": "feature_parity",
          "question": "Which features fail with self-hosted models?"
        },
        {
          "id": "vendor_hosted_open_models",
          "question": "Does the vendor host open-weight models in EU/CH?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:MOD-04",
          "verificationStatus": "not-published",
          "support": "not-published",
          "answer": "We found no public information on this. A missing finding is not evidence that the product lacks the capability.",
          "availability": null,
          "delivery": null,
          "scope": null,
          "questions": [],
          "limitations": [],
          "checkedAt": null,
          "crossCheckedAt": null,
          "nextCheckAt": null,
          "evidenceIds": []
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:MOD-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Ollama, llama.cpp and vLLM are documented local inference routes; local retrieval requires local embedding and extraction services.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "self_hosted_chat",
              "question": "Can chat use a customer-hosted model?",
              "support": "supported",
              "answer": "Chat can use customer-operated Ollama, llama.cpp or vLLM endpoints.",
              "evidenceIds": [
                "open-webui:open-webui:provider"
              ]
            },
            {
              "id": "self_hosted_embeddings",
              "question": "Can retrieval use customer-hosted embeddings?",
              "support": "supported",
              "answer": "Retrieval can use local embedding models; the offline guide requires these assets to be downloaded before disconnecting.",
              "evidenceIds": [
                "open-webui:open-webui:rag",
                "open-webui:open-webui:offline"
              ]
            },
            {
              "id": "feature_parity",
              "question": "Which features fail with self-hosted models?",
              "support": "partial",
              "answer": "Local chat and RAG are possible. Tool reliability depends on model support, and online search, remote providers or cloud OCR require network access. No parity fixture was run.",
              "evidenceIds": [
                "open-webui:open-webui:offline",
                "open-webui:open-webui:memory"
              ]
            },
            {
              "id": "vendor_hosted_open_models",
              "question": "Does the vendor host open-weight models in EU/CH?",
              "support": "unknown",
              "answer": "vendor_hosted_open_models: Does the vendor host open-weight models in EU/CH? No first-party commitment to vendor-operated open-weight inference in EU or Switzerland was established in the deployment and provider guides.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "feature_parity: Local chat and RAG are possible. Tool reliability depends on model support, and online search, remote providers or cloud OCR require network access. No parity fixture was run.",
            "vendor_hosted_open_models: Does the vendor host open-weight models in EU/CH? No first-party commitment to vendor-operated open-weight inference in EU or Switzerland was established in the deployment and provider guides."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:provider",
            "open-webui:open-webui:rag",
            "open-webui:open-webui:offline",
            "open-webui:open-webui:memory"
          ]
        }
      ]
    },
    {
      "id": "MOD-05",
      "title": "Model control and usage limits",
      "group": {
        "id": 1,
        "name": "Models"
      },
      "judgment": "Record admin allow-lists per group, default models, restrictions on which models may see which data, and per-user rate or fair-use limits. Test one restriction with two users in different groups. Record limits as enforced stops, warnings or undocumented fair use.",
      "questions": [
        {
          "id": "model_allowlist_by_group",
          "question": "Can admins limit models per group?"
        },
        {
          "id": "data_bound_models",
          "question": "Can admins restrict which models receive connector or knowledge content?"
        },
        {
          "id": "default_model",
          "question": "Can admins set the default model?"
        },
        {
          "id": "user_limits",
          "question": "What per-user message or token limits apply, and are they published?"
        },
        {
          "id": "limit_behaviour",
          "question": "What happens when a limit is reached?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:MOD-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Admins cap models by workspace, group and member, with explicit published-agent exceptions and credit limits.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "model_allowlist_by_group",
              "question": "Can admins limit models per group?",
              "support": "supported",
              "answer": "Model access ceilings apply to the workspace, groups or individuals and cover reasoning efforts as well as auto selections.",
              "evidenceIds": [
                "dust:dust:tiers"
              ]
            },
            {
              "id": "data_bound_models",
              "question": "Can admins restrict which models receive connector or knowledge content?",
              "support": "partial",
              "answer": "EU-only mode restricts all active agents and pickers to EU-hosted models. Spaces bound knowledge and agent access; arbitrary per-data-class model rules were not established.",
              "evidenceIds": [
                "dust:dust:eu-models",
                "dust:dust:spaces"
              ]
            },
            {
              "id": "default_model",
              "question": "Can admins set the default model?",
              "support": "supported",
              "answer": "Builders configure an agent default, which may be exact or Basic/Standard/Premium. Composer changes do not edit it for others.",
              "evidenceIds": [
                "dust:dust:models"
              ]
            },
            {
              "id": "user_limits",
              "question": "What per-user message or token limits apply, and are they published?",
              "support": "supported",
              "answer": "Free seats have 500 lifetime credits, Pro 8,000/month and Max 40,000/month, plus applicable shared-pool rules and member spend limits.",
              "evidenceIds": [
                "dust:dust:credits",
                "dust:dust:credit-management"
              ]
            },
            {
              "id": "limit_behaviour",
              "question": "What happens when a limit is reached?",
              "support": "supported",
              "answer": "Members block when applicable sources/caps are exhausted. A message begun under a cap can finish above it; new messages then block. A separate root-task checkpoint can pause at 600 AWU.",
              "evidenceIds": [
                "dust:dust:credit-management",
                "dust:dust:credits"
              ]
            }
          ],
          "limitations": [
            "No two-user enforcement test. Published agents can run above member tiers if the separate admin setting permits it."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:tiers",
            "dust:dust:eu-models",
            "dust:dust:spaces",
            "dust:dust:models",
            "dust:dust:credits",
            "dust:dust:credit-management"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:MOD-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "User/group model grants are documented. Optional custom filters can limit request rates; built-in recurring token/message quotas and monetary budgets remain unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "New extension/locale findings inspected at v0.12.4 / 33c1978d5bad52a31df75ea55143025dfad18d16; earlier accepted documented facts retained",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "model_allowlist_by_group",
              "question": "Can admins limit models per group?",
              "support": "supported",
              "answer": "Private model grants can be assigned to users and groups. Permissions accumulate, so a second group may grant access.",
              "evidenceIds": [
                "open-webui:open-webui:groups"
              ]
            },
            {
              "id": "data_bound_models",
              "question": "Can admins restrict which models receive connector or knowledge content?",
              "support": "partial",
              "answer": "Knowledge attached to a model scopes its retrieval, while user/resource grants control access. This does not establish a hard policy binding each source to an allowed outbound provider.",
              "evidenceIds": [
                "open-webui:open-webui:knowledge",
                "open-webui:open-webui:privacy"
              ]
            },
            {
              "id": "default_model",
              "question": "Can admins set the default model?",
              "support": "supported",
              "answer": "The groups guide documents default models per group.",
              "evidenceIds": [
                "open-webui:open-webui:groups"
              ]
            },
            {
              "id": "user_limits",
              "question": "What per-user message or token limits apply, and are they published?",
              "support": "partial",
              "answer": "An optional official Filter example implements configurable requests per user per minute. It is customer-installed code with process-local counters, not an enabled recurring message/token allowance or monetary budget. No configured deployment was tested.",
              "evidenceIds": [
                "open-webui:open-webui:r4-rate-limit-example",
                "open-webui:open-webui:r4-filter-implementation"
              ]
            },
            {
              "id": "limit_behaviour",
              "question": "What happens when a limit is reached?",
              "support": "partial",
              "answer": "The optional rate-limit example rejects an inlet request by raising an exception at its per-minute threshold; the inspected backend propagates inlet failures. Distributed enforcement, persistent quota balances and monetary overshoot behavior remain unverified.",
              "evidenceIds": [
                "open-webui:open-webui:r4-rate-limit-example",
                "open-webui:open-webui:r4-filter-implementation"
              ]
            }
          ],
          "limitations": [
            "data_bound_models: Knowledge attached to a model scopes its retrieval, while user/resource grants control access. This does not establish a hard policy binding each source to an allowed outbound provider.",
            "user_limits: What per-user message or token limits apply, and are they published? No configured quota or bounded two-user enforcement test was run; budget controls remain in progress on the public roadmap.",
            "limit_behaviour: What happens when a limit is reached? No configured quota or bounded two-user enforcement test was run; budget controls remain in progress on the public roadmap."
          ],
          "checkedAt": "2026-10-26",
          "crossCheckedAt": "2026-10-26",
          "nextCheckAt": "2026-12-25",
          "evidenceIds": [
            "open-webui:open-webui:groups",
            "open-webui:open-webui:knowledge",
            "open-webui:open-webui:privacy",
            "open-webui:open-webui:r4-rate-limit-example",
            "open-webui:open-webui:r4-filter-implementation"
          ]
        }
      ]
    },
    {
      "id": "KNOW-01",
      "title": "Files in chat",
      "group": {
        "id": 2,
        "name": "Company knowledge"
      },
      "judgment": "Record supported formats, size and count limits, scanned-PDF OCR, tables and spreadsheets, images inside documents, and whether a file is read in full or retrieved in chunks. Upload the shared fixture set (long German PDF, scanned contract, Excel with formulas, PowerPoint) and record failures.",
      "questions": [
        {
          "id": "formats",
          "question": "Which formats are accepted?"
        },
        {
          "id": "limits",
          "question": "What size and count limits apply per file and chat?"
        },
        {
          "id": "ocr",
          "question": "Are scanned PDFs read?"
        },
        {
          "id": "spreadsheets",
          "question": "Are Excel tables read with structure intact?"
        },
        {
          "id": "full_vs_chunked",
          "question": "Is the whole file used or only retrieved parts, and does the user see which?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:KNOW-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Conversation files and code/OCR handling are documented; conflicting effective upload caps are explicitly unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "formats",
              "question": "Which formats are accepted?",
              "support": "supported",
              "answer": "Conversation uploads accept documents/PDF, text/code, Excel/CSV/TSV, images and supported audio. Direct video uploads are explicitly excluded by the limits FAQ.",
              "evidenceIds": [
                "dust:dust:files",
                "dust:dust:file-limits"
              ]
            },
            {
              "id": "limits",
              "question": "What size and count limits apply per file and chat?",
              "support": "unknown",
              "answer": "Effective image/audio/tabular maximums and file counts are unknown: Conversation Files lists5/25/50MB while File size limits lists20/100/350MB. Both mention50MB general data files, but neither resolves the actual current per-plan upload route. No logged-in upload test was performed.",
              "evidenceIds": []
            },
            {
              "id": "ocr",
              "question": "Are scanned PDFs read?",
              "support": "partial",
              "answer": "Computer documents OCR for English, French and mixed scans with page-level caveats. Drive connector itself ignores image-only files; upload to a conversation is the documented route.",
              "evidenceIds": [
                "dust:dust:computer",
                "dust:dust:drive"
              ]
            },
            {
              "id": "spreadsheets",
              "question": "Are Excel tables read with structure intact?",
              "support": "partial",
              "answer": "Computer can read, calculate and edit uploaded Excel with code. Formula/style preservation must be checked; no fixture fidelity result is available.",
              "evidenceIds": [
                "dust:dust:computer"
              ]
            },
            {
              "id": "full_vs_chunked",
              "question": "Is the whole file used or only retrieved parts, and does the user see which?",
              "support": "partial",
              "answer": "Conversation uploads are not indexed in workspace sources. Computer can inspect full files, while knowledge search retrieves relevant context; complete chunk visibility was not verified.",
              "evidenceIds": [
                "dust:dust:files",
                "dust:dust:computer",
                "dust:dust:search"
              ]
            }
          ],
          "limitations": [
            "No common PDF/scan/Excel/PowerPoint fixture run.",
            "Do not use either disputed cap set as the effective Business upload limit."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:files",
            "dust:dust:file-limits",
            "dust:dust:computer",
            "dust:dust:drive",
            "dust:dust:search"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:KNOW-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Documents can be attached and parsed for RAG or full-context injection. Scans depend on extraction configuration; spreadsheet fidelity was not tested.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "formats",
              "question": "Which formats are accepted?",
              "support": "partial",
              "answer": "PDF and common text/Office documents are documented; parser choice controls formats. Temporary browser-only extraction has DOCX limitations.",
              "evidenceIds": [
                "open-webui:open-webui:extraction",
                "open-webui:open-webui:rag"
              ]
            },
            {
              "id": "limits",
              "question": "What size and count limits apply per file and chat?",
              "support": "supported",
              "answer": "Administrators configure maximum document MB, upload count and allowed extensions with RAG_FILE_MAX_SIZE, RAG_FILE_MAX_COUNT and RAG_ALLOWED_FILE_EXTENSIONS; these are instance settings rather than a universal vendor allowance.",
              "evidenceIds": [
                "open-webui:open-webui:env"
              ]
            },
            {
              "id": "ocr",
              "question": "Are scanned PDFs read?",
              "support": "partial",
              "answer": "Scanned PDFs can use a configured OCR-capable engine. No scanned fixture was tested.",
              "evidenceIds": [
                "open-webui:open-webui:extraction"
              ]
            },
            {
              "id": "spreadsheets",
              "question": "Are Excel tables read with structure intact?",
              "support": "unknown",
              "answer": "spreadsheets: Are Excel tables read with structure intact? The shared Excel/formula, scanned contract and long-document fixtures were not uploaded, so structure preservation and observed failures are unknown.",
              "evidenceIds": []
            },
            {
              "id": "full_vs_chunked",
              "question": "Is the whole file used or only retrieved parts, and does the user see which?",
              "support": "supported",
              "answer": "Users can select focused chunk retrieval or entire-document context; attached model knowledge has mode-specific behavior described in the guide.",
              "evidenceIds": [
                "open-webui:open-webui:knowledge",
                "open-webui:open-webui:rag"
              ]
            }
          ],
          "limitations": [
            "formats: PDF and common text/Office documents are documented; parser choice controls formats. Temporary browser-only extraction has DOCX limitations.",
            "ocr: Scanned PDFs can use a configured OCR-capable engine. No scanned fixture was tested.",
            "spreadsheets: Are Excel tables read with structure intact? The shared Excel/formula, scanned contract and long-document fixtures were not uploaded, so structure preservation and observed failures are unknown."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:extraction",
            "open-webui:open-webui:rag",
            "open-webui:open-webui:env",
            "open-webui:open-webui:knowledge"
          ]
        }
      ]
    },
    {
      "id": "KNOW-02",
      "title": "Knowledge bases and shared collections",
      "group": {
        "id": 2,
        "name": "Company knowledge"
      },
      "judgment": "Record curated document collections that persist across chats, who can create and share them, size limits, and how they attach to assistants. Distinguish personal, group and organisation-wide scope.",
      "questions": [
        {
          "id": "persistent_collections",
          "question": "Can users keep document collections across chats?"
        },
        {
          "id": "sharing_scope",
          "question": "Can collections be shared with users, groups or the whole organisation?"
        },
        {
          "id": "size_limits",
          "question": "What are the collection limits?"
        },
        {
          "id": "assistant_binding",
          "question": "Can collections be bound to an assistant?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:KNOW-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Spaces persist shared knowledge and bind it to agent tools.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "persistent_collections",
              "question": "Can users keep document collections across chats?",
              "support": "supported",
              "answer": "Open and restricted Spaces retain connected sources, folders and other data across conversations.",
              "evidenceIds": [
                "dust:dust:spaces"
              ]
            },
            {
              "id": "sharing_scope",
              "question": "Can collections be shared with users, groups or the whole organisation?",
              "support": "supported",
              "answer": "Open Spaces are workspace-wide; restricted Spaces have explicit members or provisioned groups.",
              "evidenceIds": [
                "dust:dust:spaces"
              ]
            },
            {
              "id": "size_limits",
              "question": "What are the collection limits?",
              "support": "partial",
              "answer": "Business supports five Spaces and Enterprise 100. Complete per-Space storage/document quotas were not established.",
              "evidenceIds": [
                "dust:dust:spaces"
              ]
            },
            {
              "id": "assistant_binding",
              "question": "Can collections be bound to an assistant?",
              "support": "supported",
              "answer": "An agent tool can use selected Space data; Space membership governs agent visibility and use.",
              "evidenceIds": [
                "dust:dust:spaces"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:spaces"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:KNOW-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Knowledge bases persist across chats and can attach to a model or conversation, with user/group/public sharing.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "persistent_collections",
              "question": "Can users keep document collections across chats?",
              "support": "supported",
              "answer": "Knowledge bases store reusable document collections across chats.",
              "evidenceIds": [
                "open-webui:open-webui:knowledge"
              ]
            },
            {
              "id": "sharing_scope",
              "question": "Can collections be shared with users, groups or the whole organisation?",
              "support": "supported",
              "answer": "Private knowledge resources can grant read/write access to named users and groups, or be public within the instance.",
              "evidenceIds": [
                "open-webui:open-webui:groups",
                "open-webui:open-webui:knowledge"
              ]
            },
            {
              "id": "size_limits",
              "question": "What are the collection limits?",
              "support": "unknown",
              "answer": "size_limits: What are the collection limits? No fixed collection capacity was established; limits depend on operator configuration, storage and the selected database.",
              "evidenceIds": []
            },
            {
              "id": "assistant_binding",
              "question": "Can collections be bound to an assistant?",
              "support": "supported",
              "answer": "A model preset can bind one or more knowledge bases.",
              "evidenceIds": [
                "open-webui:open-webui:models",
                "open-webui:open-webui:knowledge"
              ]
            }
          ],
          "limitations": [
            "size_limits: What are the collection limits? No fixed collection capacity was established; limits depend on operator configuration, storage and the selected database."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:knowledge",
            "open-webui:open-webui:groups",
            "open-webui:open-webui:models"
          ]
        }
      ]
    },
    {
      "id": "KNOW-03",
      "title": "Enterprise connectors",
      "group": {
        "id": 2,
        "name": "Company knowledge"
      },
      "judgment": "List each connector separately with plan, availability and setup owner: SharePoint, OneDrive, Outlook, Teams, Google Drive, Gmail, Confluence, Jira, Notion, Box, Salesforce, ServiceNow, file shares. Record whether the vendor or a third party (or the customer via MCP) provides it, and whether it needs admin consent. A connector listed on a roadmap or partner page is `announced`. An on-prem connector or gateway proves access to local data, not a self-hosted platform (DATA-02).",
      "questions": [
        {
          "id": "microsoft_365",
          "question": "Which M365 sources (SharePoint, OneDrive, Outlook, Teams) are connected?"
        },
        {
          "id": "google_workspace",
          "question": "Which Google sources are connected?"
        },
        {
          "id": "atlassian",
          "question": "Confluence and Jira?"
        },
        {
          "id": "other_systems",
          "question": "Which other business systems?"
        },
        {
          "id": "on_prem_sources",
          "question": "Can on-prem file shares or databases be connected?"
        },
        {
          "id": "connector_provider",
          "question": "Who builds and maintains each connector?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:KNOW-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Managed content connectors coexist with MCP tools and beta imports; Microsoft content indexing is account-scoped.",
          "availability": "generally-available",
          "delivery": "official-integration",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business: up to3 connections and5 remote MCP servers; Enterprise: unlimited connection/MCP packaging; beta imports identified separately",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "microsoft_365",
              "question": "Which M365 sources (SharePoint, OneDrive, Outlook, Teams) are connected?",
              "support": "partial",
              "answer": "The Microsoft connection syncs selected SharePoint drives/documents within the connecting account permissions. Teams-associated SharePoint content is described; this does not establish Outlook mail or all Teams messages as indexed sources.",
              "evidenceIds": [
                "dust:dust:microsoft"
              ]
            },
            {
              "id": "google_workspace",
              "question": "Which Google sources are connected?",
              "support": "partial",
              "answer": "Drive documents, Sheets, Slides and text PDFs can sync. Gmail is separately available as an MCP tool in the credits/tool catalog, not established as the same managed content index.",
              "evidenceIds": [
                "dust:dust:drive",
                "dust:dust:credits"
              ]
            },
            {
              "id": "atlassian",
              "question": "Confluence and Jira?",
              "support": "partial",
              "answer": "Confluence indexes selected global spaces, excluding restricted pages. Jira has a beta custom import and MCP tool route; do not count the beta import as a general managed connector.",
              "evidenceIds": [
                "dust:dust:confluence",
                "dust:dust:jira",
                "dust:dust:credits"
              ]
            },
            {
              "id": "other_systems",
              "question": "Which other business systems?",
              "support": "partial",
              "answer": "Documented routes include managed Slack/Notion/GitHub and Salesforce/Zendesk/Snowflake sources/tools. BigQuery specifically uses a dedicated-service-account table-query connection: Dust keeps metadata, not a synchronized table-content index; queries stay within the chosen BigQuery dataset location and Space admins select tables. General Business/Enterprise connection limits apply; a BigQuery-specific commercial add-on is not separately specified.",
              "evidenceIds": [
                "dust:dust:sources",
                "dust:dust:credits",
                "dust:dust:r2-bigquery",
                "dust:dust:pricing"
              ]
            },
            {
              "id": "on_prem_sources",
              "question": "Can on-prem file shares or databases be connected?",
              "support": "partial",
              "answer": "Admins can connect a customer-hosted MCP server at a reachable secured URL. This is tool access, not evidence of a native SMB/file-share connector or on-premises Dust deployment.",
              "evidenceIds": [
                "dust:dust:tools"
              ]
            },
            {
              "id": "connector_provider",
              "question": "Who builds and maintains each connector?",
              "support": "supported",
              "answer": "Dust manages built-in connections; external MCP servers can be vendor/community/customer hosted and authenticated separately.",
              "evidenceIds": [
                "dust:dust:permissions",
                "dust:dust:tools"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps.",
            "Managed sources, metadata/table-query connections, MCP tools and beta imports are separate routes; no all-systems managed-index promise."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:microsoft",
            "dust:dust:drive",
            "dust:dust:credits",
            "dust:dust:confluence",
            "dust:dust:jira",
            "dust:dust:sources",
            "dust:dust:r2-bigquery",
            "dust:dust:pricing",
            "dust:dust:tools",
            "dust:dust:permissions"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:KNOW-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Native file pickers and the separately operated official oikb companion provide different connector paths, including oikb Teams and Gmail sync. Source permission preservation remains untested.",
          "availability": "generally-available",
          "delivery": "official-integration",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [
              "Microsoft/Google application registration for native file pickers",
              "Separately deployed official oikb, Open WebUI 0.9.6+ and a user API key",
              "Source credentials: Teams tenant/client/secret; Gmail Google credentials and the optional gmail extra"
            ],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "microsoft_365",
              "question": "Which M365 sources (SharePoint, OneDrive, Outlook, Teams) are connected?",
              "support": "partial",
              "answer": "Native OneDrive for Business/SharePoint pickers require delegated application permissions and admin consent. Separately, oikb lists SharePoint and Teams; Teams uses TEAMS_TENANT_ID, TEAMS_CLIENT_ID and TEAMS_CLIENT_SECRET. This is a companion sync path. Outlook, exact Teams consent scopes and source-ACL preservation were not verified.",
              "evidenceIds": [
                "open-webui:open-webui:onedrive",
                "open-webui:open-webui:sync-connectors-r2"
              ]
            },
            {
              "id": "google_workspace",
              "question": "Which Google sources are connected?",
              "support": "partial",
              "answer": "The native Drive picker imports selected files. Separately, official oikb lists Google Drive and Gmail using GOOGLE_APPLICATION_CREDENTIALS; Gmail has an optional installation extra. Mailbox delegation/consent scope and continuing source-ACL preservation were not tested.",
              "evidenceIds": [
                "open-webui:open-webui:rag",
                "open-webui:open-webui:sync-connectors-r2"
              ]
            },
            {
              "id": "atlassian",
              "question": "Confluence and Jira?",
              "support": "partial",
              "answer": "Official companion oikb lists Confluence and Jira. Its separate credentials, runtime and source-specific configuration are required; source-permission sync was not verified.",
              "evidenceIds": [
                "open-webui:open-webui:sync"
              ]
            },
            {
              "id": "other_systems",
              "question": "Which other business systems?",
              "support": "partial",
              "answer": "oikb lists GitHub, Notion, Slack and S3 among its sources; these are copied-content integrations rather than native per-user live search.",
              "evidenceIds": [
                "open-webui:open-webui:sync"
              ]
            },
            {
              "id": "on_prem_sources",
              "question": "Can on-prem file shares or databases be connected?",
              "support": "supported",
              "answer": "A local folder can be mirrored using directory sync or the separate oikb tool.",
              "evidenceIds": [
                "open-webui:open-webui:knowledge",
                "open-webui:open-webui:sync"
              ]
            },
            {
              "id": "connector_provider",
              "question": "Who builds and maintains each connector?",
              "support": "supported",
              "answer": "Open WebUI documents the native file pickers and maintains the official, separately installed oikb companion. MCP/OpenAPI connectors depend on their own maintainers and credentials.",
              "evidenceIds": [
                "open-webui:open-webui:onedrive",
                "open-webui:open-webui:rag",
                "open-webui:open-webui:sync-connectors-r2",
                "open-webui:open-webui:mcp"
              ]
            }
          ],
          "limitations": [
            "Teams/Gmail are oikb companion connectors, not native per-user live file pickers.",
            "Operator setup, source credentials and source-specific consent are required; permissions after indexing/revocation were not tested."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:onedrive",
            "open-webui:open-webui:sync-connectors-r2",
            "open-webui:open-webui:rag",
            "open-webui:open-webui:sync",
            "open-webui:open-webui:knowledge",
            "open-webui:open-webui:mcp"
          ]
        }
      ]
    },
    {
      "id": "KNOW-04",
      "title": "Permission-aware retrieval",
      "group": {
        "id": 2,
        "name": "Company knowledge"
      },
      "judgment": "Using two test users, verify that a restricted document in the fixture tenant is never cited or summarised for the user without access, including after a permission change. Record whether permissions are enforced at query time by the source system, mirrored into an index, or not enforced. Record the propagation delay of a revocation.",
      "questions": [
        {
          "id": "source_permissions_respected",
          "question": "Are source permissions enforced per user?"
        },
        {
          "id": "enforcement_point",
          "question": "Does the source system, a mirrored index or nothing enforce them?"
        },
        {
          "id": "revocation_delay",
          "question": "How quickly does a removed permission take effect?"
        },
        {
          "id": "admin_scope_controls",
          "question": "Can admins exclude sites, folders or labels?"
        },
        {
          "id": "sensitivity_labels",
          "question": "Are Microsoft Purview or similar labels respected?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:KNOW-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Knowledge access is documented through connection-account scope and Dust Spaces; per-user source-ACL mirroring is unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "source_permissions_respected",
              "question": "Are source permissions enforced per user?",
              "support": "partial",
              "answer": "Drive and Microsoft content available to Dust follows the connecting account and admin-selected data. Users then access agent knowledge through Space membership. Individual source ACL inheritance for each querying user was not established.",
              "evidenceIds": [
                "dust:dust:drive",
                "dust:dust:microsoft",
                "dust:dust:permissions"
              ]
            },
            {
              "id": "enforcement_point",
              "question": "Does the source system, a mirrored index or nothing enforce them?",
              "support": "supported",
              "answer": "Managed content is synchronized under the connection identity and gated through open/restricted Spaces; personal tool credentials are a separate per-user route.",
              "evidenceIds": [
                "dust:dust:permissions",
                "dust:dust:credentials"
              ]
            },
            {
              "id": "revocation_delay",
              "question": "How quickly does a removed permission take effect?",
              "support": "unknown",
              "answer": "How quickly does a removed permission take effect? No two-user restricted-document or revocation fixture was run. Checked connector/Space docs did not establish per-query source ACL mirrors, a source-permission revocation SLA, or Microsoft Purview-label enforcement.",
              "evidenceIds": []
            },
            {
              "id": "admin_scope_controls",
              "question": "Can admins exclude sites, folders or labels?",
              "support": "supported",
              "answer": "Admins choose connector folders/documents/sites and control restricted Space membership.",
              "evidenceIds": [
                "dust:dust:spaces",
                "dust:dust:microsoft"
              ]
            },
            {
              "id": "sensitivity_labels",
              "question": "Are Microsoft Purview or similar labels respected?",
              "support": "unknown",
              "answer": "Are Microsoft Purview or similar labels respected? No two-user restricted-document or revocation fixture was run. Checked connector/Space docs did not establish per-query source ACL mirrors, a source-permission revocation SLA, or Microsoft Purview-label enforcement.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Connector access through one account is not counted as demonstrated per-user source permission preservation."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:drive",
            "dust:dust:microsoft",
            "dust:dust:permissions",
            "dust:dust:credentials",
            "dust:dust:spaces"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:KNOW-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Open WebUI knowledge-resource grants are documented. Enforcement of the original enterprise source permissions after copying has not passed the required test.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "source_permissions_respected",
              "question": "Are source permissions enforced per user?",
              "support": "unknown",
              "answer": "source_permissions_respected: Are source permissions enforced per user? No two-user restricted-document, grant/revoke or Purview-label fixture was run. Knowledge-resource ACLs and file-picker consent do not establish continuing source permission enforcement or revocation delay.",
              "evidenceIds": []
            },
            {
              "id": "enforcement_point",
              "question": "Does the source system, a mirrored index or nothing enforce them?",
              "support": "partial",
              "answer": "Open WebUI resource grants govern access to its knowledge bases. Microsoft delegated permission limits the picker at import time; continuing source-system checks for the copied content were not established.",
              "evidenceIds": [
                "open-webui:open-webui:groups",
                "open-webui:open-webui:onedrive"
              ]
            },
            {
              "id": "revocation_delay",
              "question": "How quickly does a removed permission take effect?",
              "support": "unknown",
              "answer": "revocation_delay: How quickly does a removed permission take effect? No two-user restricted-document, grant/revoke or Purview-label fixture was run. Knowledge-resource ACLs and file-picker consent do not establish continuing source permission enforcement or revocation delay.",
              "evidenceIds": []
            },
            {
              "id": "admin_scope_controls",
              "question": "Can admins exclude sites, folders or labels?",
              "support": "partial",
              "answer": "Admins choose knowledge grants and which collections a model uses. Source site/folder/label exclusion and label propagation need connector-specific verification.",
              "evidenceIds": [
                "open-webui:open-webui:knowledge",
                "open-webui:open-webui:groups"
              ]
            },
            {
              "id": "sensitivity_labels",
              "question": "Are Microsoft Purview or similar labels respected?",
              "support": "unknown",
              "answer": "sensitivity_labels: Are Microsoft Purview or similar labels respected? No two-user restricted-document, grant/revoke or Purview-label fixture was run. Knowledge-resource ACLs and file-picker consent do not establish continuing source permission enforcement or revocation delay.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "source_permissions_respected: Are source permissions enforced per user? No two-user restricted-document, grant/revoke or Purview-label fixture was run. Knowledge-resource ACLs and file-picker consent do not establish continuing source permission enforcement or revocation delay.",
            "enforcement_point: Open WebUI resource grants govern access to its knowledge bases. Microsoft delegated permission limits the picker at import time; continuing source-system checks for the copied content were not established.",
            "revocation_delay: How quickly does a removed permission take effect? No two-user restricted-document, grant/revoke or Purview-label fixture was run. Knowledge-resource ACLs and file-picker consent do not establish continuing source permission enforcement or revocation delay.",
            "admin_scope_controls: Admins choose knowledge grants and which collections a model uses. Source site/folder/label exclusion and label propagation need connector-specific verification.",
            "sensitivity_labels: Are Microsoft Purview or similar labels respected? No two-user restricted-document, grant/revoke or Purview-label fixture was run. Knowledge-resource ACLs and file-picker consent do not establish continuing source permission enforcement or revocation delay."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:groups",
            "open-webui:open-webui:onedrive",
            "open-webui:open-webui:knowledge"
          ]
        }
      ]
    },
    {
      "id": "KNOW-05",
      "title": "Freshness and sync model",
      "group": {
        "id": 2,
        "name": "Company knowledge"
      },
      "judgment": "Record live (federated) search versus a copied index, sync interval, deletion propagation, and where the index is stored. Edit and delete one fixture document and record when answers change. A copied index adds storage location to DATA-01.",
      "questions": [
        {
          "id": "live_or_indexed",
          "question": "Is content searched live or copied into an index?"
        },
        {
          "id": "sync_interval",
          "question": "How often does an index refresh?"
        },
        {
          "id": "deletion_propagation",
          "question": "How quickly does a deleted document disappear?"
        },
        {
          "id": "index_location",
          "question": "Where is indexed content stored?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:KNOW-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Managed connectors copy and synchronize content, with source-specific refresh and deletion timing.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "live_or_indexed",
              "question": "Is content searched live or copied into an index?",
              "support": "supported",
              "answer": "Connections synchronize content into Dust; conversation uploads remain scoped to the chat. MCP tools can access live services separately.",
              "evidenceIds": [
                "dust:dust:permissions",
                "dust:dust:files",
                "dust:dust:tools"
              ]
            },
            {
              "id": "sync_interval",
              "question": "How often does an index refresh?",
              "support": "supported",
              "answer": "Microsoft describes five-minute sync cycles; Drive says a few minutes; Confluence describes event updates plus an approximate hourly check.",
              "evidenceIds": [
                "dust:dust:microsoft",
                "dust:dust:drive",
                "dust:dust:confluence"
              ]
            },
            {
              "id": "deletion_propagation",
              "question": "How quickly does a deleted document disappear?",
              "support": "partial",
              "answer": "Microsoft changes/deletions appear on a subsequent sync and large batches can take longer. Drive deletions occur during its sync. No measured end-to-end bound was tested.",
              "evidenceIds": [
                "dust:dust:microsoft",
                "dust:dust:drive"
              ]
            },
            {
              "id": "index_location",
              "question": "Where is indexed content stored?",
              "support": "partial",
              "answer": "Dust markets EU or US hosting; exact per-index country, cloud provider and backup location were not established.",
              "evidenceIds": [
                "dust:dust:security"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:permissions",
            "dust:dust:files",
            "dust:dust:tools",
            "dust:dust:microsoft",
            "dust:dust:drive",
            "dust:dust:confluence",
            "dust:dust:security"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:KNOW-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Uploaded knowledge is copied into an operator-selected index. Manual directory sync or a separate daemon updates it.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "live_or_indexed",
              "question": "Is content searched live or copied into an index?",
              "support": "supported",
              "answer": "Uploaded documents are parsed and indexed; an experimental external-vector-source mode queries a pre-existing customer index without re-ingestion.",
              "evidenceIds": [
                "open-webui:open-webui:rag",
                "open-webui:open-webui:knowledge"
              ]
            },
            {
              "id": "sync_interval",
              "question": "How often does an index refresh?",
              "support": "partial",
              "answer": "Directory sync runs when invoked; oikb offers scheduled/on-demand synchronization. No universal connector interval or SLA applies.",
              "evidenceIds": [
                "open-webui:open-webui:knowledge",
                "open-webui:open-webui:sync"
              ]
            },
            {
              "id": "deletion_propagation",
              "question": "How quickly does a deleted document disappear?",
              "support": "partial",
              "answer": "Directory sync removes files missing from the local manifest during cleanup. Elapsed propagation time was not measured.",
              "evidenceIds": [
                "open-webui:open-webui:knowledge"
              ]
            },
            {
              "id": "index_location",
              "question": "Where is indexed content stored?",
              "support": "supported",
              "answer": "The operator selects the database or external vector source and its deployment location; there is no fixed vendor region for this self-hosted scope.",
              "evidenceIds": [
                "open-webui:open-webui:rag",
                "open-webui:open-webui:privacy"
              ]
            }
          ],
          "limitations": [
            "sync_interval: Directory sync runs when invoked; oikb offers scheduled/on-demand synchronization. No universal connector interval or SLA applies.",
            "deletion_propagation: Directory sync removes files missing from the local manifest during cleanup. Elapsed propagation time was not measured."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:rag",
            "open-webui:open-webui:knowledge",
            "open-webui:open-webui:sync",
            "open-webui:open-webui:privacy"
          ]
        }
      ]
    },
    {
      "id": "KNOW-06",
      "title": "Grounding and retrieval quality",
      "group": {
        "id": 2,
        "name": "Company knowledge"
      },
      "judgment": "Run the shared question set over the fixture corpus: factual lookups, cross-document questions, German document with an English question, a question with no answer in the corpus. Record citation presence, link accuracy, correct answers and refusals to invent. Disclose model, settings, attempt count and failures. Single runs support a case study, not a ranking.",
      "questions": [
        {
          "id": "citations",
          "question": "Are answers linked to specific sources?"
        },
        {
          "id": "citation_accuracy",
          "question": "Do the cited passages support the answer?"
        },
        {
          "id": "cross_language",
          "question": "Does a question in one language find documents in another?"
        },
        {
          "id": "no_answer_behaviour",
          "question": "Does it say when the corpus has no answer?"
        },
        {
          "id": "observed_accuracy",
          "question": "How many of the question set were answered correctly?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:KNOW-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Knowledge and research tools cite sources; observed retrieval quality remains unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "citations",
              "question": "Are answers linked to specific sources?",
              "support": "supported",
              "answer": "Deep-dive documents citations to documents, web pages and data queries.",
              "evidenceIds": [
                "dust:dust:deep"
              ]
            },
            {
              "id": "citation_accuracy",
              "question": "Do the cited passages support the answer?",
              "support": "unknown",
              "answer": "Do the cited passages support the answer? No multilingual shared corpus or question set was run. Citation accuracy, cross-language retrieval success, no-answer behavior and correct-answer counts remain unmeasured; model multilingual ability is not a retrieval-quality test.",
              "evidenceIds": []
            },
            {
              "id": "cross_language",
              "question": "Does a question in one language find documents in another?",
              "support": "unknown",
              "answer": "Does a question in one language find documents in another? No multilingual shared corpus or question set was run. Citation accuracy, cross-language retrieval success, no-answer behavior and correct-answer counts remain unmeasured; model multilingual ability is not a retrieval-quality test.",
              "evidenceIds": []
            },
            {
              "id": "no_answer_behaviour",
              "question": "Does it say when the corpus has no answer?",
              "support": "unknown",
              "answer": "Does it say when the corpus has no answer? No multilingual shared corpus or question set was run. Citation accuracy, cross-language retrieval success, no-answer behavior and correct-answer counts remain unmeasured; model multilingual ability is not a retrieval-quality test.",
              "evidenceIds": []
            },
            {
              "id": "observed_accuracy",
              "question": "How many of the question set were answered correctly?",
              "support": "unknown",
              "answer": "How many of the question set were answered correctly? No multilingual shared corpus or question set was run. Citation accuracy, cross-language retrieval success, no-answer behavior and correct-answer counts remain unmeasured; model multilingual ability is not a retrieval-quality test.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:deep"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:KNOW-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Citations are documented; citation accuracy and multilingual retrieval outcomes are untested.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "citations",
              "question": "Are answers linked to specific sources?",
              "support": "supported",
              "answer": "RAG answers can include source references; chunk metadata may add details such as page numbers.",
              "evidenceIds": [
                "open-webui:open-webui:rag"
              ]
            },
            {
              "id": "citation_accuracy",
              "question": "Do the cited passages support the answer?",
              "support": "unknown",
              "answer": "citation_accuracy: Do the cited passages support the answer? The shared DE/FR/EN corpus and factual/no-answer question set were not run. No citation-link accuracy, cross-language result, refusal rate or numerical accuracy is claimed.",
              "evidenceIds": []
            },
            {
              "id": "cross_language",
              "question": "Does a question in one language find documents in another?",
              "support": "unknown",
              "answer": "cross_language: Does a question in one language find documents in another? The shared DE/FR/EN corpus and factual/no-answer question set were not run. No citation-link accuracy, cross-language result, refusal rate or numerical accuracy is claimed.",
              "evidenceIds": []
            },
            {
              "id": "no_answer_behaviour",
              "question": "Does it say when the corpus has no answer?",
              "support": "unknown",
              "answer": "no_answer_behaviour: Does it say when the corpus has no answer? The shared DE/FR/EN corpus and factual/no-answer question set were not run. No citation-link accuracy, cross-language result, refusal rate or numerical accuracy is claimed.",
              "evidenceIds": []
            },
            {
              "id": "observed_accuracy",
              "question": "How many of the question set were answered correctly?",
              "support": "unknown",
              "answer": "observed_accuracy: How many of the question set were answered correctly? The shared DE/FR/EN corpus and factual/no-answer question set were not run. No citation-link accuracy, cross-language result, refusal rate or numerical accuracy is claimed.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "citation_accuracy: Do the cited passages support the answer? The shared DE/FR/EN corpus and factual/no-answer question set were not run. No citation-link accuracy, cross-language result, refusal rate or numerical accuracy is claimed.",
            "cross_language: Does a question in one language find documents in another? The shared DE/FR/EN corpus and factual/no-answer question set were not run. No citation-link accuracy, cross-language result, refusal rate or numerical accuracy is claimed.",
            "no_answer_behaviour: Does it say when the corpus has no answer? The shared DE/FR/EN corpus and factual/no-answer question set were not run. No citation-link accuracy, cross-language result, refusal rate or numerical accuracy is claimed.",
            "observed_accuracy: How many of the question set were answered correctly? The shared DE/FR/EN corpus and factual/no-answer question set were not run. No citation-link accuracy, cross-language result, refusal rate or numerical accuracy is claimed."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:rag"
          ]
        }
      ]
    },
    {
      "id": "KNOW-07",
      "title": "Memory and personal context",
      "group": {
        "id": 2,
        "name": "Company knowledge"
      },
      "judgment": "Record personal custom instructions, cross-chat memory, project or workspace context, and user controls to view, edit, delete or disable memory. Record whether admins can disable memory organisation-wide.",
      "questions": [
        {
          "id": "custom_instructions",
          "question": "Can users set persistent instructions?"
        },
        {
          "id": "cross_chat_memory",
          "question": "Does the product remember facts across chats?"
        },
        {
          "id": "user_memory_controls",
          "question": "Can users view, edit and delete memories?"
        },
        {
          "id": "admin_memory_controls",
          "question": "Can admins turn memory off?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:KNOW-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Agent-specific private memory persists across chats and can be viewed or deleted.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "custom_instructions",
              "question": "Can users set persistent instructions?",
              "support": "partial",
              "answer": "Agent instructions persist in the agent configuration and saved memory can contain user preferences; a separate personal global-instructions setting was not established.",
              "evidenceIds": [
                "dust:dust:builder",
                "dust:dust:memory"
              ]
            },
            {
              "id": "cross_chat_memory",
              "question": "Does the product remember facts across chats?",
              "support": "supported",
              "answer": "The Memory tool retains user-specific information across conversations per agent.",
              "evidenceIds": [
                "dust:dust:memory"
              ]
            },
            {
              "id": "user_memory_controls",
              "question": "Can users view, edit and delete memories?",
              "support": "partial",
              "answer": "Users can view and delete agent memories, which persist until deletion. Direct editing or a global personal off switch was not established.",
              "evidenceIds": [
                "dust:dust:memory"
              ]
            },
            {
              "id": "admin_memory_controls",
              "question": "Can admins turn memory off?",
              "support": "unknown",
              "answer": "Can admins turn memory off? The Agent Memory and governance guides were checked; an admin-wide switch to disable all memory was not established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:builder",
            "dust:dust:memory"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:KNOW-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Users can manage persistent memory and admins can disable or group-restrict it.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "custom_instructions",
              "question": "Can users set persistent instructions?",
              "support": "partial",
              "answer": "Model presets provide persistent system instructions and users can save instructions as memory. A separate personal-instructions setting was not inspected here.",
              "evidenceIds": [
                "open-webui:open-webui:models",
                "open-webui:open-webui:memory"
              ]
            },
            {
              "id": "cross_chat_memory",
              "question": "Does the product remember facts across chats?",
              "support": "supported",
              "answer": "User-scoped memories carry facts and preferences between conversations.",
              "evidenceIds": [
                "open-webui:open-webui:memory"
              ]
            },
            {
              "id": "user_memory_controls",
              "question": "Can users view, edit and delete memories?",
              "support": "supported",
              "answer": "Settings permits adding, editing and deleting memories.",
              "evidenceIds": [
                "open-webui:open-webui:memory"
              ]
            },
            {
              "id": "admin_memory_controls",
              "question": "Can admins turn memory off?",
              "support": "supported",
              "answer": "Global and per-group switches disable memory access and server-side context use.",
              "evidenceIds": [
                "open-webui:open-webui:memory"
              ]
            }
          ],
          "limitations": [
            "custom_instructions: Model presets provide persistent system instructions and users can save instructions as memory. A separate personal-instructions setting was not inspected here."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:models",
            "open-webui:open-webui:memory"
          ]
        }
      ]
    },
    {
      "id": "AGT-01",
      "title": "Custom assistants",
      "group": {
        "id": 3,
        "name": "Assistants and agents"
      },
      "judgment": "Record creation of assistants with instructions, model, knowledge and tools; who can create; sharing scope; versioning; and an internal catalogue or directory. Build one HR policy assistant on the fixture and share it with one group. Prompt templates and a prompt library are recorded here.",
      "questions": [
        {
          "id": "create_assistants",
          "question": "Can users create assistants with instructions, knowledge and tools?"
        },
        {
          "id": "creator_permissions",
          "question": "Can admins limit who creates them?"
        },
        {
          "id": "sharing_scope",
          "question": "Can assistants be shared with users, groups or everyone?"
        },
        {
          "id": "catalogue",
          "question": "Is there an internal assistant directory?"
        },
        {
          "id": "prompt_library",
          "question": "Are shared prompt templates available?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:AGT-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Custom agents have instructions, models, knowledge and tools with group-governed creation and sharing.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "create_assistants",
              "question": "Can users create assistants with instructions, knowledge and tools?",
              "support": "supported",
              "answer": "Agent Builder configures instructions, models, knowledge and tools.",
              "evidenceIds": [
                "dust:dust:builder"
              ]
            },
            {
              "id": "creator_permissions",
              "question": "Can admins limit who creates them?",
              "support": "supported",
              "answer": "Create/publish agent and skill permissions can be Everyone, Groups or Admin only.",
              "evidenceIds": [
                "dust:dust:governance"
              ]
            },
            {
              "id": "sharing_scope",
              "question": "Can assistants be shared with users, groups or everyone?",
              "support": "supported",
              "answer": "Agents and their knowledge access are controlled by sharing and Space memberships; group governance regulates publishing.",
              "evidenceIds": [
                "dust:dust:builder",
                "dust:dust:spaces",
                "dust:dust:governance"
              ]
            },
            {
              "id": "catalogue",
              "question": "Is there an internal assistant directory?",
              "support": "partial",
              "answer": "Published/shared agents and default agents are discoverable in the workspace; exact catalog configuration was not observed.",
              "evidenceIds": [
                "dust:dust:builder",
                "dust:dust:models"
              ]
            },
            {
              "id": "prompt_library",
              "question": "Are shared prompt templates available?",
              "support": "partial",
              "answer": "Reusable agents and skills package instructions, knowledge and tools. A separate legacy prompt-library feature is not assumed.",
              "evidenceIds": [
                "dust:dust:governance",
                "dust:dust:builder"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:builder",
            "dust:dust:governance",
            "dust:dust:spaces",
            "dust:dust:models"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:AGT-01",
          "verificationStatus": "agent-cross-checked",
          "support": "supported",
          "answer": "Model presets are reusable assistants combining instructions, a base model, knowledge and tools.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "create_assistants",
              "question": "Can users create assistants with instructions, knowledge and tools?",
              "support": "supported",
              "answer": "The Models workspace creates presets with instructions, knowledge, tools, skills and parameters.",
              "evidenceIds": [
                "open-webui:open-webui:models"
              ]
            },
            {
              "id": "creator_permissions",
              "question": "Can admins limit who creates them?",
              "support": "supported",
              "answer": "Workspace permission toggles control who can create resources.",
              "evidenceIds": [
                "open-webui:open-webui:permissions"
              ]
            },
            {
              "id": "sharing_scope",
              "question": "Can assistants be shared with users, groups or everyone?",
              "support": "supported",
              "answer": "Model grants may target users, groups or public instance visibility.",
              "evidenceIds": [
                "open-webui:open-webui:groups",
                "open-webui:open-webui:models"
              ]
            },
            {
              "id": "catalogue",
              "question": "Is there an internal assistant directory?",
              "support": "supported",
              "answer": "The Models workspace lists available presets and model selectors expose those the user can access.",
              "evidenceIds": [
                "open-webui:open-webui:models"
              ]
            },
            {
              "id": "prompt_library",
              "question": "Are shared prompt templates available?",
              "support": "supported",
              "answer": "Workspace prompt permissions cover creating and sharing reusable prompt resources.",
              "evidenceIds": [
                "open-webui:open-webui:permissions"
              ]
            }
          ],
          "limitations": [],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:models",
            "open-webui:open-webui:permissions",
            "open-webui:open-webui:groups"
          ]
        }
      ]
    },
    {
      "id": "AGT-02",
      "title": "Tools, actions and MCP",
      "group": {
        "id": 3,
        "name": "Assistants and agents"
      },
      "judgment": "Record built-in tools, custom actions (OpenAPI), MCP client support (local and remote servers), authentication model per tool (shared service account or per-user OAuth), and admin approval of tools. Verify one external-tool call and its access boundary.",
      "questions": [
        {
          "id": "builtin_tools",
          "question": "Which tools are built in?"
        },
        {
          "id": "custom_actions",
          "question": "Can admins add API actions?"
        },
        {
          "id": "mcp_client",
          "question": "Can it use remote MCP servers, and with what admin control?"
        },
        {
          "id": "tool_auth",
          "question": "Do tools act as the user or as a shared account?"
        },
        {
          "id": "tool_approval",
          "question": "Can admins approve or block tools, and can users confirm actions before they run?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:AGT-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Dust supports built-in tools, customer MCP servers and personal or shared credentials.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "builtin_tools",
              "question": "Which tools are built in?",
              "support": "supported",
              "answer": "Documented tools include knowledge search, table queries, web search, Computer, images, speech and agent orchestration.",
              "evidenceIds": [
                "dust:dust:credits",
                "dust:dust:computer"
              ]
            },
            {
              "id": "custom_actions",
              "question": "Can admins add API actions?",
              "support": "supported",
              "answer": "Admins can connect customer-written MCP tools over secured publicly reachable URLs.",
              "evidenceIds": [
                "dust:dust:tools"
              ]
            },
            {
              "id": "mcp_client",
              "question": "Can it use remote MCP servers, and with what admin control?",
              "support": "supported",
              "answer": "Admins add remote MCP servers with automatic/static OAuth or bearer-token authentication and can restrict tools to skills.",
              "evidenceIds": [
                "dust:dust:tools"
              ]
            },
            {
              "id": "tool_auth",
              "question": "Do tools act as the user or as a shared account?",
              "support": "supported",
              "answer": "Shared credentials act as one service account; personal credentials use each user OAuth after initial admin setup.",
              "evidenceIds": [
                "dust:dust:credentials"
              ]
            },
            {
              "id": "tool_approval",
              "question": "Can admins approve or block tools, and can users confirm actions before they run?",
              "support": "partial",
              "answer": "Computer network domains can require user approval; dated connector releases describe approval for writes. A universal confirmation rule for every tool and unattended trigger was not established.",
              "evidenceIds": [
                "dust:dust:computer",
                "dust:dust:changelog"
              ]
            }
          ],
          "limitations": [
            "No external-tool call or access-boundary fixture was run."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:credits",
            "dust:dust:computer",
            "dust:dust:tools",
            "dust:dust:credentials",
            "dust:dust:changelog"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:AGT-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Native/custom tools and MCP are documented. The optional interactive Tool Permissions approval mode is experimental and off by default; automations and channel replies bypass it.",
          "availability": "beta",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Current Tools/MCP documentation retrieved 2026-10-21; beta availability qualifies the optional experimental approval mode, not all tool integrations",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [
              "Optional separately operated MCP/OpenAPI tool servers or stdio bridge"
            ],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "builtin_tools",
              "question": "Which tools are built in?",
              "support": "supported",
              "answer": "Knowledge, memory, web and other built-in tool categories are configured per model.",
              "evidenceIds": [
                "open-webui:open-webui:models"
              ]
            },
            {
              "id": "custom_actions",
              "question": "Can admins add API actions?",
              "support": "supported",
              "answer": "Admins can install Python tools or connect OpenAPI tool servers.",
              "evidenceIds": [
                "open-webui:open-webui:tools"
              ]
            },
            {
              "id": "mcp_client",
              "question": "Can it use remote MCP servers, and with what admin control?",
              "support": "supported",
              "answer": "The dedicated current guide documents admin-configured Streamable HTTP MCP. Local stdio requires a separately deployed bridge such as mcpo.",
              "evidenceIds": [
                "open-webui:open-webui:mcp",
                "open-webui:open-webui:tools"
              ]
            },
            {
              "id": "tool_auth",
              "question": "Do tools act as the user or as a shared account?",
              "support": "supported",
              "answer": "Configured modes include bearer credentials and user OAuth/OAuth 2.1; the resulting access depends on the server and granted scopes.",
              "evidenceIds": [
                "open-webui:open-webui:mcp"
              ]
            },
            {
              "id": "tool_approval",
              "question": "Can admins approve or block tools, and can users confirm actions before they run?",
              "support": "partial",
              "answer": "Admins control tool access and may enable experimental Tool Permissions (off by default). Interactive users can select Ask for approval with sequential Allow/Deny prompts; Full access remains the default. Automations and channel replies always use full access. A mandatory policy for every side effect and an external-call boundary fixture were not verified.",
              "evidenceIds": [
                "open-webui:open-webui:approvals-r2",
                "open-webui:open-webui:groups"
              ]
            }
          ],
          "limitations": [
            "The row uses beta for the experimental approval subfeature; ordinary tool integrations are documented separately.",
            "Approval is opt-in for interactive chats and is bypassed in automations/channel replies; no mandatory side-effect policy was established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:models",
            "open-webui:open-webui:tools",
            "open-webui:open-webui:mcp",
            "open-webui:open-webui:approvals-r2",
            "open-webui:open-webui:groups"
          ]
        }
      ]
    },
    {
      "id": "AGT-03",
      "title": "Web search and deep research",
      "group": {
        "id": 3,
        "name": "Assistants and agents"
      },
      "judgment": "Record web search on/off control per organisation and group, search provider, citation of web sources, deep or multi-step research, and whether queries leave the residency boundary. Admins of regulated companies often need web search off.",
      "questions": [
        {
          "id": "web_search",
          "question": "Is web search available?"
        },
        {
          "id": "admin_toggle",
          "question": "Can admins disable it per organisation or group?"
        },
        {
          "id": "search_provider",
          "question": "Which search provider handles queries, and where?"
        },
        {
          "id": "deep_research",
          "question": "Is multi-step research with a report available?"
        },
        {
          "id": "web_citations",
          "question": "Are web sources cited?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:AGT-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Agents can search the web and run multi-step Deep-dive research.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "web_search",
              "question": "Is web search available?",
              "support": "supported",
              "answer": "Web Search & Browse runs Google queries and reads result pages.",
              "evidenceIds": [
                "dust:dust:web"
              ]
            },
            {
              "id": "admin_toggle",
              "question": "Can admins disable it per organisation or group?",
              "support": "partial",
              "answer": "Web tools are selected in agent configuration; default Deep-dive can be disabled by admins. A universal per-group web-off rule was not established.",
              "evidenceIds": [
                "dust:dust:web",
                "dust:dust:deep"
              ]
            },
            {
              "id": "search_provider",
              "question": "Which search provider handles queries, and where?",
              "support": "partial",
              "answer": "The guide calls the search a Google query. The intermediary provider and countries handling queries/crawling were not established.",
              "evidenceIds": [
                "dust:dust:web"
              ]
            },
            {
              "id": "deep_research",
              "question": "Is multi-step research with a report available?",
              "support": "supported",
              "answer": "Deep-dive plans, spawns parallel specialists and produces a research report. It searches Company Data and cannot use Table Query.",
              "evidenceIds": [
                "dust:dust:deep"
              ]
            },
            {
              "id": "web_citations",
              "question": "Are web sources cited?",
              "support": "supported",
              "answer": "Deep-dive promises citations to web and company sources.",
              "evidenceIds": [
                "dust:dust:deep"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:web",
            "dust:dust:deep"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:AGT-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Search and multi-step page research are documented and require an external search provider or local metasearch deployment.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "web_search",
              "question": "Is web search available?",
              "support": "supported",
              "answer": "Admins configure web search and users can enable it in a chat.",
              "evidenceIds": [
                "open-webui:open-webui:web"
              ]
            },
            {
              "id": "admin_toggle",
              "question": "Can admins disable it per organisation or group?",
              "support": "supported",
              "answer": "Feature permissions grant web search per group; global configuration can turn it off.",
              "evidenceIds": [
                "open-webui:open-webui:permissions",
                "open-webui:open-webui:web"
              ]
            },
            {
              "id": "search_provider",
              "question": "Which search provider handles queries, and where?",
              "support": "partial",
              "answer": "Provider choice includes external search services and self-operated options. The actual provider region and query processing contract depend on the chosen service.",
              "evidenceIds": [
                "open-webui:open-webui:web",
                "open-webui:open-webui:offline"
              ]
            },
            {
              "id": "deep_research",
              "question": "Is multi-step research with a report available?",
              "support": "partial",
              "answer": "Native function calling can perform repeated search and URL fetching. No bounded research-report task was exercised.",
              "evidenceIds": [
                "open-webui:open-webui:agent-search"
              ]
            },
            {
              "id": "web_citations",
              "question": "Are web sources cited?",
              "support": "supported",
              "answer": "Retrieved web sources are exposed as conversation references/citations.",
              "evidenceIds": [
                "open-webui:open-webui:agent-search"
              ]
            }
          ],
          "limitations": [
            "search_provider: Provider choice includes external search services and self-operated options. The actual provider region and query processing contract depend on the chosen service.",
            "deep_research: Native function calling can perform repeated search and URL fetching. No bounded research-report task was exercised."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:web",
            "open-webui:open-webui:permissions",
            "open-webui:open-webui:offline",
            "open-webui:open-webui:agent-search"
          ]
        }
      ]
    },
    {
      "id": "AGT-04",
      "title": "Workflows and automation",
      "group": {
        "id": 3,
        "name": "Assistants and agents"
      },
      "judgment": "Record no-code or low-code workflows, scheduled prompts, triggers from email, forms or business systems, and multi-step chains. Name where they run and who can build them. A shared prompt template is not a workflow.",
      "questions": [
        {
          "id": "workflow_builder",
          "question": "Is there a workflow or chain builder?"
        },
        {
          "id": "scheduled_tasks",
          "question": "Can prompts or assistants run on a schedule?"
        },
        {
          "id": "event_triggers",
          "question": "Can external events start a workflow?"
        },
        {
          "id": "builder_audience",
          "question": "Is building aimed at business users, IT or developers?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:AGT-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Agents support schedules and webhook automation with admin-created event sources.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "workflow_builder",
              "question": "Is there a workflow or chain builder?",
              "support": "partial",
              "answer": "Agents orchestrate tools and sub-agents; external n8n and trigger workflows are documented. A separate visual multi-step chain canvas was not established.",
              "evidenceIds": [
                "dust:dust:deep",
                "dust:dust:triggers",
                "dust:dust:changelog"
              ]
            },
            {
              "id": "scheduled_tasks",
              "question": "Can prompts or assistants run on a schedule?",
              "support": "supported",
              "answer": "Agents can run on recurring schedules.",
              "evidenceIds": [
                "dust:dust:schedules"
              ]
            },
            {
              "id": "event_triggers",
              "question": "Can external events start a workflow?",
              "support": "supported",
              "answer": "Built-in webhook sources include GitHub, Jira, Linear, Zendesk and Fathom; signed custom webhooks are supported.",
              "evidenceIds": [
                "dust:dust:webhooks"
              ]
            },
            {
              "id": "builder_audience",
              "question": "Is building aimed at business users, IT or developers?",
              "support": "supported",
              "answer": "Admins connect event sources; builders/members attach filtered triggers in Agent Builder and can use natural-language trigger creation through Dust Default.",
              "evidenceIds": [
                "dust:dust:webhooks",
                "dust:dust:changelog"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:deep",
            "dust:dust:triggers",
            "dust:dust:changelog",
            "dust:dust:schedules",
            "dust:dust:webhooks"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:AGT-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Recurring prompts execute on the operator’s server. Developer extensions can add chains; a business workflow builder was not established.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "New extension/locale findings inspected at v0.12.4 / 33c1978d5bad52a31df75ea55143025dfad18d16; earlier accepted documented facts retained",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "workflow_builder",
              "question": "Is there a workflow or chain builder?",
              "support": "unknown",
              "answer": "workflow_builder: Is there a workflow or chain builder? The automation, tool and webhook documentation did not establish a complete business workflow builder or incoming email/form event trigger contract.",
              "evidenceIds": []
            },
            {
              "id": "scheduled_tasks",
              "question": "Can prompts or assistants run on a schedule?",
              "support": "supported",
              "answer": "Automations support hourly/daily/weekly/monthly and RRULE schedules, manual runs, pause and execution history.",
              "evidenceIds": [
                "open-webui:open-webui:automation"
              ]
            },
            {
              "id": "event_triggers",
              "question": "Can external events start a workflow?",
              "support": "partial",
              "answer": "A token-validated channel webhook publishes a message-created event that configured Python Event functions can handle. Developers must supply the downstream workflow logic; an incoming email/form connector or no-code multi-system workflow contract was not established.",
              "evidenceIds": [
                "open-webui:open-webui:r4-incoming-channel-webhook",
                "open-webui:open-webui:r4-event-dispatch"
              ]
            },
            {
              "id": "builder_audience",
              "question": "Is building aimed at business users, IT or developers?",
              "support": "partial",
              "answer": "Schedules use a user-facing editor; custom Python tools and integrations require technical operators. No general no-code multi-system workflow designer was verified.",
              "evidenceIds": [
                "open-webui:open-webui:automation",
                "open-webui:open-webui:tools"
              ]
            }
          ],
          "limitations": [
            "workflow_builder: Is there a workflow or chain builder? The automation, tool and webhook documentation did not establish a complete business workflow builder or incoming email/form event trigger contract.",
            "event_triggers: Can external events start a workflow? The automation, tool and webhook documentation did not establish a complete business workflow builder or incoming email/form event trigger contract.",
            "builder_audience: Schedules use a user-facing editor; custom Python tools and integrations require technical operators. No general no-code multi-system workflow designer was verified."
          ],
          "checkedAt": "2026-10-26",
          "crossCheckedAt": "2026-10-26",
          "nextCheckAt": "2026-12-25",
          "evidenceIds": [
            "open-webui:open-webui:automation",
            "open-webui:open-webui:tools",
            "open-webui:open-webui:r4-incoming-channel-webhook",
            "open-webui:open-webui:r4-event-dispatch"
          ]
        }
      ]
    },
    {
      "id": "AGT-05",
      "title": "Agentic task execution",
      "group": {
        "id": 3,
        "name": "Assistants and agents"
      },
      "judgment": "Record an agent mode that plans and carries out multi-step tasks with tools (browser, files, connectors), with visible steps, user confirmation of side effects and stop control. Run one fixture task (gather three documents, draft a summary, propose an email). Record interventions and what ran. A final claim of success is not proof.",
      "questions": [
        {
          "id": "agent_mode",
          "question": "Is there an agent mode for multi-step tasks?"
        },
        {
          "id": "visible_steps",
          "question": "Are steps and tool calls shown?"
        },
        {
          "id": "side_effect_confirmation",
          "question": "Must the user confirm actions with side effects?"
        },
        {
          "id": "stop_control",
          "question": "Can the user stop a running task?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:AGT-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Multi-step agent work and visible Deep-dive progress are documented; safety controls depend on tool and trigger.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "agent_mode",
              "question": "Is there an agent mode for multi-step tasks?",
              "support": "supported",
              "answer": "Deep-dive plans, delegates and synthesizes, and Computer can execute deterministic file/code work.",
              "evidenceIds": [
                "dust:dust:deep",
                "dust:dust:computer"
              ]
            },
            {
              "id": "visible_steps",
              "question": "Are steps and tool calls shown?",
              "support": "supported",
              "answer": "Deep-dive documentation shows reasoning and sub-agent progress in real time.",
              "evidenceIds": [
                "dust:dust:deep"
              ]
            },
            {
              "id": "side_effect_confirmation",
              "question": "Must the user confirm actions with side effects?",
              "support": "partial",
              "answer": "Computer domains may require user approval and selected connector write actions ask for approval. Pods agents can also act without a human, so universal write confirmation is not claimed.",
              "evidenceIds": [
                "dust:dust:computer",
                "dust:dust:changelog",
                "dust:dust:pods"
              ]
            },
            {
              "id": "stop_control",
              "question": "Can the user stop a running task?",
              "support": "partial",
              "answer": "The 600-AWU root-task checkpoint offers Stop or Continue. A complete general stop/rollback behavior was not tested.",
              "evidenceIds": [
                "dust:dust:credits"
              ]
            }
          ],
          "limitations": [
            "No shared gather/documents/email fixture or side-effect audit was run."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:deep",
            "dust:dust:computer",
            "dust:dust:changelog",
            "dust:dust:pods",
            "dust:dust:credits"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:AGT-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Native tool calls and optional Open Terminal support agent tasks. Interactive tool approval is experimental and off by default, and never gates scheduled automations or channel replies.",
          "availability": "beta",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Current Tools/Open Terminal documentation retrieved 2026-10-21; beta availability qualifies optional experimental approvals",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [
              "Optional separately deployed Open Terminal; Terminals orchestration is a separate component with unverified pinned licence terms"
            ],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "agent_mode",
              "question": "Is there an agent mode for multi-step tasks?",
              "support": "supported",
              "answer": "Tool-capable models can use knowledge and external tools; separately connected Open Terminal adds file and command execution.",
              "evidenceIds": [
                "open-webui:open-webui:models",
                "open-webui:open-webui:terminal"
              ]
            },
            {
              "id": "visible_steps",
              "question": "Are steps and tool calls shown?",
              "support": "supported",
              "answer": "Interactive tool calls display their results and, when experimental Ask for approval is enabled, pending/allowed/denied state.",
              "evidenceIds": [
                "open-webui:open-webui:approvals-r2"
              ]
            },
            {
              "id": "side_effect_confirmation",
              "question": "Must the user confirm actions with side effects?",
              "support": "partial",
              "answer": "Experimental Tool Permissions is disabled by default and users must select Ask for approval. Full access executes immediately; automations and channel replies always bypass approval. The documented control is not a mandatory confirmation policy for every side effect.",
              "evidenceIds": [
                "open-webui:open-webui:approvals-r2"
              ]
            },
            {
              "id": "stop_control",
              "question": "Can the user stop a running task?",
              "support": "partial",
              "answer": "In an interactive reply waiting for approval, Stop finalizes the reply and denies pending calls. This is a pending-call control; cancellation of background tasks and effects already executed was not tested.",
              "evidenceIds": [
                "open-webui:open-webui:approvals-r2"
              ]
            }
          ],
          "limitations": [
            "Beta availability refers to optional experimental approvals; the documented native tool mode is separate.",
            "Automations and channel replies always use full access.",
            "No gather-documents, draft-summary and propose-email fixture or background cancellation test was run."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:models",
            "open-webui:open-webui:terminal",
            "open-webui:open-webui:approvals-r2"
          ]
        }
      ]
    },
    {
      "id": "AGT-06",
      "title": "Programmable access",
      "group": {
        "id": 3,
        "name": "Assistants and agents"
      },
      "judgment": "Record a public API for chat, assistants and knowledge, SDKs, API authentication, rate limits and whether API use counts against the same governance (audit, budgets, model restrictions). Being an MCP client is different from exposing the product over MCP.",
      "questions": [
        {
          "id": "chat_api",
          "question": "Is there an API for chat and assistants?"
        },
        {
          "id": "knowledge_api",
          "question": "Can documents be loaded through an API?"
        },
        {
          "id": "api_governance",
          "question": "Do audit, budgets and model rules apply to API use?"
        },
        {
          "id": "mcp_server",
          "question": "Does the product expose itself to other agents over MCP?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:AGT-06",
          "verificationStatus": "agent-cross-checked",
          "support": "supported",
          "answer": "Dust offers conversation/knowledge APIs, enforceable API-key caps and OAuth MCP access.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "api"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business conversation API; Enterprise adds Data Source API per pricing; MCP subject to workspace enablement",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "api",
                "name": "Dust APIs and MCP server",
                "type": "api"
              }
            ]
          },
          "questions": [
            {
              "id": "chat_api",
              "question": "Is there an API for chat and assistants?",
              "support": "supported",
              "answer": "Documented APIs retrieve/create conversations and messages with scoped API keys.",
              "evidenceIds": [
                "dust:dust:get-conversation",
                "dust:dust:api-keys"
              ]
            },
            {
              "id": "knowledge_api",
              "question": "Can documents be loaded through an API?",
              "support": "supported",
              "answer": "The data-source API upserts documents into scoped data sources.",
              "evidenceIds": [
                "dust:dust:upsert"
              ]
            },
            {
              "id": "api_governance",
              "question": "Do audit, budgets and model rules apply to API use?",
              "support": "supported",
              "answer": "Per-key caps reject further API usage at the limit. Model overrides obey workspace/tier rules; programmatic usage uses the workspace pool and does not count toward beta pooled group budgets.",
              "evidenceIds": [
                "dust:dust:api-keys",
                "dust:dust:models",
                "dust:dust:credit-management"
              ]
            },
            {
              "id": "mcp_server",
              "question": "Does the product expose itself to other agents over MCP?",
              "support": "supported",
              "answer": "Global and EU MCP URLs expose authorized Dust knowledge, conversations, agents, files and Pods via OAuth; admins can disable access and control redirects.",
              "evidenceIds": [
                "dust:dust:mcp-server"
              ]
            }
          ],
          "limitations": [],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:get-conversation",
            "dust:dust:api-keys",
            "dust:dust:upsert",
            "dust:dust:models",
            "dust:dust:credit-management",
            "dust:dust:mcp-server"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:AGT-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Authenticated APIs cover chat, models and knowledge ingestion; product RBAC applies to API users.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "chat_api",
              "question": "Is there an API for chat and assistants?",
              "support": "supported",
              "answer": "OpenAI-compatible chat completion and model management endpoints accept API keys or session JWTs.",
              "evidenceIds": [
                "open-webui:open-webui:api"
              ]
            },
            {
              "id": "knowledge_api",
              "question": "Can documents be loaded through an API?",
              "support": "supported",
              "answer": "File upload and knowledge attachment are documented APIs.",
              "evidenceIds": [
                "open-webui:open-webui:api",
                "open-webui:open-webui:knowledge"
              ]
            },
            {
              "id": "api_governance",
              "question": "Do audit, budgets and model rules apply to API use?",
              "support": "partial",
              "answer": "API users use their account permissions; optional audit capture can log requests. Enforced spend budgets and full API/UI parity were not demonstrated.",
              "evidenceIds": [
                "open-webui:open-webui:api",
                "open-webui:open-webui:hardening"
              ]
            },
            {
              "id": "mcp_server",
              "question": "Does the product expose itself to other agents over MCP?",
              "support": "unknown",
              "answer": "mcp_server: Does the product expose itself to other agents over MCP? No supported native MCP server exposing the whole product was established in the API and MCP-client guides.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "api_governance: API users use their account permissions; optional audit capture can log requests. Enforced spend budgets and full API/UI parity were not demonstrated.",
            "mcp_server: Does the product expose itself to other agents over MCP? No supported native MCP server exposing the whole product was established in the API and MCP-client guides."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:api",
            "open-webui:open-webui:knowledge",
            "open-webui:open-webui:hardening"
          ]
        }
      ]
    },
    {
      "id": "WORK-01",
      "title": "Clients and access points",
      "group": {
        "id": 4,
        "name": "Daily work"
      },
      "judgment": "List web, desktop (Windows, macOS), iOS, Android, mobile browser and browser extension separately. For each, record login with company SSO, feature gaps against web, and MDM/Intune deployability. An installable app is different from a mobile website.",
      "questions": [
        {
          "id": "web",
          "question": "Is a full web client available?"
        },
        {
          "id": "desktop_apps",
          "question": "Windows and macOS apps?"
        },
        {
          "id": "mobile_apps",
          "question": "iOS and Android apps with SSO?"
        },
        {
          "id": "browser_extension",
          "question": "Is there a browser extension or sidebar?"
        },
        {
          "id": "managed_deployment",
          "question": "Can IT deploy and configure clients through MDM?"
        },
        {
          "id": "client_feature_gaps",
          "question": "Which features are missing on mobile?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:WORK-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Web, browser extension and Teams access are documented; native desktop/mobile availability remains unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web",
              "extension"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              },
              {
                "id": "extension",
                "name": "Dust browser extension",
                "type": "browser-extension"
              }
            ]
          },
          "questions": [
            {
              "id": "web",
              "question": "Is a full web client available?",
              "support": "supported",
              "answer": "Dust provides the hosted web workspace, including the EU region.",
              "evidenceIds": [
                "dust:dust:pricing",
                "dust:dust:models"
              ]
            },
            {
              "id": "desktop_apps",
              "question": "Windows and macOS apps?",
              "support": "unknown",
              "answer": "Windows and macOS apps? The documentation index, extension page, pricing and integration guides were checked. Native Windows/macOS apps, iOS/Android SSO apps, managed MDM configuration and a mobile parity matrix were not established.",
              "evidenceIds": []
            },
            {
              "id": "mobile_apps",
              "question": "iOS and Android apps with SSO?",
              "support": "unknown",
              "answer": "iOS and Android apps with SSO? The documentation index, extension page, pricing and integration guides were checked. Native Windows/macOS apps, iOS/Android SSO apps, managed MDM configuration and a mobile parity matrix were not established.",
              "evidenceIds": []
            },
            {
              "id": "browser_extension",
              "question": "Is there a browser extension or sidebar?",
              "support": "supported",
              "answer": "The extension guide covers Chrome, Firefox and Chromium browsers.",
              "evidenceIds": [
                "dust:dust:browser"
              ]
            },
            {
              "id": "managed_deployment",
              "question": "Can IT deploy and configure clients through MDM?",
              "support": "unknown",
              "answer": "Can IT deploy and configure clients through MDM? The documentation index, extension page, pricing and integration guides were checked. Native Windows/macOS apps, iOS/Android SSO apps, managed MDM configuration and a mobile parity matrix were not established.",
              "evidenceIds": []
            },
            {
              "id": "client_feature_gaps",
              "question": "Which features are missing on mobile?",
              "support": "unknown",
              "answer": "Which features are missing on mobile? The documentation index, extension page, pricing and integration guides were checked. Native Windows/macOS apps, iOS/Android SSO apps, managed MDM configuration and a mobile parity matrix were not established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:pricing",
            "dust:dust:models",
            "dust:dust:browser"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:WORK-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "The web/PWA client is complemented by a separate native Desktop distribution for macOS, Windows and Linux. Desktop is explicitly Early Alpha; SSO/MDM and cross-client parity were not tested.",
          "availability": "beta",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web",
              "desktop"
            ],
            "version": "Web/PWA documentation retrieved 2026-10-21; Desktop v0.0.20 / 601137c5dec2967cfe173a6bf071fbbb460852be (released 2026-05-06, labelled Early Alpha)",
            "plan": "Customer-operated web/PWA plus the separately packaged Open WebUI Desktop distribution; production Quick Start recommends Docker or Python",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [
              "Windows",
              "macOS",
              "Linux",
              "iOS (PWA)",
              "Android (PWA)"
            ],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              },
              {
                "id": "desktop",
                "name": "Open WebUI Desktop native distribution (Early Alpha)",
                "type": "desktop"
              }
            ]
          },
          "questions": [
            {
              "id": "web",
              "question": "Is a full web client available?",
              "support": "supported",
              "answer": "The deployed server supplies the full browser client; Quick Start also links the separate desktop distribution.",
              "evidenceIds": [
                "open-webui:open-webui:desktop-quickstart-r2"
              ]
            },
            {
              "id": "desktop_apps",
              "question": "Windows and macOS apps?",
              "support": "partial",
              "answer": "Open WebUI Desktop v0.0.20 provides native macOS (Apple Silicon/Intel), Windows (x64/ARM64) and Linux installers. It can run locally without Docker or connect to an existing server. It is labelled Early Alpha; first launch requires internet. Enterprise SSO and managed rollout were not tested.",
              "evidenceIds": [
                "open-webui:open-webui:desktop-readme-r2",
                "open-webui:open-webui:desktop-release-r2",
                "open-webui:open-webui:desktop-quickstart-r2"
              ]
            },
            {
              "id": "mobile_apps",
              "question": "iOS and Android apps with SSO?",
              "support": "partial",
              "answer": "Android browsers and iOS Safari can install the PWA. Native mobile app-store clients and mobile company-SSO/MDM behavior were not verified.",
              "evidenceIds": [
                "open-webui:open-webui:pwa-r2"
              ]
            },
            {
              "id": "browser_extension",
              "question": "Is there a browser extension or sidebar?",
              "support": "unknown",
              "answer": "browser_extension: Is there a browser extension or sidebar? No first-party managed MDM/Intune deployment policy or Office/browser sidebar extension was established in the client guide.",
              "evidenceIds": []
            },
            {
              "id": "managed_deployment",
              "question": "Can IT deploy and configure clients through MDM?",
              "support": "unknown",
              "answer": "managed_deployment: Can IT deploy and configure clients through MDM? No first-party managed MDM/Intune deployment policy or Office/browser sidebar extension was established in the client guide.",
              "evidenceIds": []
            },
            {
              "id": "client_feature_gaps",
              "question": "Which features are missing on mobile?",
              "support": "partial",
              "answer": "PWA notifications need the app to remain open. Desktop is Early Alpha and Quick Start recommends Docker/Python for production; no desktop/mobile feature-parity or enterprise SSO matrix was verified.",
              "evidenceIds": [
                "open-webui:open-webui:pwa-r2",
                "open-webui:open-webui:desktop-readme-r2",
                "open-webui:open-webui:desktop-quickstart-r2"
              ]
            }
          ],
          "limitations": [
            "Beta availability reflects the Early Alpha desktop distribution; the browser/PWA route is separate.",
            "Native mobile clients, corporate SSO, MDM/Intune deployment and client parity were not tested."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:desktop-quickstart-r2",
            "open-webui:open-webui:desktop-readme-r2",
            "open-webui:open-webui:desktop-release-r2",
            "open-webui:open-webui:pwa-r2"
          ]
        }
      ]
    },
    {
      "id": "WORK-02",
      "title": "Office suite and Teams integration",
      "group": {
        "id": 4,
        "name": "Daily work"
      },
      "judgment": "Record presence inside Word, Excel, PowerPoint, Outlook and Teams (and Google Docs, Gmail), with what the assistant can do in each: read the open document, write into it, act on mail. Record extra licences and admin consent needed. A connector that searches Office files is KNOW-03, not WORK-02.",
      "questions": [
        {
          "id": "word_excel_powerpoint",
          "question": "Does it work inside Word, Excel and PowerPoint?"
        },
        {
          "id": "outlook",
          "question": "Does it work inside Outlook?"
        },
        {
          "id": "teams",
          "question": "Is there a Teams app or bot?"
        },
        {
          "id": "google_workspace_apps",
          "question": "Does it work inside Docs, Sheets or Gmail?"
        },
        {
          "id": "licence_prerequisites",
          "question": "Which licences or consents are needed?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:WORK-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "An official Teams integration runs agents in Teams; document connectors do not imply Office add-ins.",
          "availability": "generally-available",
          "delivery": "official-integration",
          "scope": {
            "surfaceIds": [
              "teams"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "teams",
                "name": "Dust in Microsoft Teams",
                "type": "teams-app"
              }
            ]
          },
          "questions": [
            {
              "id": "word_excel_powerpoint",
              "question": "Does it work inside Word, Excel and PowerPoint?",
              "support": "unknown",
              "answer": "Does it work inside Word, Excel and PowerPoint? Teams and Microsoft connector guides were checked. Embedded assistance inside Word/Excel/PowerPoint, Outlook, Docs/Sheets/Gmail was not established; MCP tool access is recorded separately.",
              "evidenceIds": []
            },
            {
              "id": "outlook",
              "question": "Does it work inside Outlook?",
              "support": "unknown",
              "answer": "Does it work inside Outlook? Teams and Microsoft connector guides were checked. Embedded assistance inside Word/Excel/PowerPoint, Outlook, Docs/Sheets/Gmail was not established; MCP tool access is recorded separately.",
              "evidenceIds": []
            },
            {
              "id": "teams",
              "question": "Is there a Teams app or bot?",
              "support": "supported",
              "answer": "Dust in Teams has an official integration guide and admin setup.",
              "evidenceIds": [
                "dust:dust:teams"
              ]
            },
            {
              "id": "google_workspace_apps",
              "question": "Does it work inside Docs, Sheets or Gmail?",
              "support": "unknown",
              "answer": "Does it work inside Docs, Sheets or Gmail? Teams and Microsoft connector guides were checked. Embedded assistance inside Word/Excel/PowerPoint, Outlook, Docs/Sheets/Gmail was not established; MCP tool access is recorded separately.",
              "evidenceIds": []
            },
            {
              "id": "licence_prerequisites",
              "question": "Which licences or consents are needed?",
              "support": "partial",
              "answer": "The Teams guide requires integration/admin authorization in a Dust workspace. Extra Microsoft/Dust licence charges were not established.",
              "evidenceIds": [
                "dust:dust:teams"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:teams"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:WORK-02",
          "verificationStatus": "not-published",
          "support": "not-published",
          "answer": "We found no public information on this. A missing finding is not evidence that the product lacks the capability.",
          "availability": null,
          "delivery": null,
          "scope": null,
          "questions": [],
          "limitations": [],
          "checkedAt": null,
          "crossCheckedAt": null,
          "nextCheckAt": null,
          "evidenceIds": []
        }
      ]
    },
    {
      "id": "WORK-03",
      "title": "Translation and writing",
      "group": {
        "id": 4,
        "name": "Daily work"
      },
      "judgment": "Record document translation preserving layout, the translation engine (LLM or dedicated such as DeepL), glossaries, formality control, supported languages including Swiss German conventions (no ß), and rewriting/proofreading tools. Translate the shared German contract into French and Italian and record layout and glossary results.",
      "questions": [
        {
          "id": "document_translation",
          "question": "Can whole documents be translated with formatting kept?"
        },
        {
          "id": "translation_engine",
          "question": "Which engine translates?"
        },
        {
          "id": "glossaries",
          "question": "Are company glossaries supported?"
        },
        {
          "id": "formality_and_variants",
          "question": "Can formality and regional variants (de-CH) be set?"
        },
        {
          "id": "writing_tools",
          "question": "Are dedicated rewrite and proofreading tools available?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:WORK-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Agents can perform language work, but document-translation fidelity and controlled terminology are untested.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "document_translation",
              "question": "Can whole documents be translated with formatting kept?",
              "support": "unknown",
              "answer": "Can whole documents be translated with formatting kept? Builder, file-processing and language documentation were checked. Whole-document translation with layout retention, a dedicated engine, company glossaries, formality/de-CH controls and DE-to-FR/IT fixture outcomes were not established.",
              "evidenceIds": []
            },
            {
              "id": "translation_engine",
              "question": "Which engine translates?",
              "support": "unknown",
              "answer": "Which engine translates? Builder, file-processing and language documentation were checked. Whole-document translation with layout retention, a dedicated engine, company glossaries, formality/de-CH controls and DE-to-FR/IT fixture outcomes were not established.",
              "evidenceIds": []
            },
            {
              "id": "glossaries",
              "question": "Are company glossaries supported?",
              "support": "unknown",
              "answer": "Are company glossaries supported? Builder, file-processing and language documentation were checked. Whole-document translation with layout retention, a dedicated engine, company glossaries, formality/de-CH controls and DE-to-FR/IT fixture outcomes were not established.",
              "evidenceIds": []
            },
            {
              "id": "formality_and_variants",
              "question": "Can formality and regional variants (de-CH) be set?",
              "support": "unknown",
              "answer": "Can formality and regional variants (de-CH) be set? Builder, file-processing and language documentation were checked. Whole-document translation with layout retention, a dedicated engine, company glossaries, formality/de-CH controls and DE-to-FR/IT fixture outcomes were not established.",
              "evidenceIds": []
            },
            {
              "id": "writing_tools",
              "question": "Are dedicated rewrite and proofreading tools available?",
              "support": "partial",
              "answer": "Configurable agent instructions and Computer document editing support writing workflows; a separate dedicated proofreading product was not established.",
              "evidenceIds": [
                "dust:dust:builder",
                "dust:dust:computer"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:builder",
            "dust:dust:computer"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:WORK-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "AI editing is documented in Notes. Dedicated layout-preserving translation and glossary behavior remain unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "document_translation",
              "question": "Can whole documents be translated with formatting kept?",
              "support": "unknown",
              "answer": "document_translation: Can whole documents be translated with formatting kept? No DE-to-FR/IT contract translation fixture, de-CH/formality acceptance test, company glossary or layout-preserving translator was verified in the Notes and document guides.",
              "evidenceIds": []
            },
            {
              "id": "translation_engine",
              "question": "Which engine translates?",
              "support": "partial",
              "answer": "Notes sends rewrite requests to the selected model. A dedicated translation service or whole-document translation workflow was not established.",
              "evidenceIds": [
                "open-webui:open-webui:notes"
              ]
            },
            {
              "id": "glossaries",
              "question": "Are company glossaries supported?",
              "support": "unknown",
              "answer": "glossaries: Are company glossaries supported? No DE-to-FR/IT contract translation fixture, de-CH/formality acceptance test, company glossary or layout-preserving translator was verified in the Notes and document guides.",
              "evidenceIds": []
            },
            {
              "id": "formality_and_variants",
              "question": "Can formality and regional variants (de-CH) be set?",
              "support": "unknown",
              "answer": "formality_and_variants: Can formality and regional variants (de-CH) be set? No DE-to-FR/IT contract translation fixture, de-CH/formality acceptance test, company glossary or layout-preserving translator was verified in the Notes and document guides.",
              "evidenceIds": []
            },
            {
              "id": "writing_tools",
              "question": "Are dedicated rewrite and proofreading tools available?",
              "support": "supported",
              "answer": "The Notes editor supports AI rewriting and improving selected text.",
              "evidenceIds": [
                "open-webui:open-webui:notes"
              ]
            }
          ],
          "limitations": [
            "document_translation: Can whole documents be translated with formatting kept? No DE-to-FR/IT contract translation fixture, de-CH/formality acceptance test, company glossary or layout-preserving translator was verified in the Notes and document guides.",
            "translation_engine: Notes sends rewrite requests to the selected model. A dedicated translation service or whole-document translation workflow was not established.",
            "glossaries: Are company glossaries supported? No DE-to-FR/IT contract translation fixture, de-CH/formality acceptance test, company glossary or layout-preserving translator was verified in the Notes and document guides.",
            "formality_and_variants: Can formality and regional variants (de-CH) be set? No DE-to-FR/IT contract translation fixture, de-CH/formality acceptance test, company glossary or layout-preserving translator was verified in the Notes and document guides."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:notes"
          ]
        }
      ]
    },
    {
      "id": "WORK-04",
      "title": "Image generation and editing",
      "group": {
        "id": 4,
        "name": "Daily work"
      },
      "judgment": "Record available image models, editing (inpainting, reference images), admin control and per-image cost visibility, and licence or usage terms for generated images.",
      "questions": [
        {
          "id": "image_generation",
          "question": "Can users generate images, with which models?"
        },
        {
          "id": "image_editing",
          "question": "Can users edit uploaded images?"
        },
        {
          "id": "admin_control",
          "question": "Can admins restrict image generation?"
        },
        {
          "id": "usage_terms",
          "question": "What usage rights apply to output?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:WORK-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Image tools use reference images and parallel generation; exact model and output-right terms need further evidence.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "image_generation",
              "question": "Can users generate images, with which models?",
              "support": "partial",
              "answer": "Image Generation is a configurable agent capability with SynthID-marked output. The exact current model identifier is not named in the checked guide.",
              "evidenceIds": [
                "dust:dust:images"
              ]
            },
            {
              "id": "image_editing",
              "question": "Can users edit uploaded images?",
              "support": "partial",
              "answer": "Uploaded and prior generated images can be used as references, with up to 14 references. Precise inpainting/masking controls were not established.",
              "evidenceIds": [
                "dust:dust:images"
              ]
            },
            {
              "id": "admin_control",
              "question": "Can admins restrict image generation?",
              "support": "partial",
              "answer": "Builders enable image tools in an agent, while group governance controls who creates/publishes agents. A separate organization/group image-off switch was not established.",
              "evidenceIds": [
                "dust:dust:images",
                "dust:dust:governance"
              ]
            },
            {
              "id": "usage_terms",
              "question": "What usage rights apply to output?",
              "support": "unknown",
              "answer": "What usage rights apply to output? The image guide and legal entry points were checked. Current model identifier, per-image tariff and contractual output usage rights were not established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:images",
            "dust:dust:governance"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:WORK-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Configured image engines generate and edit uploaded images, subject to feature permissions.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "image_generation",
              "question": "Can users generate images, with which models?",
              "support": "supported",
              "answer": "OpenAI, Gemini, ComfyUI and AUTOMATIC1111 are documented engine routes; exact models are operator-configured.",
              "evidenceIds": [
                "open-webui:open-webui:images"
              ]
            },
            {
              "id": "image_editing",
              "question": "Can users edit uploaded images?",
              "support": "supported",
              "answer": "The usage guide documents uploaded-image edits and multi-image compositing with an enabled editing engine.",
              "evidenceIds": [
                "open-webui:open-webui:image-usage"
              ]
            },
            {
              "id": "admin_control",
              "question": "Can admins restrict image generation?",
              "support": "supported",
              "answer": "Global image configuration, feature permission and model capability govern availability.",
              "evidenceIds": [
                "open-webui:open-webui:image-usage"
              ]
            },
            {
              "id": "usage_terms",
              "question": "What usage rights apply to output?",
              "support": "unknown",
              "answer": "usage_terms: What usage rights apply to output? Output rights and actual per-image costs depend on the chosen image service and were not established as a single Open WebUI entitlement.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "usage_terms: What usage rights apply to output? Output rights and actual per-image costs depend on the chosen image service and were not established as a single Open WebUI entitlement."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:images",
            "open-webui:open-webui:image-usage"
          ]
        }
      ]
    },
    {
      "id": "WORK-05",
      "title": "Voice and meetings",
      "group": {
        "id": 4,
        "name": "Daily work"
      },
      "judgment": "Record dictation, read-aloud, live voice conversation, meeting transcription and summarisation, supported languages including Swiss German speech, and where audio is processed.",
      "questions": [
        {
          "id": "dictation",
          "question": "Can users dictate prompts?"
        },
        {
          "id": "read_aloud",
          "question": "Can answers be read aloud?"
        },
        {
          "id": "voice_conversation",
          "question": "Is a live voice mode available?"
        },
        {
          "id": "meeting_summaries",
          "question": "Are meetings transcribed and summarised?"
        },
        {
          "id": "swiss_german_speech",
          "question": "Is Swiss German speech recognised?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:WORK-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Speech generation and meeting-transcript integrations are documented; live voice and Swiss German recognition remain unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "dictation",
              "question": "Can users dictate prompts?",
              "support": "unknown",
              "answer": "Can users dictate prompts? Speech, upload and meeting guides were checked. Prompt dictation, live two-way voice, Swiss German accuracy and audio-processing countries were not established.",
              "evidenceIds": []
            },
            {
              "id": "read_aloud",
              "question": "Can answers be read aloud?",
              "support": "partial",
              "answer": "Speech Generator converts written text to MP3 audio with selectable voices/languages; a one-click read-aloud mode for all responses was not established.",
              "evidenceIds": [
                "dust:dust:speech"
              ]
            },
            {
              "id": "voice_conversation",
              "question": "Is a live voice mode available?",
              "support": "unknown",
              "answer": "Is a live voice mode available? Speech, upload and meeting guides were checked. Prompt dictation, live two-way voice, Swiss German accuracy and audio-processing countries were not established.",
              "evidenceIds": []
            },
            {
              "id": "meeting_summaries",
              "question": "Are meetings transcribed and summarised?",
              "support": "supported",
              "answer": "Connected Granola/Fathom/Gong/Praiz transcripts can feed summaries; private Gong transcripts are excluded. This is not a native meeting recorder claim.",
              "evidenceIds": [
                "dust:dust:meetings"
              ]
            },
            {
              "id": "swiss_german_speech",
              "question": "Is Swiss German speech recognised?",
              "support": "unknown",
              "answer": "Is Swiss German speech recognised? Speech, upload and meeting guides were checked. Prompt dictation, live two-way voice, Swiss German accuracy and audio-processing countries were not established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:speech",
            "dust:dust:meetings"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:WORK-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Dictation, read-aloud and voice conversation use configured audio services. Swiss German recognition and a meeting workflow were not tested.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "dictation",
              "question": "Can users dictate prompts?",
              "support": "supported",
              "answer": "Audio configuration supports speech-to-text for prompts.",
              "evidenceIds": [
                "open-webui:open-webui:env"
              ]
            },
            {
              "id": "read_aloud",
              "question": "Can answers be read aloud?",
              "support": "supported",
              "answer": "Standard voice reads replies using the configured TTS engine, including browser options.",
              "evidenceIds": [
                "open-webui:open-webui:voice"
              ]
            },
            {
              "id": "voice_conversation",
              "question": "Is a live voice mode available?",
              "support": "supported",
              "answer": "Standard STT/TTS voice mode and separately configured realtime API calls are documented.",
              "evidenceIds": [
                "open-webui:open-webui:voice"
              ]
            },
            {
              "id": "meeting_summaries",
              "question": "Are meetings transcribed and summarised?",
              "support": "unknown",
              "answer": "meeting_summaries: Are meetings transcribed and summarised? No meeting-transcription fixture or Swiss German speech evaluation was run. Audio location depends on the chosen browser, local, Azure or other provider engine.",
              "evidenceIds": []
            },
            {
              "id": "swiss_german_speech",
              "question": "Is Swiss German speech recognised?",
              "support": "unknown",
              "answer": "swiss_german_speech: Is Swiss German speech recognised? No meeting-transcription fixture or Swiss German speech evaluation was run. Audio location depends on the chosen browser, local, Azure or other provider engine.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "meeting_summaries: Are meetings transcribed and summarised? No meeting-transcription fixture or Swiss German speech evaluation was run. Audio location depends on the chosen browser, local, Azure or other provider engine.",
            "swiss_german_speech: Is Swiss German speech recognised? No meeting-transcription fixture or Swiss German speech evaluation was run. Audio location depends on the chosen browser, local, Azure or other provider engine."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:env",
            "open-webui:open-webui:voice"
          ]
        }
      ]
    },
    {
      "id": "WORK-06",
      "title": "Data analysis and document output",
      "group": {
        "id": 4,
        "name": "Daily work"
      },
      "judgment": "Record code execution for data analysis, charts, and generation of downloadable Word, Excel, PowerPoint and PDF files. Analyse the fixture Excel and request a PowerPoint summary. Record where code runs and whether files are editable.",
      "questions": [
        {
          "id": "data_analysis",
          "question": "Can it analyse spreadsheets with executed code?"
        },
        {
          "id": "charts",
          "question": "Can it produce charts?"
        },
        {
          "id": "office_file_output",
          "question": "Can it create Word, Excel or PowerPoint files?"
        },
        {
          "id": "canvas_editing",
          "question": "Is there a document or canvas editor for iterating on output?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:WORK-06",
          "verificationStatus": "agent-cross-checked",
          "support": "supported",
          "answer": "Computer executes analysis and creates real Office files; Frames provide editable interactive output.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "data_analysis",
              "question": "Can it analyse spreadsheets with executed code?",
              "support": "supported",
              "answer": "Computer executes code to inspect and transform Excel/CSV, compute every-row results and return edited workbooks.",
              "evidenceIds": [
                "dust:dust:computer"
              ]
            },
            {
              "id": "charts",
              "question": "Can it produce charts?",
              "support": "supported",
              "answer": "Computer documents chart generation from spreadsheet data and inclusion in reports/decks.",
              "evidenceIds": [
                "dust:dust:computer"
              ]
            },
            {
              "id": "office_file_output",
              "question": "Can it create Word, Excel or PowerPoint files?",
              "support": "supported",
              "answer": "Computer creates/edits Word, Excel and PowerPoint files and returns downloadable artifacts, with fidelity caveats.",
              "evidenceIds": [
                "dust:dust:computer"
              ]
            },
            {
              "id": "canvas_editing",
              "question": "Is there a document or canvas editor for iterating on output?",
              "support": "supported",
              "answer": "Frames are persistent interactive content that can be revised through agents and shared.",
              "evidenceIds": [
                "dust:dust:frames"
              ]
            }
          ],
          "limitations": [
            "No Excel/PowerPoint fixture or artifact fidelity test. File Generation is deprecated in favor of Computer as of October 14, 2026."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:computer",
            "dust:dust:frames"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:WORK-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Optional Open Terminal runs analysis code and creates artifacts; Notes provides document editing.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [
              "Separately operated Open Terminal and document libraries; Enterprise Terminals optional"
            ],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "data_analysis",
              "question": "Can it analyse spreadsheets with executed code?",
              "support": "supported",
              "answer": "Open Terminal documents spreadsheet/CSV inspection and code-based data analysis on the separately deployed runtime.",
              "evidenceIds": [
                "open-webui:open-webui:terminal"
              ]
            },
            {
              "id": "charts",
              "question": "Can it produce charts?",
              "support": "supported",
              "answer": "Its data-analysis workflow includes generated charts and report artifacts.",
              "evidenceIds": [
                "open-webui:open-webui:terminal"
              ]
            },
            {
              "id": "office_file_output",
              "question": "Can it create Word, Excel or PowerPoint files?",
              "support": "partial",
              "answer": "The runtime can process Office files and create downloadable files through code and installed packages. Editable DOCX/XLSX/PPTX output was not verified with the shared fixture.",
              "evidenceIds": [
                "open-webui:open-webui:terminal"
              ]
            },
            {
              "id": "canvas_editing",
              "question": "Is there a document or canvas editor for iterating on output?",
              "support": "supported",
              "answer": "Notes offers a rich text and Markdown editor with AI rewrites.",
              "evidenceIds": [
                "open-webui:open-webui:notes"
              ]
            }
          ],
          "limitations": [
            "office_file_output: The runtime can process Office files and create downloadable files through code and installed packages. Editable DOCX/XLSX/PPTX output was not verified with the shared fixture."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:terminal",
            "open-webui:open-webui:notes"
          ]
        }
      ]
    },
    {
      "id": "WORK-07",
      "title": "Sharing and team spaces",
      "group": {
        "id": 4,
        "name": "Daily work"
      },
      "judgment": "Record chat sharing (link, user, group), shared projects or team spaces, channels or group chat with AI, and commenting. Test sharing a chat with a colleague in another group and record what the recipient sees, including knowledge they lack access to.",
      "questions": [
        {
          "id": "share_chats",
          "question": "Can chats be shared inside the organisation?"
        },
        {
          "id": "team_spaces",
          "question": "Are shared projects or workspaces available?"
        },
        {
          "id": "group_chat",
          "question": "Can several people chat together with the AI?"
        },
        {
          "id": "share_permission_boundary",
          "question": "Does sharing respect the recipient's access to sources?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:WORK-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Pods provide shared team conversations, files and tasks; source-sharing effects still need testing.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "share_chats",
              "question": "Can chats be shared inside the organisation?",
              "support": "supported",
              "answer": "Pod conversations are visible to all members, who can contribute.",
              "evidenceIds": [
                "dust:dust:pod-chats"
              ]
            },
            {
              "id": "team_spaces",
              "question": "Are shared projects or workspaces available?",
              "support": "supported",
              "answer": "Open/Restricted Pods group conversations, files and tasks; restricted access is invite-only.",
              "evidenceIds": [
                "dust:dust:pods"
              ]
            },
            {
              "id": "group_chat",
              "question": "Can several people chat together with the AI?",
              "support": "supported",
              "answer": "Teammates and agents participate in the same Pod thread and can be mentioned.",
              "evidenceIds": [
                "dust:dust:pod-chats"
              ]
            },
            {
              "id": "share_permission_boundary",
              "question": "Does sharing respect the recipient's access to sources?",
              "support": "partial",
              "answer": "All Pod members read conversation contents. Spaces restrict source/agent use and personal tools act under their user; recipient-safe redaction of previously generated text was not established.",
              "evidenceIds": [
                "dust:dust:pod-chats",
                "dust:dust:permissions",
                "dust:dust:credentials"
              ]
            }
          ],
          "limitations": [
            "No cross-group sharing fixture. Do not infer source-ACL propagation from Pod membership."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:pod-chats",
            "dust:dust:pods",
            "dust:dust:permissions",
            "dust:dust:credentials"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:WORK-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Chats, shared resources and multi-person channels are documented. Recipient source-access boundaries were not tested.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "share_chats",
              "question": "Can chats be shared inside the organisation?",
              "support": "supported",
              "answer": "Chat sharing is a configurable permission and users can manage shared chats.",
              "evidenceIds": [
                "open-webui:open-webui:permissions",
                "open-webui:open-webui:export"
              ]
            },
            {
              "id": "team_spaces",
              "question": "Are shared projects or workspaces available?",
              "support": "partial",
              "answer": "Groups organize shared models/knowledge and channels organize collaboration. This is not evidence of separate legal-entity tenancy.",
              "evidenceIds": [
                "open-webui:open-webui:groups",
                "open-webui:open-webui:channels"
              ]
            },
            {
              "id": "group_chat",
              "question": "Can several people chat together with the AI?",
              "support": "supported",
              "answer": "Channels support multiple members and AI participation.",
              "evidenceIds": [
                "open-webui:open-webui:channels"
              ]
            },
            {
              "id": "share_permission_boundary",
              "question": "Does sharing respect the recipient's access to sources?",
              "support": "unknown",
              "answer": "share_permission_boundary: Does sharing respect the recipient's access to sources? No colleague-in-another-group chat-sharing fixture was run; transcript sharing may reveal already included content independently of original source access.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "team_spaces: Groups organize shared models/knowledge and channels organize collaboration. This is not evidence of separate legal-entity tenancy.",
            "share_permission_boundary: Does sharing respect the recipient's access to sources? No colleague-in-another-group chat-sharing fixture was run; transcript sharing may reveal already included content independently of original source access."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:permissions",
            "open-webui:open-webui:export",
            "open-webui:open-webui:groups",
            "open-webui:open-webui:channels"
          ]
        }
      ]
    },
    {
      "id": "WORK-08",
      "title": "Interface languages and accessibility",
      "group": {
        "id": 4,
        "name": "Daily work"
      },
      "judgment": "Record UI languages, focusing on German, French, Italian and English, with translation quality observed (complete, partial, machine-translated). Record response language handling and WCAG conformance statements.",
      "questions": [
        {
          "id": "ui_languages",
          "question": "Which UI languages are offered?"
        },
        {
          "id": "dach_language_quality",
          "question": "Are German, French and Italian UIs complete and natural?"
        },
        {
          "id": "accessibility_statement",
          "question": "Is there a WCAG conformance statement?"
        },
        {
          "id": "admin_ui_languages",
          "question": "Is the admin interface available in German?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:WORK-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "German and French UI releases are documented alongside English, with remaining English areas.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "ui_languages",
              "question": "Which UI languages are offered?",
              "support": "supported",
              "answer": "October 21, 2026 release adds German; October 16 adds French alongside English US/UK, across product, Frames, extension, Sidekick and Slack/Teams.",
              "evidenceIds": [
                "dust:dust:changelog"
              ]
            },
            {
              "id": "dach_language_quality",
              "question": "Are German, French and Italian UIs complete and natural?",
              "support": "partial",
              "answer": "Release notes explicitly leave agent/skill names and instructions in English. German/French naturalness and completeness were not observed; Italian UI was not established.",
              "evidenceIds": [
                "dust:dust:changelog"
              ]
            },
            {
              "id": "accessibility_statement",
              "question": "Is there a WCAG conformance statement?",
              "support": "unknown",
              "answer": "Is there a WCAG conformance statement? The dated locale announcements were checked; Italian UI and a WCAG conformance statement/report were not established.",
              "evidenceIds": []
            },
            {
              "id": "admin_ui_languages",
              "question": "Is the admin interface available in German?",
              "support": "partial",
              "answer": "Admins can set a workspace default language. A complete German admin-screen walkthrough was not observed.",
              "evidenceIds": [
                "dust:dust:changelog"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:changelog"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:WORK-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "English, German, French and Italian locales are present in the pinned client. Completeness, naturalness and WCAG conformance are unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "New extension/locale findings inspected at v0.12.4 / 33c1978d5bad52a31df75ea55143025dfad18d16; earlier accepted documented facts retained",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "ui_languages",
              "question": "Which UI languages are offered?",
              "support": "supported",
              "answer": "The locale registry includes en-US/en-GB, de-DE, fr-FR and it-IT among other languages.",
              "evidenceIds": [
                "open-webui:open-webui:i18n-pin"
              ]
            },
            {
              "id": "dach_language_quality",
              "question": "Are German, French and Italian UIs complete and natural?",
              "support": "unknown",
              "answer": "dach_language_quality: Are German, French and Italian UIs complete and natural? Locale registration is not a UI-quality test. No full German admin-screen walkthrough or WCAG conformance report was reviewed; broader i18n and accessibility remain roadmap topics.",
              "evidenceIds": []
            },
            {
              "id": "accessibility_statement",
              "question": "Is there a WCAG conformance statement?",
              "support": "unknown",
              "answer": "accessibility_statement: Is there a WCAG conformance statement? Locale registration is not a UI-quality test. No full German admin-screen walkthrough or WCAG conformance report was reviewed; broader i18n and accessibility remain roadmap topics.",
              "evidenceIds": []
            },
            {
              "id": "admin_ui_languages",
              "question": "Is the admin interface available in German?",
              "support": "partial",
              "answer": "The pinned German locale includes Admin Panel, user-management and settings labels. Full admin-screen translation coverage and naturalness were not observed; the public roadmap still lists full internationalization as planned.",
              "evidenceIds": [
                "open-webui:open-webui:r4-german-admin-translations"
              ]
            }
          ],
          "limitations": [
            "dach_language_quality: Are German, French and Italian UIs complete and natural? Locale registration is not a UI-quality test. No full German admin-screen walkthrough or WCAG conformance report was reviewed; broader i18n and accessibility remain roadmap topics.",
            "accessibility_statement: Is there a WCAG conformance statement? Locale registration is not a UI-quality test. No full German admin-screen walkthrough or WCAG conformance report was reviewed; broader i18n and accessibility remain roadmap topics.",
            "admin_ui_languages: Is the admin interface available in German? Locale registration is not a UI-quality test. No full German admin-screen walkthrough or WCAG conformance report was reviewed; broader i18n and accessibility remain roadmap topics."
          ],
          "checkedAt": "2026-10-26",
          "crossCheckedAt": "2026-10-26",
          "nextCheckAt": "2026-12-25",
          "evidenceIds": [
            "open-webui:open-webui:i18n-pin",
            "open-webui:open-webui:r4-german-admin-translations"
          ]
        }
      ]
    },
    {
      "id": "ADM-01",
      "title": "Single sign-on and authentication",
      "group": {
        "id": 5,
        "name": "Administration and governance"
      },
      "judgment": "Record SAML, OIDC, Microsoft Entra ID, Google, LDAP, MFA enforcement, conditional-access compatibility, domain verification and plan restrictions. Test one SSO login on a trial where possible.",
      "questions": [
        {
          "id": "sso_protocols",
          "question": "Which SSO protocols and identity providers work?"
        },
        {
          "id": "sso_plan",
          "question": "Which plan includes SSO?"
        },
        {
          "id": "mfa",
          "question": "Can MFA be enforced?"
        },
        {
          "id": "conditional_access",
          "question": "Do Entra conditional-access policies apply?"
        },
        {
          "id": "domain_capture",
          "question": "Can the company claim its email domain?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:ADM-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "SAML SSO can be enforced; Business offers it from five seats on demand.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "sso_protocols",
              "question": "Which SSO protocols and identity providers work?",
              "support": "supported",
              "answer": "SAML SSO is documented, with Okta, Entra ID and JumpCloud named on pricing. Enterprise marketing also names OIDC; a full provider/protocol matrix was not verified.",
              "evidenceIds": [
                "dust:dust:sso",
                "dust:dust:pricing",
                "dust:dust:enterprise"
              ]
            },
            {
              "id": "sso_plan",
              "question": "Which plan includes SSO?",
              "support": "supported",
              "answer": "Business pricing lists SSO for 5+ seats on demand; Enterprise includes it.",
              "evidenceIds": [
                "dust:dust:pricing"
              ]
            },
            {
              "id": "mfa",
              "question": "Can MFA be enforced?",
              "support": "partial",
              "answer": "Enforced SAML routes sign-in through the IdP. Specific MFA enforcement behavior was not tested or established in the checked setup guide.",
              "evidenceIds": [
                "dust:dust:sso"
              ]
            },
            {
              "id": "conditional_access",
              "question": "Do Entra conditional-access policies apply?",
              "support": "unknown",
              "answer": "Do Entra conditional-access policies apply? SSO and plan guides were checked; conditional-access compatibility and verified-domain capture/migration semantics were not established.",
              "evidenceIds": []
            },
            {
              "id": "domain_capture",
              "question": "Can the company claim its email domain?",
              "support": "unknown",
              "answer": "Can the company claim its email domain? SSO and plan guides were checked; conditional-access compatibility and verified-domain capture/migration semantics were not established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "No self-serve SSO login test."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:sso",
            "dust:dust:pricing",
            "dust:dust:enterprise"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:ADM-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "OAuth/OIDC, trusted-header and directory authentication are documented; standard self-hosting includes configuration access.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "sso_protocols",
              "question": "Which SSO protocols and identity providers work?",
              "support": "supported",
              "answer": "OAuth/OIDC includes Microsoft, Google and generic providers; trusted-header proxies and LDAP are documented. Direct SAML was not established.",
              "evidenceIds": [
                "open-webui:open-webui:sso",
                "open-webui:open-webui:roles"
              ]
            },
            {
              "id": "sso_plan",
              "question": "Which plan includes SSO?",
              "support": "supported",
              "answer": "The public self-hosted authentication configuration is available under standard use, with no separately listed SSO charge.",
              "evidenceIds": [
                "open-webui:open-webui:sso",
                "open-webui:open-webui:enterprise"
              ]
            },
            {
              "id": "mfa",
              "question": "Can MFA be enforced?",
              "support": "supported",
              "answer": "Admins can enable built-in authenticator-based MFA and choose whether OAuth may bypass it.",
              "evidenceIds": [
                "open-webui:open-webui:mfa"
              ]
            },
            {
              "id": "conditional_access",
              "question": "Do Entra conditional-access policies apply?",
              "support": "partial",
              "answer": "The privacy guide recommends enforcing MFA, conditional access and device posture at the identity provider. No Entra sign-in fixture was run.",
              "evidenceIds": [
                "open-webui:open-webui:privacy"
              ]
            },
            {
              "id": "domain_capture",
              "question": "Can the company claim its email domain?",
              "support": "unknown",
              "answer": "domain_capture: Can the company claim its email domain? Email-domain filtering settings do not establish enterprise domain ownership capture; this was not verified.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "conditional_access: The privacy guide recommends enforcing MFA, conditional access and device posture at the identity provider. No Entra sign-in fixture was run.",
            "domain_capture: Can the company claim its email domain? Email-domain filtering settings do not establish enterprise domain ownership capture; this was not verified."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:sso",
            "open-webui:open-webui:roles",
            "open-webui:open-webui:enterprise",
            "open-webui:open-webui:mfa",
            "open-webui:open-webui:privacy"
          ]
        }
      ]
    },
    {
      "id": "ADM-02",
      "title": "User provisioning and lifecycle",
      "group": {
        "id": 5,
        "name": "Administration and governance"
      },
      "judgment": "Record SCIM, just-in-time provisioning, group sync from the identity provider, deprovisioning effects (chats, assistants, knowledge ownership transfer) and licence assignment. Deprovision a test user and record what happens to their content.",
      "questions": [
        {
          "id": "scim",
          "question": "Is SCIM provisioning supported?"
        },
        {
          "id": "group_sync",
          "question": "Are identity-provider groups synced?"
        },
        {
          "id": "jit_provisioning",
          "question": "Are users created at first login?"
        },
        {
          "id": "deprovisioning",
          "question": "What happens to a removed user's data and shared assets?"
        },
        {
          "id": "seat_assignment",
          "question": "Can admins assign and reclaim seats?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:ADM-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Enterprise SCIM and group roles are documented, with specific annual-seat reclaim behavior.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Enterprise for SCIM; seat-management differences stated",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "scim",
              "question": "Is SCIM provisioning supported?",
              "support": "supported",
              "answer": "SCIM 2.0 creates, updates and deactivates users from an IdP as an Enterprise feature.",
              "evidenceIds": [
                "dust:dust:provision"
              ]
            },
            {
              "id": "group_sync",
              "question": "Are identity-provider groups synced?",
              "support": "supported",
              "answer": "Provisioned IdP groups govern Space access and can map to Admin/Manager roles.",
              "evidenceIds": [
                "dust:dust:provision",
                "dust:dust:spaces"
              ]
            },
            {
              "id": "jit_provisioning",
              "question": "Are users created at first login?",
              "support": "unknown",
              "answer": "Are users created at first login? Provisioning and seat docs were checked. First-login JIT creation and complete leaver-data transfer were not established.",
              "evidenceIds": []
            },
            {
              "id": "deprovisioning",
              "question": "What happens to a removed user's data and shared assets?",
              "support": "partial",
              "answer": "SCIM deactivates users; removal/reassignment affects seats but exact chat/agent/knowledge ownership transfer was not tested.",
              "evidenceIds": [
                "dust:dust:provision",
                "dust:dust:seats"
              ]
            },
            {
              "id": "seat_assignment",
              "question": "Can admins assign and reclaim seats?",
              "support": "supported",
              "answer": "Admins assign seat types independent of roles. Unassigned members cannot interact with agents; annual seats return to stock, and already-granted credits can persist to period end.",
              "evidenceIds": [
                "dust:dust:seats"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:provision",
            "dust:dust:spaces",
            "dust:dust:seats"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:ADM-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "SCIM and login-time identity groups are documented; content ownership after removing a user needs further verification.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "SCIM bearer-token authentication rechecked at v0.12.4 / 33c1978d5bad52a31df75ea55143025dfad18d16 and current guide on 2026-10-26; other accepted identity facts retain their own cited versions",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "scim",
              "question": "Is SCIM provisioning supported?",
              "support": "supported",
              "answer": "SCIM 2.0 provisions/deactivates users and manages groups when enabled through SCIM_ENABLED and authenticated with the configured SCIM_TOKEN bearer token. The documented configuration does not expose user-selectable token scopes.",
              "evidenceIds": [
                "open-webui:open-webui:r7-scim-bearer-doc",
                "open-webui:open-webui:r7-scim-bearer-code"
              ]
            },
            {
              "id": "group_sync",
              "question": "Are identity-provider groups synced?",
              "support": "supported",
              "answer": "OAuth group management syncs claims at sign-in; SCIM also manages memberships.",
              "evidenceIds": [
                "open-webui:open-webui:sso",
                "open-webui:open-webui:scim"
              ]
            },
            {
              "id": "jit_provisioning",
              "question": "Are users created at first login?",
              "support": "supported",
              "answer": "OAuth account creation and optional JIT group creation can be enabled.",
              "evidenceIds": [
                "open-webui:open-webui:sso"
              ]
            },
            {
              "id": "deprovisioning",
              "question": "What happens to a removed user's data and shared assets?",
              "support": "partial",
              "answer": "SCIM active=false maps ordinary users to pending and disconnects live sessions. Asset transfer and retained shared content were not fixture-tested.",
              "evidenceIds": [
                "open-webui:open-webui:scim"
              ]
            },
            {
              "id": "seat_assignment",
              "question": "Can admins assign and reclaim seats?",
              "support": "partial",
              "answer": "Administrators control user accounts and roles. Standard use has no paid per-seat licence assignment mechanism to price; Enterprise entitlements were not reviewed.",
              "evidenceIds": [
                "open-webui:open-webui:roles",
                "open-webui:open-webui:enterprise"
              ]
            }
          ],
          "limitations": [
            "deprovisioning: SCIM active=false maps ordinary users to pending and disconnects live sessions. Asset transfer and retained shared content were not fixture-tested.",
            "seat_assignment: Administrators control user accounts and roles. Standard use has no paid per-seat licence assignment mechanism to price; Enterprise entitlements were not reviewed.",
            "No user-selectable token-scope control was established from the current SCIM guide or pinned authentication path."
          ],
          "checkedAt": "2026-10-26",
          "crossCheckedAt": "2026-10-26",
          "nextCheckAt": "2026-12-25",
          "evidenceIds": [
            "open-webui:open-webui:scim",
            "open-webui:open-webui:sso",
            "open-webui:open-webui:roles",
            "open-webui:open-webui:enterprise",
            "open-webui:open-webui:r7-scim-bearer-doc",
            "open-webui:open-webui:r7-scim-bearer-code"
          ]
        }
      ]
    },
    {
      "id": "ADM-03",
      "title": "Roles, groups and feature permissions",
      "group": {
        "id": 5,
        "name": "Administration and governance"
      },
      "judgment": "Record admin roles, delegated admins, groups, per-feature permissions (web search, image generation, connectors, file upload, agents), separation of subsidiaries or departments, and enforcement. Test one disabled feature for one group.",
      "questions": [
        {
          "id": "admin_roles",
          "question": "Which admin roles exist, and can admin rights be delegated?"
        },
        {
          "id": "groups",
          "question": "Can permissions be set per group?"
        },
        {
          "id": "feature_toggles",
          "question": "Which features can be switched on or off per group?"
        },
        {
          "id": "multi_entity",
          "question": "Can subsidiaries or departments be separated within one contract?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:ADM-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Dust separates Admin, Manager, Member and group-manager permissions and supports restricted knowledge spaces.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "admin_roles",
              "question": "Which admin roles exist, and can admin rights be delegated?",
              "support": "supported",
              "answer": "Admins control all governance; Managers delegate member/group/usage administration; group managers administer selected groups.",
              "evidenceIds": [
                "dust:dust:governance"
              ]
            },
            {
              "id": "groups",
              "question": "Can permissions be set per group?",
              "support": "supported",
              "answer": "Permissions go to manual or provisioned groups using Everyone, Groups or Admin-only modes. Multiple grants combine additively.",
              "evidenceIds": [
                "dust:dust:governance"
              ]
            },
            {
              "id": "feature_toggles",
              "question": "Which features can be switched on or off per group?",
              "support": "partial",
              "answer": "Group controls cover agent/skill creation and publishing, automation charging, billing/security and model ceilings. An exhaustive per-feature toggle matrix for uploads/web/images was not established.",
              "evidenceIds": [
                "dust:dust:governance",
                "dust:dust:tiers"
              ]
            },
            {
              "id": "multi_entity",
              "question": "Can subsidiaries or departments be separated within one contract?",
              "support": "partial",
              "answer": "Restricted Spaces and Pods separate audiences inside a workspace; separate legal/subsidiary tenant boundaries within one contract were not established.",
              "evidenceIds": [
                "dust:dust:spaces",
                "dust:dust:pods"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:governance",
            "dust:dust:tiers",
            "dust:dust:spaces",
            "dust:dust:pods"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:ADM-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Roles and additive groups provide feature and resource permissions; separate instances remain the documented stronger trust boundary.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "admin_roles",
              "question": "Which admin roles exist, and can admin rights be delegated?",
              "support": "partial",
              "answer": "Admin, User and Pending are system roles. Admin access can be reduced by product flags, but a least-privilege delegated-admin role matrix was not established.",
              "evidenceIds": [
                "open-webui:open-webui:roles"
              ]
            },
            {
              "id": "groups",
              "question": "Can permissions be set per group?",
              "support": "supported",
              "answer": "User/group resource grants and additive feature permissions are documented.",
              "evidenceIds": [
                "open-webui:open-webui:groups"
              ]
            },
            {
              "id": "feature_toggles",
              "question": "Which features can be switched on or off per group?",
              "support": "supported",
              "answer": "Permissions cover web search, images, files, model creation, tools, knowledge, memories and other features.",
              "evidenceIds": [
                "open-webui:open-webui:permissions"
              ]
            },
            {
              "id": "multi_entity",
              "question": "Can subsidiaries or departments be separated within one contract?",
              "support": "partial",
              "answer": "Groups can organize departments; the privacy guide recommends separate instances/databases/operators for distinct trust boundaries. A multi-entity commercial contract was not reviewed.",
              "evidenceIds": [
                "open-webui:open-webui:groups",
                "open-webui:open-webui:privacy"
              ]
            }
          ],
          "limitations": [
            "admin_roles: Admin, User and Pending are system roles. Admin access can be reduced by product flags, but a least-privilege delegated-admin role matrix was not established.",
            "multi_entity: Groups can organize departments; the privacy guide recommends separate instances/databases/operators for distinct trust boundaries. A multi-entity commercial contract was not reviewed."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:roles",
            "open-webui:open-webui:groups",
            "open-webui:open-webui:permissions",
            "open-webui:open-webui:privacy"
          ]
        }
      ]
    },
    {
      "id": "ADM-04",
      "title": "Usage and adoption analytics",
      "group": {
        "id": 5,
        "name": "Administration and governance"
      },
      "judgment": "Record dashboards for active users, usage by feature, model, group and assistant, export, and privacy controls (aggregation, pseudonymisation, works-council-friendly settings). Distinguish aggregate adoption metrics from per-person monitoring.",
      "questions": [
        {
          "id": "adoption_dashboard",
          "question": "Is there an adoption dashboard?"
        },
        {
          "id": "breakdowns",
          "question": "Can usage be broken down by group, model, feature and assistant?"
        },
        {
          "id": "export",
          "question": "Can usage data be exported?"
        },
        {
          "id": "privacy_modes",
          "question": "Can per-person reporting be limited or pseudonymised?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:ADM-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Consumption analytics has detailed attribution and exports without message content.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "adoption_dashboard",
              "question": "Is there an adoption dashboard?",
              "support": "partial",
              "answer": "Pricing lists usage/adoption reporting; the Analytics guide focuses on credit consumption and attribution rather than a complete active-user adoption scorecard.",
              "evidenceIds": [
                "dust:dust:pricing",
                "dust:dust:analytics"
              ]
            },
            {
              "id": "breakdowns",
              "question": "Can usage be broken down by group, model, feature and assistant?",
              "support": "supported",
              "answer": "Analytics filters/ranks agents, members, groups, models, tools, sources, API keys, skills and Pods. Group attribution may count a member in several groups.",
              "evidenceIds": [
                "dust:dust:analytics"
              ]
            },
            {
              "id": "export",
              "question": "Can usage data be exported?",
              "support": "supported",
              "answer": "Raw CSV consumption export and API analytics export are documented, with workspace enablement and key-scope restrictions.",
              "evidenceIds": [
                "dust:dust:analytics"
              ]
            },
            {
              "id": "privacy_modes",
              "question": "Can per-person reporting be limited or pseudonymised?",
              "support": "partial",
              "answer": "Analytics exports omit message content, but contain member/message/conversation identifiers. Pseudonymous or works-council privacy modes were not established.",
              "evidenceIds": [
                "dust:dust:analytics"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:pricing",
            "dust:dust:analytics"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:ADM-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Admin analytics provides user/model/group activity and token reports, with API export.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "adoption_dashboard",
              "question": "Is there an adoption dashboard?",
              "support": "supported",
              "answer": "The dashboard reports messages, chats, token usage and user activity by date range.",
              "evidenceIds": [
                "open-webui:open-webui:analytics"
              ]
            },
            {
              "id": "breakdowns",
              "question": "Can usage be broken down by group, model, feature and assistant?",
              "support": "partial",
              "answer": "User, model and group views are documented. Complete feature/assistant breakdowns were not established.",
              "evidenceIds": [
                "open-webui:open-webui:analytics"
              ]
            },
            {
              "id": "export",
              "question": "Can usage data be exported?",
              "support": "supported",
              "answer": "Analytics API endpoints can be exported into JSON or external BI tooling.",
              "evidenceIds": [
                "open-webui:open-webui:analytics"
              ]
            },
            {
              "id": "privacy_modes",
              "question": "Can per-person reporting be limited or pseudonymised?",
              "support": "partial",
              "answer": "Admins can disable analytics and product-level chat access. Pseudonymized reporting was not established; the default user table identifies users.",
              "evidenceIds": [
                "open-webui:open-webui:analytics",
                "open-webui:open-webui:privacy"
              ]
            }
          ],
          "limitations": [
            "breakdowns: User, model and group views are documented. Complete feature/assistant breakdowns were not established.",
            "privacy_modes: Admins can disable analytics and product-level chat access. Pseudonymized reporting was not established; the default user table identifies users."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:analytics",
            "open-webui:open-webui:privacy"
          ]
        }
      ]
    },
    {
      "id": "ADM-05",
      "title": "Spend controls and cost allocation",
      "group": {
        "id": 5,
        "name": "Administration and governance"
      },
      "judgment": "Record cost visibility per user, group and cost centre, budgets and their behaviour (alert, block, downgrade model), pooled credits, and chargeback exports. Test a small budget on a trial where possible. Distinguish billed amounts, estimates and unavailable amounts.",
      "questions": [
        {
          "id": "cost_visibility",
          "question": "Can admins see cost or consumption per user and group?"
        },
        {
          "id": "budgets",
          "question": "Can budgets be set per user or group?"
        },
        {
          "id": "budget_enforcement",
          "question": "Does reaching a budget alert, block or downgrade?"
        },
        {
          "id": "chargeback",
          "question": "Can costs be exported per cost centre?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:ADM-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Credit plans offer consumption visibility, member limits and plan-specific pooled budgets, with programmatic exceptions.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "cost_visibility",
              "question": "Can admins see cost or consumption per user and group?",
              "support": "supported",
              "answer": "Analytics and Credits show consumed credits by member, group, model, tool and agent. Credits are not assumed to be invoice currency.",
              "evidenceIds": [
                "dust:dust:analytics",
                "dust:dust:credit-management"
              ]
            },
            {
              "id": "budgets",
              "question": "Can budgets be set per user or group?",
              "support": "supported",
              "answer": "Members have shared-pool spend limits; beta group budgets require Enterprise Pooled. Programmatic monthly and API-key caps are separate.",
              "evidenceIds": [
                "dust:dust:credit-management",
                "dust:dust:api-keys"
              ]
            },
            {
              "id": "budget_enforcement",
              "question": "Does reaching a budget alert, block or downgrade?",
              "support": "supported",
              "answer": "Pool limits/group budgets block further requests; an in-progress message can finish above its starting cap. API calls reject at per-key caps. Optional automatic seat upgrades may increase billed subscriptions.",
              "evidenceIds": [
                "dust:dust:credit-management",
                "dust:dust:api-keys"
              ]
            },
            {
              "id": "chargeback",
              "question": "Can costs be exported per cost centre?",
              "support": "partial",
              "answer": "Consumption CSV includes groups and identifiers, but group attribution can duplicate usage and is not a guaranteed invoice-ready cost-center chargeback.",
              "evidenceIds": [
                "dust:dust:analytics"
              ]
            }
          ],
          "limitations": [
            "Group budgets are beta and exclude programmatic usage. No budget fixture test."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:analytics",
            "dust:dust:credit-management",
            "dust:dust:api-keys"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:ADM-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Token usage supports cost estimation; enforced monetary budgets and cost-centre exports remain unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "cost_visibility",
              "question": "Can admins see cost or consumption per user and group?",
              "support": "partial",
              "answer": "Analytics exposes provider-reported input/output tokens by user/model/group; billed currency requires multiplying by external provider prices.",
              "evidenceIds": [
                "open-webui:open-webui:analytics"
              ]
            },
            {
              "id": "budgets",
              "question": "Can budgets be set per user or group?",
              "support": "unknown",
              "answer": "budgets: Can budgets be set per user or group? The analytics and roadmap sources were checked. Numeric user/group budgets, block/downgrade behavior and cost-centre chargeback exports were not established; a low-budget test was not run.",
              "evidenceIds": []
            },
            {
              "id": "budget_enforcement",
              "question": "Does reaching a budget alert, block or downgrade?",
              "support": "unknown",
              "answer": "budget_enforcement: Does reaching a budget alert, block or downgrade? The analytics and roadmap sources were checked. Numeric user/group budgets, block/downgrade behavior and cost-centre chargeback exports were not established; a low-budget test was not run.",
              "evidenceIds": []
            },
            {
              "id": "chargeback",
              "question": "Can costs be exported per cost centre?",
              "support": "unknown",
              "answer": "chargeback: Can costs be exported per cost centre? The analytics and roadmap sources were checked. Numeric user/group budgets, block/downgrade behavior and cost-centre chargeback exports were not established; a low-budget test was not run.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "cost_visibility: Analytics exposes provider-reported input/output tokens by user/model/group; billed currency requires multiplying by external provider prices.",
            "budgets: Can budgets be set per user or group? The analytics and roadmap sources were checked. Numeric user/group budgets, block/downgrade behavior and cost-centre chargeback exports were not established; a low-budget test was not run.",
            "budget_enforcement: Does reaching a budget alert, block or downgrade? The analytics and roadmap sources were checked. Numeric user/group budgets, block/downgrade behavior and cost-centre chargeback exports were not established; a low-budget test was not run.",
            "chargeback: Can costs be exported per cost centre? The analytics and roadmap sources were checked. Numeric user/group budgets, block/downgrade behavior and cost-centre chargeback exports were not established; a low-budget test was not run."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:analytics"
          ]
        }
      ]
    },
    {
      "id": "ADM-06",
      "title": "Audit logs and compliance export",
      "group": {
        "id": 5,
        "name": "Administration and governance"
      },
      "judgment": "Record which events are logged (logins, admin changes, prompts, responses, file access, connector queries), retention, export or SIEM streaming, and eDiscovery/legal hold. Use the word audit only with a defined retention and integrity model.",
      "questions": [
        {
          "id": "admin_events",
          "question": "Are admin and security events logged?"
        },
        {
          "id": "content_logging",
          "question": "Can prompts and answers be retained for compliance, and is it configurable?"
        },
        {
          "id": "siem_export",
          "question": "Can logs stream to a SIEM or be exported?"
        },
        {
          "id": "ediscovery",
          "question": "Are eDiscovery and legal hold supported?"
        },
        {
          "id": "log_retention",
          "question": "How long are logs kept?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:ADM-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Enterprise has documented event logs and SIEM delivery; content logging and legal hold remain unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web",
              "api"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Enterprise",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              },
              {
                "id": "api",
                "name": "Dust APIs and MCP server",
                "type": "api"
              }
            ]
          },
          "questions": [
            {
              "id": "admin_events",
              "question": "Are admin and security events logged?",
              "support": "supported",
              "answer": "Enterprise Audit Logs record significant admin/security, user, API-key, system and tool events with timestamps, targets and actor metadata.",
              "evidenceIds": [
                "dust:dust:audit"
              ]
            },
            {
              "id": "content_logging",
              "question": "Can prompts and answers be retained for compliance, and is it configurable?",
              "support": "unknown",
              "answer": "Can prompts and answers be retained for compliance, and is it configurable? Audit, analytics and public legal entry points were checked. Prompt/response compliance capture, eDiscovery/legal hold and detailed log-integrity implementation/retention contract were not established.",
              "evidenceIds": []
            },
            {
              "id": "siem_export",
              "question": "Can logs stream to a SIEM or be exported?",
              "support": "supported",
              "answer": "CSV export and continuous destinations include Datadog, Splunk, S3, GCS and custom HTTPS.",
              "evidenceIds": [
                "dust:dust:audit"
              ]
            },
            {
              "id": "ediscovery",
              "question": "Are eDiscovery and legal hold supported?",
              "support": "unknown",
              "answer": "Are eDiscovery and legal hold supported? Audit, analytics and public legal entry points were checked. Prompt/response compliance capture, eDiscovery/legal hold and detailed log-integrity implementation/retention contract were not established.",
              "evidenceIds": []
            },
            {
              "id": "log_retention",
              "question": "How long are logs kept?",
              "support": "partial",
              "answer": "Enterprise marketing states 365-day audit retention; no underlying report/contract or configurable retention details were retrieved.",
              "evidenceIds": [
                "dust:dust:enterprise"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:audit",
            "dust:dust:enterprise"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:ADM-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Optional request logging can capture metadata or content and stream to operator log infrastructure. It is not a verified immutable compliance archive.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "admin_events",
              "question": "Are admin and security events logged?",
              "support": "supported",
              "answer": "Configured request logging can include authentication and administrative API paths.",
              "evidenceIds": [
                "open-webui:open-webui:hardening"
              ]
            },
            {
              "id": "content_logging",
              "question": "Can prompts and answers be retained for compliance, and is it configurable?",
              "support": "supported",
              "answer": "REQUEST and REQUEST_RESPONSE levels add bodies, subject to path exclusions and a body-size cap; metadata-only capture is also available.",
              "evidenceIds": [
                "open-webui:open-webui:hardening"
              ]
            },
            {
              "id": "siem_export",
              "question": "Can logs stream to a SIEM or be exported?",
              "support": "supported",
              "answer": "File or stdout output can feed an operator-managed log collector.",
              "evidenceIds": [
                "open-webui:open-webui:hardening"
              ]
            },
            {
              "id": "ediscovery",
              "question": "Are eDiscovery and legal hold supported?",
              "support": "unknown",
              "answer": "ediscovery: Are eDiscovery and legal hold supported? No eDiscovery/legal-hold contract or immutable retention/integrity model was verified.",
              "evidenceIds": []
            },
            {
              "id": "log_retention",
              "question": "How long are logs kept?",
              "support": "partial",
              "answer": "File rotation is configurable and operators own log storage and retention. No universal retention period or tamper-evident archive was established.",
              "evidenceIds": [
                "open-webui:open-webui:hardening",
                "open-webui:open-webui:security"
              ]
            }
          ],
          "limitations": [
            "ediscovery: Are eDiscovery and legal hold supported? No eDiscovery/legal-hold contract or immutable retention/integrity model was verified.",
            "log_retention: File rotation is configurable and operators own log storage and retention. No universal retention period or tamper-evident archive was established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:hardening",
            "open-webui:open-webui:security"
          ]
        }
      ]
    },
    {
      "id": "ADM-07",
      "title": "Data loss prevention and personal data",
      "group": {
        "id": 5,
        "name": "Administration and governance"
      },
      "judgment": "Record detection and handling of personal and confidential data before it reaches a model: redaction, masking, blocking, warning. Record integration with Purview, Netskope or similar, and whether filtering runs locally or at a third party. Send a fixture prompt with a Swiss AHV number and IBAN and record the outcome.",
      "questions": [
        {
          "id": "pii_detection",
          "question": "Is personal data detected in prompts and files?"
        },
        {
          "id": "pii_action",
          "question": "Is it redacted, masked, blocked or only warned?"
        },
        {
          "id": "custom_patterns",
          "question": "Can admins add custom patterns or terms?"
        },
        {
          "id": "dlp_integration",
          "question": "Does it integrate with an existing DLP product?"
        },
        {
          "id": "filter_location",
          "question": "Where does filtering run?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:ADM-07",
          "verificationStatus": "not-published",
          "support": "not-published",
          "answer": "We found no public information on this. A missing finding is not evidence that the product lacks the capability.",
          "availability": null,
          "delivery": null,
          "scope": null,
          "questions": [],
          "limitations": [],
          "checkedAt": null,
          "crossCheckedAt": null,
          "nextCheckAt": null,
          "evidenceIds": []
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:ADM-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Custom request filters provide an extension point for PII policies; a configured detection/redaction product and Swiss fixture result were not established.",
          "availability": "generally-available",
          "delivery": "manual-workaround",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "pii_detection",
              "question": "Is personal data detected in prompts and files?",
              "support": "unknown",
              "answer": "pii_detection: Is personal data detected in prompts and files? The filter framework was reviewed, not a configured PII/DLP deployment. No AHV/IBAN/file fixture, Purview/Netskope connector or default detection coverage was verified.",
              "evidenceIds": []
            },
            {
              "id": "pii_action",
              "question": "Is it redacted, masked, blocked or only warned?",
              "support": "partial",
              "answer": "An installed custom Python filter can modify or reject requests before model processing. No built-in AHV/IBAN policy is claimed.",
              "evidenceIds": [
                "open-webui:open-webui:filter"
              ]
            },
            {
              "id": "custom_patterns",
              "question": "Can admins add custom patterns or terms?",
              "support": "partial",
              "answer": "Custom filter code can implement customer rules; ready-made managed pattern libraries were not verified.",
              "evidenceIds": [
                "open-webui:open-webui:filter"
              ]
            },
            {
              "id": "dlp_integration",
              "question": "Does it integrate with an existing DLP product?",
              "support": "unknown",
              "answer": "dlp_integration: Does it integrate with an existing DLP product? The filter framework was reviewed, not a configured PII/DLP deployment. No AHV/IBAN/file fixture, Purview/Netskope connector or default detection coverage was verified.",
              "evidenceIds": []
            },
            {
              "id": "filter_location",
              "question": "Where does filtering run?",
              "support": "supported",
              "answer": "Python filters execute in the customer-operated backend unless their implementation calls an external service.",
              "evidenceIds": [
                "open-webui:open-webui:filter"
              ]
            }
          ],
          "limitations": [
            "pii_detection: Is personal data detected in prompts and files? The filter framework was reviewed, not a configured PII/DLP deployment. No AHV/IBAN/file fixture, Purview/Netskope connector or default detection coverage was verified.",
            "pii_action: An installed custom Python filter can modify or reject requests before model processing. No built-in AHV/IBAN policy is claimed.",
            "custom_patterns: Custom filter code can implement customer rules; ready-made managed pattern libraries were not verified.",
            "dlp_integration: Does it integrate with an existing DLP product? The filter framework was reviewed, not a configured PII/DLP deployment. No AHV/IBAN/file fixture, Purview/Netskope connector or default detection coverage was verified."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:filter"
          ]
        }
      ]
    },
    {
      "id": "ADM-08",
      "title": "AI policy and guardrails",
      "group": {
        "id": 5,
        "name": "Administration and governance"
      },
      "judgment": "Record organisation-wide system instructions, acceptable-use notices and acknowledgement, content filters, topic restrictions, AI-output labelling, and admin visibility of policy violations. Separate enforced policy from instructions the model is expected to follow.",
      "questions": [
        {
          "id": "org_instructions",
          "question": "Can admins set organisation-wide instructions?"
        },
        {
          "id": "usage_notice",
          "question": "Can users be required to accept a usage policy?"
        },
        {
          "id": "content_filters",
          "question": "Are content filters configurable?"
        },
        {
          "id": "violation_reporting",
          "question": "Are policy hits visible to admins?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:ADM-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Agents have persistent instructions and workspace governance; broad enforced content-policy administration is unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "org_instructions",
              "question": "Can admins set organisation-wide instructions?",
              "support": "partial",
              "answer": "Admins/builders configure agent instructions; an enforced single organization-wide instruction applied to every agent/message was not established.",
              "evidenceIds": [
                "dust:dust:builder",
                "dust:dust:governance"
              ]
            },
            {
              "id": "usage_notice",
              "question": "Can users be required to accept a usage policy?",
              "support": "unknown",
              "answer": "Can users be required to accept a usage policy? Agent, governance and security pages were checked. Mandatory usage-policy acknowledgement and administrator policy-violation reporting were not established.",
              "evidenceIds": []
            },
            {
              "id": "content_filters",
              "question": "Are content filters configurable?",
              "support": "partial",
              "answer": "Image Generation documents NSFW/celebrity safety filtering. Custom organization-wide topic/content rules were not established.",
              "evidenceIds": [
                "dust:dust:images"
              ]
            },
            {
              "id": "violation_reporting",
              "question": "Are policy hits visible to admins?",
              "support": "unknown",
              "answer": "Are policy hits visible to admins? Agent, governance and security pages were checked. Mandatory usage-policy acknowledgement and administrator policy-violation reporting were not established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:builder",
            "dust:dust:governance",
            "dust:dust:images"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:ADM-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Model defaults, prompts, banners and custom filters can express policy. Recorded acceptance and violation reporting remain unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "org_instructions",
              "question": "Can admins set organisation-wide instructions?",
              "support": "partial",
              "answer": "Admins can configure model/default system prompts; sources explicitly warn that instructions do not guarantee model behavior.",
              "evidenceIds": [
                "open-webui:open-webui:models",
                "open-webui:open-webui:env"
              ]
            },
            {
              "id": "usage_notice",
              "question": "Can users be required to accept a usage policy?",
              "support": "partial",
              "answer": "Banners can display policy text, but a required recorded acknowledgement was not established.",
              "evidenceIds": [
                "open-webui:open-webui:banners"
              ]
            },
            {
              "id": "content_filters",
              "question": "Are content filters configurable?",
              "support": "partial",
              "answer": "Operators can install custom request/response filters. Actual policy enforcement depends on that code and configuration.",
              "evidenceIds": [
                "open-webui:open-webui:filter"
              ]
            },
            {
              "id": "violation_reporting",
              "question": "Are policy hits visible to admins?",
              "support": "unknown",
              "answer": "violation_reporting: Are policy hits visible to admins? The models, banner and filter guides did not establish an organization-wide violation dashboard or mandatory acceptable-use acknowledgement.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "org_instructions: Admins can configure model/default system prompts; sources explicitly warn that instructions do not guarantee model behavior.",
            "usage_notice: Banners can display policy text, but a required recorded acknowledgement was not established.",
            "content_filters: Operators can install custom request/response filters. Actual policy enforcement depends on that code and configuration.",
            "violation_reporting: Are policy hits visible to admins? The models, banner and filter guides did not establish an organization-wide violation dashboard or mandatory acceptable-use acknowledgement."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:models",
            "open-webui:open-webui:env",
            "open-webui:open-webui:banners",
            "open-webui:open-webui:filter"
          ]
        }
      ]
    },
    {
      "id": "DATA-01",
      "title": "Hosting location and data residency",
      "group": {
        "id": 6,
        "name": "Data protection and sovereignty"
      },
      "judgment": "Record country or region separately for chat storage, files and indexes, model inference, backups, logs and telemetry, and support access. Name the cloud provider. Record whether residency is default, a paid option or plan-dependent. \"EU data boundary\" programmes are recorded with their documented exceptions.",
      "questions": [
        {
          "id": "storage_region",
          "question": "Where are chats, files and indexes stored?"
        },
        {
          "id": "inference_region",
          "question": "Where do model calls run, per provider?"
        },
        {
          "id": "backups_logs_region",
          "question": "Where are backups, logs and telemetry?"
        },
        {
          "id": "support_access_region",
          "question": "From where can vendor staff access data?"
        },
        {
          "id": "swiss_hosting",
          "question": "Is Swiss hosting available?"
        },
        {
          "id": "residency_plan",
          "question": "Which plan or option provides residency?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:DATA-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "EU workspace and EU model controls are distinct from general hosting and global subprocessing.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "storage_region",
              "question": "Where are chats, files and indexes stored?",
              "support": "partial",
              "answer": "Pricing/security advertise EU or US workspace hosting. Exact cloud provider, storage country and index location were not established.",
              "evidenceIds": [
                "dust:dust:pricing",
                "dust:dust:security"
              ]
            },
            {
              "id": "inference_region",
              "question": "Where do model calls run, per provider?",
              "support": "supported",
              "answer": "EU credit-priced workspaces using Dust-hosted models can enable EU-hosted models only after all active agents comply. BYOK is outside this setting; not every model is eligible.",
              "evidenceIds": [
                "dust:dust:eu-models"
              ]
            },
            {
              "id": "backups_logs_region",
              "question": "Where are backups, logs and telemetry?",
              "support": "unknown",
              "answer": "Where are backups, logs and telemetry? Hosting, EU-model and privacy pages were checked. Backup/log/telemetry countries, customer-content support-access geography and Swiss hosting were not established.",
              "evidenceIds": []
            },
            {
              "id": "support_access_region",
              "question": "From where can vendor staff access data?",
              "support": "partial",
              "answer": "The controller privacy policy permits non-EEA access/processing including the US; it does not establish customer-content support access by staff country.",
              "evidenceIds": [
                "dust:dust:privacy"
              ]
            },
            {
              "id": "swiss_hosting",
              "question": "Is Swiss hosting available?",
              "support": "unknown",
              "answer": "Is Swiss hosting available? Hosting, EU-model and privacy pages were checked. Backup/log/telemetry countries, customer-content support-access geography and Swiss hosting were not established.",
              "evidenceIds": []
            },
            {
              "id": "residency_plan",
              "question": "Which plan or option provides residency?",
              "support": "supported",
              "answer": "Business and Enterprise list EU/US residency; EU-only model restrictions additionally require EU region and credit pricing with Dust model hosting.",
              "evidenceIds": [
                "dust:dust:pricing",
                "dust:dust:eu-models"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:pricing",
            "dust:dust:security",
            "dust:dust:eu-models",
            "dust:dust:privacy"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:DATA-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "The operator chooses data locations; external services can receive prompts or documents independently of where Open WebUI is hosted.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "storage_region",
              "question": "Where are chats, files and indexes stored?",
              "support": "supported",
              "answer": "Chats, files and indexes reside in configured customer storage/database locations. No vendor-chosen region applies to this self-hosted instance.",
              "evidenceIds": [
                "open-webui:open-webui:privacy"
              ]
            },
            {
              "id": "inference_region",
              "question": "Where do model calls run, per provider?",
              "support": "supported",
              "answer": "The selected provider endpoint runs inference; local, private or external endpoints must be scoped separately.",
              "evidenceIds": [
                "open-webui:open-webui:provider",
                "open-webui:open-webui:privacy"
              ]
            },
            {
              "id": "backups_logs_region",
              "question": "Where are backups, logs and telemetry?",
              "support": "partial",
              "answer": "The operator controls backups and logging locations. A concrete installation and its telemetry/egress were not audited.",
              "evidenceIds": [
                "open-webui:open-webui:privacy"
              ]
            },
            {
              "id": "support_access_region",
              "question": "From where can vendor staff access data?",
              "support": "partial",
              "answer": "Operators and support recipients with host/database access can read data; there is no reviewed geographic enterprise support-access commitment.",
              "evidenceIds": [
                "open-webui:open-webui:privacy"
              ]
            },
            {
              "id": "swiss_hosting",
              "question": "Is Swiss hosting available?",
              "support": "partial",
              "answer": "An organization can deploy the self-hosted stack on Swiss infrastructure. This is not a bundled vendor-managed Swiss service or guaranteed Swiss inference.",
              "evidenceIds": [
                "open-webui:open-webui:privacy",
                "open-webui:open-webui:quickstart"
              ]
            },
            {
              "id": "residency_plan",
              "question": "Which plan or option provides residency?",
              "support": "supported",
              "answer": "Self-hosting gives the operator infrastructure placement control under standard use; provider contracts and optional enterprise services are separate.",
              "evidenceIds": [
                "open-webui:open-webui:privacy",
                "open-webui:open-webui:enterprise"
              ]
            }
          ],
          "limitations": [
            "backups_logs_region: The operator controls backups and logging locations. A concrete installation and its telemetry/egress were not audited.",
            "support_access_region: Operators and support recipients with host/database access can read data; there is no reviewed geographic enterprise support-access commitment.",
            "swiss_hosting: An organization can deploy the self-hosted stack on Swiss infrastructure. This is not a bundled vendor-managed Swiss service or guaranteed Swiss inference."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:privacy",
            "open-webui:open-webui:provider",
            "open-webui:open-webui:quickstart",
            "open-webui:open-webui:enterprise"
          ]
        }
      ]
    },
    {
      "id": "DATA-02",
      "title": "Deployment options",
      "group": {
        "id": 6,
        "name": "Data protection and sovereignty"
      },
      "judgment": "Record multi-tenant SaaS, dedicated single-tenant instance, deployment in the customer's cloud account, on-premise and air-gapped as separate options with plan and availability. Record which features are missing in each mode, who operates it, and the documented seat or contract threshold for each mode, which can differ from the enterprise plan threshold (e.g. dedicated SaaS from 2,000 seats, own cloud from 5,000). A local-network connector or gateway that reaches on-prem data from a vendor-hosted platform is KNOW-03, not on-premise deployment.",
      "questions": [
        {
          "id": "multi_tenant_saas",
          "question": "Is a shared SaaS offered?"
        },
        {
          "id": "dedicated_instance",
          "question": "Is a dedicated single-tenant instance offered, from what size?"
        },
        {
          "id": "customer_cloud",
          "question": "Can it run in the customer's own cloud account, from what size?"
        },
        {
          "id": "on_premise",
          "question": "Can the whole platform run on customer infrastructure, from what size?"
        },
        {
          "id": "air_gapped",
          "question": "Can it run without internet access?"
        },
        {
          "id": "mode_feature_gaps",
          "question": "Which features are missing outside SaaS?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:DATA-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Hosted Business and Enterprise single-tenant offers are public; supported customer-operated whole-platform modes are unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web",
              "enterprise-single"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": null,
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              },
              {
                "id": "enterprise-single",
                "name": "Dust Enterprise single-tenant deployment",
                "type": "managed-server"
              }
            ]
          },
          "questions": [
            {
              "id": "multi_tenant_saas",
              "question": "Is a shared SaaS offered?",
              "support": "partial",
              "answer": "Business is a self-serve hosted workspace; exact shared-infrastructure isolation architecture is not documented in the checked pages.",
              "evidenceIds": [
                "dust:dust:pricing",
                "dust:dust:privacy"
              ]
            },
            {
              "id": "dedicated_instance",
              "question": "Is a dedicated single-tenant instance offered, from what size?",
              "support": "supported",
              "answer": "Enterprise pricing advertises single-tenant deployment. Numerical seat/spend minimum, supported countries and operating terms were not established.",
              "evidenceIds": [
                "dust:dust:pricing"
              ]
            },
            {
              "id": "customer_cloud",
              "question": "Can it run in the customer's own cloud account, from what size?",
              "support": "unknown",
              "answer": "Can it run in the customer's own cloud account, from what size? Pricing, security and the public repository were checked. Customer-cloud, whole-platform on-premise/air-gapped support and their thresholds were not established; MIT source alone does not promise a supported product deployment.",
              "evidenceIds": []
            },
            {
              "id": "on_premise",
              "question": "Can the whole platform run on customer infrastructure, from what size?",
              "support": "unknown",
              "answer": "Can the whole platform run on customer infrastructure, from what size? Pricing, security and the public repository were checked. Customer-cloud, whole-platform on-premise/air-gapped support and their thresholds were not established; MIT source alone does not promise a supported product deployment.",
              "evidenceIds": []
            },
            {
              "id": "air_gapped",
              "question": "Can it run without internet access?",
              "support": "unknown",
              "answer": "Can it run without internet access? Pricing, security and the public repository were checked. Customer-cloud, whole-platform on-premise/air-gapped support and their thresholds were not established; MIT source alone does not promise a supported product deployment.",
              "evidenceIds": []
            },
            {
              "id": "mode_feature_gaps",
              "question": "Which features are missing outside SaaS?",
              "support": "partial",
              "answer": "Business/Enterprise packaging differs in connectors, MCP, Spaces, APIs and governance. No customer-operated hosting feature-parity contract was established.",
              "evidenceIds": [
                "dust:dust:pricing"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:pricing",
            "dust:dust:privacy"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:DATA-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Customer-operated cloud and on-premise installs are documented, with offline operation requiring all dependencies to be local.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "multi_tenant_saas",
              "question": "Is a shared SaaS offered?",
              "support": "unknown",
              "answer": "multi_tenant_saas: Is a shared SaaS offered? A vendor-operated shared SaaS, dedicated managed instance and contractual minimum for managed service were not established in the enterprise and installation sources.",
              "evidenceIds": []
            },
            {
              "id": "dedicated_instance",
              "question": "Is a dedicated single-tenant instance offered, from what size?",
              "support": "unknown",
              "answer": "dedicated_instance: Is a dedicated single-tenant instance offered, from what size? A vendor-operated shared SaaS, dedicated managed instance and contractual minimum for managed service were not established in the enterprise and installation sources.",
              "evidenceIds": []
            },
            {
              "id": "customer_cloud",
              "question": "Can it run in the customer's own cloud account, from what size?",
              "support": "supported",
              "answer": "Docker/Python installs can run in customer infrastructure; no standard-use seat minimum is stated.",
              "evidenceIds": [
                "open-webui:open-webui:quickstart",
                "open-webui:open-webui:enterprise"
              ]
            },
            {
              "id": "on_premise",
              "question": "Can the whole platform run on customer infrastructure, from what size?",
              "support": "supported",
              "answer": "The complete application can run on customer servers with local inference/extraction services.",
              "evidenceIds": [
                "open-webui:open-webui:quickstart",
                "open-webui:open-webui:offline"
              ]
            },
            {
              "id": "air_gapped",
              "question": "Can it run without internet access?",
              "support": "supported",
              "answer": "The offline guide describes preparing cached models/assets and local services before disconnecting.",
              "evidenceIds": [
                "open-webui:open-webui:offline"
              ]
            },
            {
              "id": "mode_feature_gaps",
              "question": "Which features are missing outside SaaS?",
              "support": "supported",
              "answer": "External model APIs, internet search, remote extraction and other online tools require network access; they are not made local by self-hosting the UI.",
              "evidenceIds": [
                "open-webui:open-webui:offline"
              ]
            }
          ],
          "limitations": [
            "multi_tenant_saas: Is a shared SaaS offered? A vendor-operated shared SaaS, dedicated managed instance and contractual minimum for managed service were not established in the enterprise and installation sources.",
            "dedicated_instance: Is a dedicated single-tenant instance offered, from what size? A vendor-operated shared SaaS, dedicated managed instance and contractual minimum for managed service were not established in the enterprise and installation sources."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:quickstart",
            "open-webui:open-webui:enterprise",
            "open-webui:open-webui:offline"
          ]
        }
      ]
    },
    {
      "id": "DATA-03",
      "title": "Training use and provider retention",
      "group": {
        "id": 6,
        "name": "Data protection and sovereignty"
      },
      "judgment": "Record whether customer content trains vendor or provider models, by plan and default; zero-data-retention arrangements with model providers; abuse-monitoring retention and human review; and the model provider's terms that apply. A \"no training\" claim on a marketing page is `vendor-claimed` until the contract or DPA says so.",
      "questions": [
        {
          "id": "vendor_training",
          "question": "Does the vendor train on customer content?"
        },
        {
          "id": "provider_training",
          "question": "Do model providers train on it under this product's contracts?"
        },
        {
          "id": "provider_retention",
          "question": "How long do model providers keep prompts, including for abuse monitoring?"
        },
        {
          "id": "zero_retention",
          "question": "Is zero data retention available, and on which plan?"
        },
        {
          "id": "human_review",
          "question": "Can provider staff review content?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:DATA-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Dust publishes no-training and provider-retention claims; the customer DPA was not retrieved.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "vendor_training",
              "question": "Does the vendor train on customer content?",
              "support": "partial",
              "answer": "The security page claims customer data is never used for model training. This remains vendor-claimed because no customer DPA/contract clause was retrieved.",
              "evidenceIds": [
                "dust:dust:security"
              ]
            },
            {
              "id": "provider_training",
              "question": "Do model providers train on it under this product's contracts?",
              "support": "partial",
              "answer": "The privacy policy names OpenAI, Anthropic, Mistral, Google and Fireworks as prohibited from training on customer/personal content; BYOK arrangements need separate confirmation.",
              "evidenceIds": [
                "dust:dust:training-policy"
              ]
            },
            {
              "id": "provider_retention",
              "question": "How long do model providers keep prompts, including for abuse monitoring?",
              "support": "partial",
              "answer": "The policy states providers do not log Customer Content for human review or save it to disk. Exception/abuse-retention periods were not established from customer contracts.",
              "evidenceIds": [
                "dust:dust:training-policy"
              ]
            },
            {
              "id": "zero_retention",
              "question": "Is zero data retention available, and on which plan?",
              "support": "partial",
              "answer": "Security and privacy pages assert provider zero retention, but applicable plan/model exceptions were not contract-verified.",
              "evidenceIds": [
                "dust:dust:security",
                "dust:dust:training-policy"
              ]
            },
            {
              "id": "human_review",
              "question": "Can provider staff review content?",
              "support": "partial",
              "answer": "The published policy says listed providers do not log Customer Content for human review. This is a vendor assertion, not an independently reviewed model-provider contract.",
              "evidenceIds": [
                "dust:dust:training-policy"
              ]
            }
          ],
          "limitations": [
            "Controller privacy-policy scope is distinct from processor DPA coverage."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:security",
            "dust:dust:training-policy"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:DATA-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Self-hosting controls the application data path; training and retention obligations depend on the chosen external model contract.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "vendor_training",
              "question": "Does the vendor train on customer content?",
              "support": "partial",
              "answer": "The self-hosted data path runs on customer infrastructure; this is architecture evidence, not a reviewed contractual no-training promise covering support or optional services.",
              "evidenceIds": [
                "open-webui:open-webui:privacy",
                "open-webui:open-webui:offline"
              ]
            },
            {
              "id": "provider_training",
              "question": "Do model providers train on it under this product's contracts?",
              "support": "unknown",
              "answer": "provider_training: Do model providers train on it under this product's contracts? No executed provider agreement, abuse-monitoring retention, zero-retention entitlement or human-review policy was verified for a configured endpoint. Local inference is a separate deployment choice, not a blanket promise for cloud-connected use.",
              "evidenceIds": []
            },
            {
              "id": "provider_retention",
              "question": "How long do model providers keep prompts, including for abuse monitoring?",
              "support": "unknown",
              "answer": "provider_retention: How long do model providers keep prompts, including for abuse monitoring? No executed provider agreement, abuse-monitoring retention, zero-retention entitlement or human-review policy was verified for a configured endpoint. Local inference is a separate deployment choice, not a blanket promise for cloud-connected use.",
              "evidenceIds": []
            },
            {
              "id": "zero_retention",
              "question": "Is zero data retention available, and on which plan?",
              "support": "unknown",
              "answer": "zero_retention: Is zero data retention available, and on which plan? No executed provider agreement, abuse-monitoring retention, zero-retention entitlement or human-review policy was verified for a configured endpoint. Local inference is a separate deployment choice, not a blanket promise for cloud-connected use.",
              "evidenceIds": []
            },
            {
              "id": "human_review",
              "question": "Can provider staff review content?",
              "support": "unknown",
              "answer": "human_review: Can provider staff review content? No executed provider agreement, abuse-monitoring retention, zero-retention entitlement or human-review policy was verified for a configured endpoint. Local inference is a separate deployment choice, not a blanket promise for cloud-connected use.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "vendor_training: The self-hosted data path runs on customer infrastructure; this is architecture evidence, not a reviewed contractual no-training promise covering support or optional services.",
            "provider_training: Do model providers train on it under this product's contracts? No executed provider agreement, abuse-monitoring retention, zero-retention entitlement or human-review policy was verified for a configured endpoint. Local inference is a separate deployment choice, not a blanket promise for cloud-connected use.",
            "provider_retention: How long do model providers keep prompts, including for abuse monitoring? No executed provider agreement, abuse-monitoring retention, zero-retention entitlement or human-review policy was verified for a configured endpoint. Local inference is a separate deployment choice, not a blanket promise for cloud-connected use.",
            "zero_retention: Is zero data retention available, and on which plan? No executed provider agreement, abuse-monitoring retention, zero-retention entitlement or human-review policy was verified for a configured endpoint. Local inference is a separate deployment choice, not a blanket promise for cloud-connected use.",
            "human_review: Can provider staff review content? No executed provider agreement, abuse-monitoring retention, zero-retention entitlement or human-review policy was verified for a configured endpoint. Local inference is a separate deployment choice, not a blanket promise for cloud-connected use."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:privacy",
            "open-webui:open-webui:offline"
          ]
        }
      ]
    },
    {
      "id": "DATA-04",
      "title": "Retention and deletion",
      "group": {
        "id": 6,
        "name": "Data protection and sovereignty"
      },
      "judgment": "Record default retention for chats, files, indexes and logs; admin-configured retention; user deletion; deletion after contract end; and deletion confirmation.",
      "questions": [
        {
          "id": "default_retention",
          "question": "What is retained and for how long by default?"
        },
        {
          "id": "admin_retention",
          "question": "Can admins set retention periods?"
        },
        {
          "id": "user_deletion",
          "question": "Can users delete their chats and files permanently?"
        },
        {
          "id": "contract_end_deletion",
          "question": "What is deleted at contract end, and when?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:DATA-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Some user deletion and memory retention behavior is documented; tenant-wide retention schedules remain open.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "default_retention",
              "question": "What is retained and for how long by default?",
              "support": "partial",
              "answer": "Agent memories persist until manually deleted. This does not define default retention for all conversations, files, indexes or logs.",
              "evidenceIds": [
                "dust:dust:memory"
              ]
            },
            {
              "id": "admin_retention",
              "question": "Can admins set retention periods?",
              "support": "partial",
              "answer": "Enterprise pricing offers custom data retention; periods, deletion mechanics and exceptions were not retrieved.",
              "evidenceIds": [
                "dust:dust:pricing"
              ]
            },
            {
              "id": "user_deletion",
              "question": "Can users delete their chats and files permanently?",
              "support": "partial",
              "answer": "Users can delete conversations and agent memories. Backup erasure timing and all attached-file deletion behavior were not established.",
              "evidenceIds": [
                "dust:dust:delete-chat",
                "dust:dust:memory"
              ]
            },
            {
              "id": "contract_end_deletion",
              "question": "What is deleted at contract end, and when?",
              "support": "unknown",
              "answer": "What is deleted at contract end, and when? Conversation/memory docs, Enterprise pricing and unreadable legal entry points were checked. Contract-end erasure timing and complete storage/index/log retention defaults remain unknown.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:memory",
            "dust:dust:pricing",
            "dust:dust:delete-chat"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:DATA-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Users can remove chats/files subject to permissions, and temporary-chat enforcement can avoid saving new conversations. Complete purge and contract-end schedules remain unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "default_retention",
              "question": "What is retained and for how long by default?",
              "support": "partial",
              "answer": "Normal history persists in the operator’s database; temporary chats reduce saved history. A uniform default duration across chats, files, indexes, logs and backups was not established.",
              "evidenceIds": [
                "open-webui:open-webui:privacy",
                "open-webui:open-webui:quickstart"
              ]
            },
            {
              "id": "admin_retention",
              "question": "Can admins set retention periods?",
              "support": "partial",
              "answer": "Operators control database and backup retention; enforced temporary-chat permissions stop saving new chats. A general time-based retention scheduler was not established.",
              "evidenceIds": [
                "open-webui:open-webui:privacy"
              ]
            },
            {
              "id": "user_deletion",
              "question": "Can users delete their chats and files permanently?",
              "support": "partial",
              "answer": "Permissions allow chat deletion and file management removes files and related embeddings. Backup purge and irreversible-deletion timing were not verified.",
              "evidenceIds": [
                "open-webui:open-webui:permissions",
                "open-webui:open-webui:rag"
              ]
            },
            {
              "id": "contract_end_deletion",
              "question": "What is deleted at contract end, and when?",
              "support": "unknown",
              "answer": "contract_end_deletion: What is deleted at contract end, and when? No enterprise termination deletion deadline or deletion confirmation was reviewed.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "default_retention: Normal history persists in the operator’s database; temporary chats reduce saved history. A uniform default duration across chats, files, indexes, logs and backups was not established.",
            "admin_retention: Operators control database and backup retention; enforced temporary-chat permissions stop saving new chats. A general time-based retention scheduler was not established.",
            "user_deletion: Permissions allow chat deletion and file management removes files and related embeddings. Backup purge and irreversible-deletion timing were not verified.",
            "contract_end_deletion: What is deleted at contract end, and when? No enterprise termination deletion deadline or deletion confirmation was reviewed."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:privacy",
            "open-webui:open-webui:quickstart",
            "open-webui:open-webui:permissions",
            "open-webui:open-webui:rag"
          ]
        }
      ]
    },
    {
      "id": "DATA-05",
      "title": "Sub-processors and foreign-law exposure",
      "group": {
        "id": 6,
        "name": "Data protection and sovereignty"
      },
      "judgment": "Record the published sub-processor list with countries, change-notification rules, the vendor's and parent company's jurisdiction, transfer mechanisms (EU-US Data Privacy Framework, Swiss-US DPF, SCCs) and the vendor's documented position on foreign government access requests (e.g. US CLOUD Act). Record facts, not a legal assessment.",
      "questions": [
        {
          "id": "subprocessor_list",
          "question": "Is a dated sub-processor list published?"
        },
        {
          "id": "subprocessor_countries",
          "question": "Which countries do sub-processors operate in?"
        },
        {
          "id": "change_notification",
          "question": "Are customers notified of sub-processor changes?"
        },
        {
          "id": "parent_jurisdiction",
          "question": "Which jurisdiction governs the vendor and its parent?"
        },
        {
          "id": "transfer_mechanism",
          "question": "Which transfer mechanism applies to non-EU/CH processing?"
        },
        {
          "id": "government_access_policy",
          "question": "Is there a published government-access or transparency policy?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:DATA-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Dust identifies a French operating entity; customer subprocessor inventory and notice rules remain unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "subprocessor_list",
              "question": "Is a dated sub-processor list published?",
              "support": "unknown",
              "answer": "Is a dated sub-processor list published? The privacy policy refers to a Sub-Processors list, but the official Terms/Notion and trust-center routes were not readable. A dated customer-processor list, complete countries and change-notification rules were not established.",
              "evidenceIds": []
            },
            {
              "id": "subprocessor_countries",
              "question": "Which countries do sub-processors operate in?",
              "support": "unknown",
              "answer": "Which countries do sub-processors operate in? The privacy policy refers to a Sub-Processors list, but the official Terms/Notion and trust-center routes were not readable. A dated customer-processor list, complete countries and change-notification rules were not established.",
              "evidenceIds": []
            },
            {
              "id": "change_notification",
              "question": "Are customers notified of sub-processor changes?",
              "support": "unknown",
              "answer": "Are customers notified of sub-processor changes? The privacy policy refers to a Sub-Processors list, but the official Terms/Notion and trust-center routes were not readable. A dated customer-processor list, complete countries and change-notification rules were not established.",
              "evidenceIds": []
            },
            {
              "id": "parent_jurisdiction",
              "question": "Which jurisdiction governs the vendor and its parent?",
              "support": "partial",
              "answer": "The public policy identifies Permutation Labs at a Paris, France address. A separate parent company or controlling entity was not established.",
              "evidenceIds": [
                "dust:dust:privacy"
              ]
            },
            {
              "id": "transfer_mechanism",
              "question": "Which transfer mechanism applies to non-EU/CH processing?",
              "support": "partial",
              "answer": "For its controller processing, the privacy policy describes adequacy or EU SCC safeguards for non-EU transfers, including the US. Customer processor transfer terms were not retrieved.",
              "evidenceIds": [
                "dust:dust:privacy"
              ]
            },
            {
              "id": "government_access_policy",
              "question": "Is there a published government-access or transparency policy?",
              "support": "partial",
              "answer": "The controller policy allows legally required disclosure to authorities; a dedicated government-request transparency policy for customer content was not established.",
              "evidenceIds": [
                "dust:dust:privacy"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:privacy"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:DATA-05",
          "verificationStatus": "not-published",
          "support": "not-published",
          "answer": "We found no public information on this. A missing finding is not evidence that the product lacks the capability.",
          "availability": null,
          "delivery": null,
          "scope": null,
          "questions": [],
          "limitations": [],
          "checkedAt": null,
          "crossCheckedAt": null,
          "nextCheckAt": null,
          "evidenceIds": []
        }
      ]
    },
    {
      "id": "DATA-06",
      "title": "Contracts and regulatory coverage",
      "group": {
        "id": 6,
        "name": "Data protection and sovereignty"
      },
      "judgment": "Record DPA availability and form (click-through, negotiable), reference to Swiss revDSG and GDPR, governing law and court, EU AI Act documentation (provider or deployer role, transparency materials), and sector-specific materials (FINMA outsourcing, banking secrecy, public sector). No compliance verdict.",
      "questions": [
        {
          "id": "dpa",
          "question": "Is a DPA available, and is it negotiable?"
        },
        {
          "id": "revdsg_gdpr",
          "question": "Does the DPA cover revDSG and GDPR?"
        },
        {
          "id": "governing_law",
          "question": "Which law and court govern the contract?"
        },
        {
          "id": "ai_act_materials",
          "question": "Is EU AI Act documentation provided?"
        },
        {
          "id": "sector_materials",
          "question": "Are FINMA or other sector materials provided?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:DATA-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Enterprise offers custom MSA/DPA terms, while the underlying legal materials were inaccessible.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "dpa",
              "question": "Is a DPA available, and is it negotiable?",
              "support": "partial",
              "answer": "Enterprise pricing explicitly offers custom MSA/DPA terms. The form, sign-up incorporation and negotiability boundaries were not inspected.",
              "evidenceIds": [
                "dust:dust:pricing"
              ]
            },
            {
              "id": "revdsg_gdpr",
              "question": "Does the DPA cover revDSG and GDPR?",
              "support": "partial",
              "answer": "Marketing and privacy materials reference GDPR; explicit Swiss revDSG coverage in the customer DPA was not established.",
              "evidenceIds": [
                "dust:dust:security",
                "dust:dust:privacy"
              ]
            },
            {
              "id": "governing_law",
              "question": "Which law and court govern the contract?",
              "support": "unknown",
              "answer": "Which law and court govern the contract? Official Terms & Policies redirects to a Notion page that returned no readable terms; trust.dust.com also exposed no report text. Governing law/court and EU AI Act technical/role materials were not established.",
              "evidenceIds": []
            },
            {
              "id": "ai_act_materials",
              "question": "Is EU AI Act documentation provided?",
              "support": "unknown",
              "answer": "Is EU AI Act documentation provided? Official Terms & Policies redirects to a Notion page that returned no readable terms; trust.dust.com also exposed no report text. Governing law/court and EU AI Act technical/role materials were not established.",
              "evidenceIds": []
            },
            {
              "id": "sector_materials",
              "question": "Are FINMA or other sector materials provided?",
              "support": "partial",
              "answer": "Security marketing says the service enables HIPAA compliance. A BAA, FINMA or banking-secrecy outsourcing pack was not retrieved.",
              "evidenceIds": [
                "dust:dust:security"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:pricing",
            "dust:dust:security",
            "dust:dust:privacy"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:DATA-06",
          "verificationStatus": "not-published",
          "support": "not-published",
          "answer": "We found no public information on this. A missing finding is not evidence that the product lacks the capability.",
          "availability": null,
          "delivery": null,
          "scope": null,
          "questions": [],
          "limitations": [],
          "checkedAt": null,
          "crossCheckedAt": null,
          "nextCheckAt": null,
          "evidenceIds": []
        }
      ]
    },
    {
      "id": "DATA-07",
      "title": "Certifications and attestations",
      "group": {
        "id": 6,
        "name": "Data protection and sovereignty"
      },
      "judgment": "Record each certificate or report separately: ISO 27001, 27017, 27018, 27701, 42001; SOC 2 Type I/II with period; BSI C5; TISAX; national schemes. Record issuer, scope (which product and entity), validity and access route. A cloud provider's certificate does not certify the product.",
      "questions": [
        {
          "id": "iso_27001",
          "question": "ISO 27001 with scope and validity?"
        },
        {
          "id": "soc2",
          "question": "SOC 2 type, period and covered service?"
        },
        {
          "id": "c5",
          "question": "BSI C5 attestation?"
        },
        {
          "id": "other_certifications",
          "question": "Which other certificates (27701, 42001, TISAX)?"
        },
        {
          "id": "report_access",
          "question": "How can customers obtain reports?"
        },
        {
          "id": "pentest",
          "question": "Are independent penetration test summaries available?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:DATA-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "SOC 2 Type II is claimed publicly, without a verified report or certificate.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "iso_27001",
              "question": "ISO 27001 with scope and validity?",
              "support": "unknown",
              "answer": "ISO 27001 with scope and validity? Security/pricing and the trust center were checked. ISO 27001, C5, other scoped certificates and independent penetration-test summaries were not established; no evidence is certificate-verified.",
              "evidenceIds": []
            },
            {
              "id": "soc2",
              "question": "SOC 2 type, period and covered service?",
              "support": "partial",
              "answer": "Dust security/pricing claim SOC 2 Type II. Auditor, reporting period and exact service scope were not verified.",
              "evidenceIds": [
                "dust:dust:security",
                "dust:dust:pricing"
              ]
            },
            {
              "id": "c5",
              "question": "BSI C5 attestation?",
              "support": "unknown",
              "answer": "BSI C5 attestation? Security/pricing and the trust center were checked. ISO 27001, C5, other scoped certificates and independent penetration-test summaries were not established; no evidence is certificate-verified.",
              "evidenceIds": []
            },
            {
              "id": "other_certifications",
              "question": "Which other certificates (27701, 42001, TISAX)?",
              "support": "unknown",
              "answer": "Which other certificates (27701, 42001, TISAX)? Security/pricing and the trust center were checked. ISO 27001, C5, other scoped certificates and independent penetration-test summaries were not established; no evidence is certificate-verified.",
              "evidenceIds": []
            },
            {
              "id": "report_access",
              "question": "How can customers obtain reports?",
              "support": "partial",
              "answer": "The security page directs customers to trust.dust.com; underlying reports were not accessible in this public source pass.",
              "evidenceIds": [
                "dust:dust:security"
              ]
            },
            {
              "id": "pentest",
              "question": "Are independent penetration test summaries available?",
              "support": "unknown",
              "answer": "Are independent penetration test summaries available? Security/pricing and the trust center were checked. ISO 27001, C5, other scoped certificates and independent penetration-test summaries were not established; no evidence is certificate-verified.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:security",
            "dust:dust:pricing"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:DATA-07",
          "verificationStatus": "not-published",
          "support": "not-published",
          "answer": "We found no public information on this. A missing finding is not evidence that the product lacks the capability.",
          "availability": null,
          "delivery": null,
          "scope": null,
          "questions": [],
          "limitations": [],
          "checkedAt": null,
          "crossCheckedAt": null,
          "nextCheckAt": null,
          "evidenceIds": []
        }
      ]
    },
    {
      "id": "DATA-08",
      "title": "Encryption and key control",
      "group": {
        "id": 6,
        "name": "Data protection and sovereignty"
      },
      "judgment": "Record encryption at rest and in transit, customer-managed keys (BYOK/HYOK), key location, and private networking (private link, IP allow-lists, VPN).",
      "questions": [
        {
          "id": "encryption_at_rest",
          "question": "Is data encrypted at rest?"
        },
        {
          "id": "customer_managed_keys",
          "question": "Can the customer manage or hold the keys?"
        },
        {
          "id": "private_networking",
          "question": "Is private connectivity or IP restriction available?"
        },
        {
          "id": "tenant_isolation",
          "question": "How are customers separated in shared SaaS?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:DATA-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Dust claims AES-256/TLS and advertises Enterprise single tenancy; customer key custody is unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "encryption_at_rest",
              "question": "Is data encrypted at rest?",
              "support": "supported",
              "answer": "The security page states AES-256 at rest and TLS in transit; this is a vendor claim.",
              "evidenceIds": [
                "dust:dust:security"
              ]
            },
            {
              "id": "customer_managed_keys",
              "question": "Can the customer manage or hold the keys?",
              "support": "unknown",
              "answer": "Can the customer manage or hold the keys? Security, pricing and network/MCP docs were checked. Customer-managed/held data-encryption keys and key-location guarantees were not established. Provider API BYOK is not encryption-key custody.",
              "evidenceIds": []
            },
            {
              "id": "private_networking",
              "question": "Is private connectivity or IP restriction available?",
              "support": "partial",
              "answer": "Custom MCP servers can restrict access and use documented static egress on verified domains. This is tool connectivity, not proof of private connectivity to the whole service.",
              "evidenceIds": [
                "dust:dust:tools"
              ]
            },
            {
              "id": "tenant_isolation",
              "question": "How are customers separated in shared SaaS?",
              "support": "partial",
              "answer": "Enterprise offers single tenancy; shared Business tenancy and lower-level isolation mechanics were not established.",
              "evidenceIds": [
                "dust:dust:pricing"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:security",
            "dust:dust:tools",
            "dust:dust:pricing"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:DATA-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Encryption and private networking are operator responsibilities; product flags do not remove host-operator access.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "encryption_at_rest",
              "question": "Is data encrypted at rest?",
              "support": "partial",
              "answer": "The privacy guide recommends encrypted PostgreSQL volumes/backups or encrypted SQLite filesystems. SQLCipher is explicitly unsupported since v0.9.0. It is not automatic application-level encryption of all content.",
              "evidenceIds": [
                "open-webui:open-webui:privacy"
              ]
            },
            {
              "id": "customer_managed_keys",
              "question": "Can the customer manage or hold the keys?",
              "support": "partial",
              "answer": "The customer can operate infrastructure encryption keys. A product HYOK/key-escrow protocol was not established.",
              "evidenceIds": [
                "open-webui:open-webui:privacy"
              ]
            },
            {
              "id": "private_networking",
              "question": "Is private connectivity or IP restriction available?",
              "support": "supported",
              "answer": "The application and local services can run inside customer networks and disconnected environments; TLS/reverse-proxy setup remains operator work.",
              "evidenceIds": [
                "open-webui:open-webui:privacy",
                "open-webui:open-webui:offline"
              ]
            },
            {
              "id": "tenant_isolation",
              "question": "How are customers separated in shared SaaS?",
              "support": "unknown",
              "answer": "tenant_isolation: How are customers separated in shared SaaS? Shared vendor SaaS tenant isolation was not established for the scoped customer-operated product.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "encryption_at_rest: The privacy guide recommends encrypted PostgreSQL volumes/backups or encrypted SQLite filesystems. SQLCipher is explicitly unsupported since v0.9.0. It is not automatic application-level encryption of all content.",
            "customer_managed_keys: The customer can operate infrastructure encryption keys. A product HYOK/key-escrow protocol was not established.",
            "tenant_isolation: How are customers separated in shared SaaS? Shared vendor SaaS tenant isolation was not established for the scoped customer-operated product."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:privacy",
            "open-webui:open-webui:offline"
          ]
        }
      ]
    },
    {
      "id": "DATA-09",
      "title": "Professional secrecy",
      "group": {
        "id": 6,
        "name": "Data protection and sovereignty"
      },
      "judgment": "For professional secrecy holders (Berufsgeheimnisträger: lawyers, doctors, auditors, tax advisers) under § 203 StGB (DE) and Art. 321 StGB (CH), record whether the vendor signs a contractual secrecy undertaking or a § 203 agreement that binds its staff and its sub-processors; whether this comes as a dedicated offering or a paid add-on, and on which plan; who can access content in plain text (vendor staff, sub-processors, model providers); and the documentation provided. A DPA or a no-training clause alone is not a secrecy undertaking. Banking secrecy and FINMA outsourcing belong to DATA-06, not here. Record contract facts, not a legal assessment.",
      "questions": [
        {
          "id": "secrecy_undertaking",
          "question": "Does the vendor sign a secrecy undertaking or § 203 StGB / Art. 321 StGB agreement covering its own staff?"
        },
        {
          "id": "subprocessor_coverage",
          "question": "Does the undertaking extend to its sub-processors, and is that documented?"
        },
        {
          "id": "secrecy_offering",
          "question": "Is it a dedicated offering or add-on, and on which plan?"
        },
        {
          "id": "content_access",
          "question": "Who can access content in plain text: vendor staff, sub-processors, model providers?"
        },
        {
          "id": "secrecy_documentation",
          "question": "Is the offering publicly documented (contract template, data-flow description, professional-body guidance)?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:DATA-09",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Public personnel/model handling statements exist; an explicit professional-secrecy contract and subprocessor flow-down remain unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Dust Business/Enterprise public policy; Enterprise and BYOK routes differ",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "EU/US storage and provider routes; no DE/CH-specific secrecy contract verified",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "secrecy_undertaking",
              "question": "Does the vendor sign a secrecy undertaking or § 203 StGB / Art. 321 StGB agreement covering its own staff?",
              "support": "unknown",
              "answer": "The public security and platform privacy pages do not establish a signed §203 StGB/Art321 StGB professional-secrecy undertaking covering Dust staff. The Terms/Policies link did not expose readable contractual text in this pass.",
              "evidenceIds": []
            },
            {
              "id": "subprocessor_coverage",
              "question": "Does the undertaking extend to its sub-processors, and is that documented?",
              "support": "unknown",
              "answer": "The privacy policy describes service-provider data-protection agreements and model no-training/retention conditions, but no dedicated professional-secrecy undertaking or its binding subprocessor flow-down was retrieved.",
              "evidenceIds": []
            },
            {
              "id": "secrecy_offering",
              "question": "Is it a dedicated offering or add-on, and on which plan?",
              "support": "unknown",
              "answer": "No publicly documented German/Swiss professional-secrecy-specific plan or paid add-on was established. Enterprise single-tenancy/EU model options are not treated as such a contractual undertaking.",
              "evidenceIds": []
            },
            {
              "id": "content_access",
              "question": "Who can access content in plain text: vendor staff, sub-processors, model providers?",
              "support": "partial",
              "answer": "The platform privacy policy limits personnel access to authorized staff and says customer context is processed by selected foundation-model providers; it asserts no provider disk retention/human-review logging. This vendor statement does not establish the complete customer-content plaintext access matrix, support countries, private contracts or every BYOK/MCP/tool route.",
              "evidenceIds": [
                "dust:dust:privacy",
                "dust:dust:training-policy",
                "dust:dust:eu-models"
              ]
            },
            {
              "id": "secrecy_documentation",
              "question": "Is the offering publicly documented (contract template, data-flow description, professional-body guidance)?",
              "support": "unknown",
              "answer": "Reviewed public security, privacy, EU-hosted model documentation and Enterprise plan scope plus targeted first-party secrecy search. Trust Center content was not available and Terms/Policies routed to unreadable external content. No public §203/Art321 template or professional-body guidance was retrieved.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "No-training, ZDR marketing/policy assertions, EU hosting and a general privacy policy do not establish a professional-secrecy undertaking.",
            "No legal suitability or compliance conclusion."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:privacy",
            "dust:dust:training-policy",
            "dust:dust:eu-models"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:DATA-09",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "The self-hosted content-access boundary is documented. A vendor secrecy undertaking under § 203 StGB or Art. 321 StGB, its staff/sub-processor coverage and any plan-specific offering remain unverified.",
          "availability": "unknown",
          "delivery": "unknown",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; standard self-hosted server and separately described Enterprise support",
            "plan": "Standard branded self-hosted use; Enterprise licensing/support checked separately, with no professional-secrecy contract or add-on verified",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected application/model infrastructure; no DE/CH secrecy-contract variant or vendor/support access jurisdiction verified",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "secrecy_undertaking",
              "question": "Does the vendor sign a secrecy undertaking or § 203 StGB / Art. 321 StGB agreement covering its own staff?",
              "support": "unknown",
              "answer": "The public Enterprise, support, security and law-firm pages did not establish a signed or signable professional-secrecy undertaking binding Open WebUI staff. No § 203 StGB / Art. 321 StGB agreement was obtained; informational security guidance is not recorded as one.",
              "evidenceIds": [
                "open-webui:open-webui:enterprise",
                "open-webui:open-webui:secrecy-support"
              ]
            },
            {
              "id": "subprocessor_coverage",
              "question": "Does the undertaking extend to its sub-processors, and is that documented?",
              "support": "unknown",
              "answer": "No professional-secrecy undertaking or annex identifying covered sub-processors and their secrecy obligations was found in the reviewed public materials. Customer-selected hosting, model and support arrangements need their own document review.",
              "evidenceIds": []
            },
            {
              "id": "secrecy_offering",
              "question": "Is it a dedicated offering or add-on, and on which plan?",
              "support": "unknown",
              "answer": "Enterprise licensing and advisory support are documented, but their public descriptions did not establish a professional-secrecy package, paid add-on, eligible plan or contractual scope. No sales contact was made.",
              "evidenceIds": [
                "open-webui:open-webui:enterprise",
                "open-webui:open-webui:secrecy-support"
              ]
            },
            {
              "id": "content_access",
              "question": "Who can access content in plain text: vendor staff, sub-processors, model providers?",
              "support": "partial",
              "answer": "For self-hosted AI chats, Open WebUI documents the running application, live-query database administrators, host/backup operators and configured external model providers as part of the content-access boundary. Admin UI restrictions and at-rest encryption do not exclude those operators. The law-firm page says self-hosted data is not sent to Open WebUI as a managed service; vendor support grants, sub-processor staff permissions and provider human access were not verified for a concrete deployment.",
              "evidenceIds": [
                "open-webui:open-webui:secrecy-access",
                "open-webui:open-webui:secrecy-legal"
              ]
            },
            {
              "id": "secrecy_documentation",
              "question": "Is the offering publicly documented (contract template, data-flow description, professional-body guidance)?",
              "support": "unknown",
              "answer": "The law-firm page provides general deployment/privacy guidance and links US ABA materials. No product-scoped DE/CH secrecy contract template, staff/sub-processor annex or professional-body confirmation was located in the reviewed public pages or targeted searches.",
              "evidenceIds": [
                "open-webui:open-webui:secrecy-legal"
              ]
            }
          ],
          "limitations": [
            "The secrecy undertaking, sub-processor coverage, offering and professional-secrecy-specific documentation remain unknown.",
            "content_access: A concrete deployment, support-access grant, sub-processor permissions and model-provider staff access were not audited.",
            "Technical data controls, a DPA, privacy wording and no-training statements do not establish the requested contractual undertaking. No legal compliance assessment is made."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:enterprise",
            "open-webui:open-webui:secrecy-support",
            "open-webui:open-webui:secrecy-access",
            "open-webui:open-webui:secrecy-legal"
          ]
        }
      ]
    },
    {
      "id": "VEN-01",
      "title": "Pricing model and list prices",
      "group": {
        "id": 7,
        "name": "Commercials and vendor"
      },
      "judgment": "Record pricing unit (per seat, per active user, usage-based, platform fee, hybrid), list prices per plan in original currency with date, included usage and credits, add-on prices (connectors, agents, image generation) and overage rates. Cite public prices or dated quotes. Per-seat versus usage is a fact, not a quality judgment.",
      "questions": [
        {
          "id": "pricing_unit",
          "question": "What is the pricing unit?"
        },
        {
          "id": "list_prices",
          "question": "What are list prices per plan, with date and currency?"
        },
        {
          "id": "included_usage",
          "question": "What usage is included?"
        },
        {
          "id": "add_ons",
          "question": "Which features cost extra?"
        },
        {
          "id": "overage",
          "question": "What do usage beyond limits and premium models cost?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:VEN-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Business seat prices are public; only the documented prepaid route is described here, while conflicting Business overage eligibility remains unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business Free/Pro/Max seat list pricing; Enterprise quoted pool and programmatic contracts are separate",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "pricing_unit",
              "question": "What is the pricing unit?",
              "support": "partial",
              "answer": "Business publishes per-seat subscriptions and included credits. Detailed Credit management describes prepaid Business top-ups and Enterprise PAYG; pricing FAQ separately describes enabled Business workspace overage, so Business post-allocation billing eligibility is unverified.",
              "evidenceIds": [
                "dust:dust:pricing",
                "dust:dust:credit-management"
              ]
            },
            {
              "id": "list_prices",
              "question": "What are list prices per plan, with date and currency?",
              "support": "supported",
              "answer": "As retrieved 2026-10-21, ex-VAT Business Free is EUR 0; Pro EUR 30/month or EUR 24/month annually; Max EUR 150/month or EUR 120/month annually. Enterprise is quote-only.",
              "evidenceIds": [
                "dust:dust:pricing"
              ]
            },
            {
              "id": "included_usage",
              "question": "What usage is included?",
              "support": "supported",
              "answer": "Free has 500 lifetime credits, Pro 8,000/month and Max 40,000/month. Monthly credits do not roll over; Workspace seats draw from a contracted pool.",
              "evidenceIds": [
                "dust:dust:credits",
                "dust:dust:seats"
              ]
            },
            {
              "id": "add_ons",
              "question": "Which features cost extra?",
              "support": "partial",
              "answer": "Business limits include three connectors, five remote MCP servers and five Spaces. Enterprise adds unlimited connector/MCP packaging, SCIM, audit, retention and support. Individual add-on tariffs are not published.",
              "evidenceIds": [
                "dust:dust:pricing"
              ]
            },
            {
              "id": "overage",
              "question": "What do usage beyond limits and premium models cost?",
              "support": "unknown",
              "answer": "Effective Business post-allocation billing is unknown: current pricing FAQ allows Pro/Max workspace overage, while Credit management reserves PAYG for Enterprise and describes prepaid Business top-ups. The USD0.01/credit Business programmatic rate does not resolve whether interactive overage is PAYG or prepaid. No account/contract test resolved this.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps.",
            "Do not present Business PAYG as established; retain list seat prices separately from the unresolved overage route."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:pricing",
            "dust:dust:credit-management",
            "dust:dust:credits",
            "dust:dust:seats"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:VEN-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Branding-intact standard use is free; Enterprise and external infrastructure/model services cost separately.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "pricing_unit",
              "question": "What is the pricing unit?",
              "support": "supported",
              "answer": "Standard software use has no per-seat fee with original branding intact. Enterprise rights/support are separately licensed.",
              "evidenceIds": [
                "open-webui:open-webui:enterprise"
              ]
            },
            {
              "id": "list_prices",
              "question": "What are list prices per plan, with date and currency?",
              "support": "partial",
              "answer": "Standard internal use is listed as Free on 2026-10-21. No numeric Enterprise tariff was published in the reviewed offer.",
              "evidenceIds": [
                "open-webui:open-webui:enterprise"
              ]
            },
            {
              "id": "included_usage",
              "question": "What usage is included?",
              "support": "supported",
              "answer": "A software licence does not supply model inference or hosting; customers configure those services.",
              "evidenceIds": [
                "open-webui:open-webui:enterprise",
                "open-webui:open-webui:provider"
              ]
            },
            {
              "id": "add_ons",
              "question": "Which features cost extra?",
              "support": "partial",
              "answer": "Branding changes outside licence exceptions and enterprise-exclusive offerings such as Terminals require Enterprise rights; service rates were not established.",
              "evidenceIds": [
                "open-webui:open-webui:enterprise",
                "open-webui:open-webui:terms"
              ]
            },
            {
              "id": "overage",
              "question": "What do usage beyond limits and premium models cost?",
              "support": "partial",
              "answer": "External providers charge under their own accounts; no universal Open WebUI inference overage tariff applies to standard self-hosting.",
              "evidenceIds": [
                "open-webui:open-webui:provider",
                "open-webui:open-webui:enterprise"
              ]
            }
          ],
          "limitations": [
            "list_prices: Standard internal use is listed as Free on 2026-10-21. No numeric Enterprise tariff was published in the reviewed offer.",
            "add_ons: Branding changes outside licence exceptions and enterprise-exclusive offerings such as Terminals require Enterprise rights; service rates were not established.",
            "overage: External providers charge under their own accounts; no universal Open WebUI inference overage tariff applies to standard self-hosting."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:enterprise",
            "open-webui:open-webui:provider",
            "open-webui:open-webui:terms"
          ]
        }
      ]
    },
    {
      "id": "VEN-02",
      "title": "Scenario cost",
      "group": {
        "id": 7,
        "name": "Commercials and vendor"
      },
      "judgment": "Price three workloads for 12 months: 200, 1,000 and 5,000 users with a disclosed light/regular/power usage mix, in CHF and EUR excluding VAT. Include licences, platform fees, add-ons, model usage and, for self-hosted options, a stated operating assumption. Separate fixed, variable, included and unknown costs. No invented discounts.",
      "questions": [
        {
          "id": "cost_200",
          "question": "Year-one cost at 200 users?"
        },
        {
          "id": "cost_1000",
          "question": "Year-one cost at 1,000 users?"
        },
        {
          "id": "cost_5000",
          "question": "Year-one cost at 5,000 users?"
        },
        {
          "id": "variable_share",
          "question": "Which part depends on usage?"
        },
        {
          "id": "unknown_parts",
          "question": "Which costs could not be priced?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:VEN-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "ALM-14 shared cost assumptions v1.4, 2026-10-21 apply; all three target seat counts require unpriced Enterprise terms.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "cost_200",
              "question": "Year-one cost at 200 users?",
              "support": "unknown",
              "answer": "Year-one cost at 200 users? For 200, 1,000 and 5,000 users over 12 months, the shared 60/30/10 message/token workload has no public applicable Enterprise seat quote or complete credit tariff. CHF/EUR ex-VAT totals remain unknown. ECB 2026-10-20 rates are recorded; the small-team Business price is not multiplied beyond its stated 100-person scope.",
              "evidenceIds": []
            },
            {
              "id": "cost_1000",
              "question": "Year-one cost at 1,000 users?",
              "support": "unknown",
              "answer": "Year-one cost at 1,000 users? For 200, 1,000 and 5,000 users over 12 months, the shared 60/30/10 message/token workload has no public applicable Enterprise seat quote or complete credit tariff. CHF/EUR ex-VAT totals remain unknown. ECB 2026-10-20 rates are recorded; the small-team Business price is not multiplied beyond its stated 100-person scope.",
              "evidenceIds": []
            },
            {
              "id": "cost_5000",
              "question": "Year-one cost at 5,000 users?",
              "support": "unknown",
              "answer": "Year-one cost at 5,000 users? For 200, 1,000 and 5,000 users over 12 months, the shared 60/30/10 message/token workload has no public applicable Enterprise seat quote or complete credit tariff. CHF/EUR ex-VAT totals remain unknown. ECB 2026-10-20 rates are recorded; the small-team Business price is not multiplied beyond its stated 100-person scope.",
              "evidenceIds": []
            },
            {
              "id": "variable_share",
              "question": "Which part depends on usage?",
              "support": "supported",
              "answer": "Consumption adds token and action credits, including sub-agent work. Programmatic use and Enterprise PAYG draw from workspace pools separately from personal seat allocations.",
              "evidenceIds": [
                "dust:dust:credits",
                "dust:dust:credit-management"
              ]
            },
            {
              "id": "unknown_parts",
              "question": "Which costs could not be priced?",
              "support": "supported",
              "answer": "Business is scoped to 100 people, so 200/1,000/5,000 seat Enterprise fees, committed pool and PAYG tariffs are unknown. The default Standard auto list is published, but a complete token-to-credit tariff is not, so no proxy replaces vendor-billed usage.",
              "evidenceIds": [
                "dust:dust:pricing",
                "dust:dust:models",
                "dust:dust:credits"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:credits",
            "dust:dust:credit-management",
            "dust:dust:pricing",
            "dust:dust:models",
            "dust:dust:fx-ecb"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:VEN-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "ALM-14 shared cost assumptions v1.4, 2026-10-21: zero standard licence plus a disclosed Swiss infrastructure/operations and direct-BYO-model budget. Annual CHF/EUR figures are floors plus named unknown costs.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [
              "Analyst-selected direct OpenAI API proxy, not a bundled model",
              "Assumed operations staffing; optional commercial services excluded"
            ],
            "deploymentMode": "customer-cloud",
            "region": "Azure Switzerland North for the reference application infrastructure; standard OpenAI API inference has no Swiss/EU residency assumption",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "cost_200",
              "question": "Year-one cost at 200 users?",
              "support": "partial",
              "answer": "ALM-14 shared cost assumptions v1.4, 2026-10-21. 200 users, 12 months excluding VAT: from CHF 34778.28 / EUR 37651.06 plus unpriced items. Includes zero standard-software licence, reference infrastructure EUR 4749.26, operations CHF 30000.00, and BYO model usage USD 475.20. This is an assumption-based budget floor, not a vendor quote or validated capacity plan.",
              "evidenceIds": [
                "open-webui:open-webui:enterprise",
                "open-webui:open-webui:cost-vm",
                "open-webui:open-webui:cost-pg",
                "open-webui:open-webui:cost-fx",
                "open-webui:open-webui:cost-model",
                "open-webui:open-webui:cost-effort"
              ]
            },
            {
              "id": "cost_1000",
              "question": "Year-one cost at 1,000 users?",
              "support": "partial",
              "answer": "ALM-14 shared cost assumptions v1.4, 2026-10-21. 1,000 users, 12 months excluding VAT: from CHF 88600.40 / EUR 95919.02 plus unpriced items. Includes zero standard-software licence, reference infrastructure EUR 12605.23, operations CHF 75000.00, and BYO model usage USD 2376.00. This is an assumption-based budget floor, not a vendor quote or validated capacity plan.",
              "evidenceIds": [
                "open-webui:open-webui:enterprise",
                "open-webui:open-webui:cost-vm",
                "open-webui:open-webui:cost-pg",
                "open-webui:open-webui:cost-fx",
                "open-webui:open-webui:cost-model",
                "open-webui:open-webui:cost-effort"
              ]
            },
            {
              "id": "cost_5000",
              "question": "Year-one cost at 5,000 users?",
              "support": "partial",
              "answer": "ALM-14 shared cost assumptions v1.4, 2026-10-21. 5,000 users, 12 months excluding VAT: from CHF 189541.24 / EUR 205197.83 plus unpriced items. Includes zero standard-software licence, reference infrastructure EUR 32214.49, operations CHF 150000.00, and BYO model usage USD 11880.00. This is an assumption-based budget floor, not a vendor quote or validated capacity plan.",
              "evidenceIds": [
                "open-webui:open-webui:enterprise",
                "open-webui:open-webui:cost-vm",
                "open-webui:open-webui:cost-pg",
                "open-webui:open-webui:cost-fx",
                "open-webui:open-webui:cost-model",
                "open-webui:open-webui:cost-effort"
              ]
            },
            {
              "id": "variable_share",
              "question": "Which part depends on usage?",
              "support": "partial",
              "answer": "Shared mix is 60% light at 100, 30% regular at 400 and 10% power at 1,500 messages/user/month, or 330 weighted messages. Each message is 3,000 input and 600 output tokens. Direct BYO proxy is gpt-6-luna, reasoning effort none, Standard short-context uncached rates USD 0.10/0.50 per million input/output tokens. It costs USD 2.376/user/year before optional tools, embedding, caching or regional processing. This proxy is an analyst assumption, not the product default.",
              "evidenceIds": [
                "open-webui:open-webui:cost-model",
                "open-webui:open-webui:cost-effort"
              ]
            },
            {
              "id": "unknown_parts",
              "question": "Which costs could not be priced?",
              "support": "partial",
              "answer": "Unpriced additions are file/object storage beyond the assumed 500 GB PostgreSQL storage, VM OS/data disks, backup excess, egress/load balancers, Redis or additional database services, high availability, embeddings, OCR, search, audio/images, integration work and optional commercial services. Open WebUI Enterprise, branding rights outside standard exceptions and Terminals production licences are quote-only. The shared VM/PG sizes have not been load-tested and do not replace each product’s documented runtime dependencies.",
              "evidenceIds": [
                "open-webui:open-webui:cost-vm",
                "open-webui:open-webui:cost-pg",
                "open-webui:open-webui:enterprise"
              ]
            }
          ],
          "limitations": [
            "ALM-14 shared cost assumptions v1.4, 2026-10-21 are analyst inputs, not vendor sizing or an uptime promise.",
            "The budget is a floor because named infrastructure and service costs are unpriced."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:enterprise",
            "open-webui:open-webui:cost-vm",
            "open-webui:open-webui:cost-pg",
            "open-webui:open-webui:cost-fx",
            "open-webui:open-webui:cost-model",
            "open-webui:open-webui:cost-effort"
          ]
        }
      ]
    },
    {
      "id": "VEN-03",
      "title": "Evaluation access",
      "group": {
        "id": 7,
        "name": "Commercials and vendor"
      },
      "judgment": "Distinguish free tier, self-serve trial, sales-led pilot, paid proof of concept and open-source self-install. Record card requirement, duration, seat limit, and which features (SSO, connectors, admin) the trial includes. Map which shared scenarios can be run without sales approval.",
      "questions": [
        {
          "id": "free_tier",
          "question": "Is there a free tier for business use?"
        },
        {
          "id": "self_serve_trial",
          "question": "Is a self-serve business trial available?"
        },
        {
          "id": "trial_scope",
          "question": "Do trials include SSO, connectors and admin features?"
        },
        {
          "id": "sales_gate",
          "question": "Does meaningful evaluation require sales contact?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:VEN-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "A limited Business free option enables self-serve evaluation; Enterprise features remain contract-scoped.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "free_tier",
              "question": "Is there a free tier for business use?",
              "support": "supported",
              "answer": "Business free supports up to five members with 500 lifetime credits per Free seat. Credits do not reset and a user cannot return to Free after upgrading.",
              "evidenceIds": [
                "dust:dust:seats"
              ]
            },
            {
              "id": "self_serve_trial",
              "question": "Is a self-serve business trial available?",
              "support": "partial",
              "answer": "The public site offers self-serve free workspace access, not a documented time-limited fully featured Enterprise trial. No card requirement was established.",
              "evidenceIds": [
                "dust:dust:pricing",
                "dust:dust:seats"
              ]
            },
            {
              "id": "trial_scope",
              "question": "Do trials include SSO, connectors and admin features?",
              "support": "partial",
              "answer": "Business lists up to three connectors/five Spaces/five remote MCP servers and SSO at 5+ seats on demand. SCIM, audit and custom retention are Enterprise.",
              "evidenceIds": [
                "dust:dust:pricing"
              ]
            },
            {
              "id": "sales_gate",
              "question": "Does meaningful evaluation require sales contact?",
              "support": "supported",
              "answer": "Enterprise terms, pooled credits, advanced governance and support are sales-led; a small-team free evaluation is self-serve.",
              "evidenceIds": [
                "dust:dust:pricing"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:seats",
            "dust:dust:pricing"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:VEN-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Standard self-installation permits evaluation without sales contact; Enterprise rights and services have a separate sales path.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "free_tier",
              "question": "Is there a free tier for business use?",
              "support": "supported",
              "answer": "The current enterprise page permits free standard use with branding intact, including organizations.",
              "evidenceIds": [
                "open-webui:open-webui:enterprise"
              ]
            },
            {
              "id": "self_serve_trial",
              "question": "Is a self-serve business trial available?",
              "support": "partial",
              "answer": "Docker/Python self-installation is available without a licence payment or trial clock; it is an install path rather than a vendor-operated business trial.",
              "evidenceIds": [
                "open-webui:open-webui:quickstart",
                "open-webui:open-webui:enterprise"
              ]
            },
            {
              "id": "trial_scope",
              "question": "Do trials include SSO, connectors and admin features?",
              "support": "supported",
              "answer": "Self-hosted authentication, administration and knowledge features can be configured for evaluation with the customer’s own infrastructure and credentials.",
              "evidenceIds": [
                "open-webui:open-webui:quickstart",
                "open-webui:open-webui:sso",
                "open-webui:open-webui:knowledge"
              ]
            },
            {
              "id": "sales_gate",
              "question": "Does meaningful evaluation require sales contact?",
              "support": "partial",
              "answer": "Standard self-install evaluation is possible without sales. Enterprise licensing is offered to registered entities via the sales path.",
              "evidenceIds": [
                "open-webui:open-webui:enterprise"
              ]
            }
          ],
          "limitations": [
            "self_serve_trial: Docker/Python self-installation is available without a licence payment or trial clock; it is an install path rather than a vendor-operated business trial.",
            "sales_gate: Standard self-install evaluation is possible without sales. Enterprise licensing is offered to registered entities via the sales path."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:enterprise",
            "open-webui:open-webui:quickstart",
            "open-webui:open-webui:sso",
            "open-webui:open-webui:knowledge"
          ]
        }
      ]
    },
    {
      "id": "VEN-04",
      "title": "Contract terms and pricing transparency",
      "group": {
        "id": 7,
        "name": "Commercials and vendor"
      },
      "judgment": "Record minimum seats or commitment, contract length, monthly versus annual billing, price-change rules, cancellation and downgrade terms, and invoicing in CHF/EUR. Classify pricing as transparent, partially specified, quote-only or unknown, naming the missing fields. Quote-only pricing is a disclosed constraint.",
      "questions": [
        {
          "id": "minimum_commitment",
          "question": "What seat or spend minimum applies?"
        },
        {
          "id": "contract_length",
          "question": "What contract lengths are offered?"
        },
        {
          "id": "cancellation",
          "question": "How can the contract be cancelled or reduced?"
        },
        {
          "id": "local_invoicing",
          "question": "Can it be invoiced in CHF or EUR from a European entity?"
        },
        {
          "id": "transparency_class",
          "question": "Is pricing transparent, partial, quote-only or unknown?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:VEN-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Business monthly and annual subscriptions are public; Enterprise seats are annual and prices contractual.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "minimum_commitment",
              "question": "What seat or spend minimum applies?",
              "support": "partial",
              "answer": "The free option has up to five members and Business targets up to 100 people; Enterprise numerical seat/spend minimum was not established.",
              "evidenceIds": [
                "dust:dust:pricing",
                "dust:dust:seats"
              ]
            },
            {
              "id": "contract_length",
              "question": "What contract lengths are offered?",
              "support": "supported",
              "answer": "Business offers monthly and annual seats together; Enterprise seats are annual only.",
              "evidenceIds": [
                "dust:dust:seats"
              ]
            },
            {
              "id": "cancellation",
              "question": "How can the contract be cancelled or reduced?",
              "support": "supported",
              "answer": "Monthly seats unassign immediately with a prorated credit; annual seats return to stock for reassignment and are not refunded when someone leaves.",
              "evidenceIds": [
                "dust:dust:seats"
              ]
            },
            {
              "id": "local_invoicing",
              "question": "Can it be invoiced in CHF or EUR from a European entity?",
              "support": "partial",
              "answer": "Prices are displayed in EUR and the privacy policy identifies a French entity; CHF invoicing and the actual invoicing entity/currency were not contract-verified.",
              "evidenceIds": [
                "dust:dust:pricing",
                "dust:dust:privacy"
              ]
            },
            {
              "id": "transparency_class",
              "question": "Is pricing transparent, partial, quote-only or unknown?",
              "support": "supported",
              "answer": "Partially specified: Business seat prices/credit allowances are public, while Enterprise pricing, complete usage conversion and negotiated terms require a quote.",
              "evidenceIds": [
                "dust:dust:pricing",
                "dust:dust:credits"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:pricing",
            "dust:dust:seats",
            "dust:dust:privacy",
            "dust:dust:credits"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:VEN-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Standard-use licence terms are public; Enterprise pricing and negotiated contract details remain quote-only.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "minimum_commitment",
              "question": "What seat or spend minimum applies?",
              "support": "partial",
              "answer": "No paid standard-use seat commitment is listed. The 50-user rolling window is a branding exception, not a cap on branded deployment size; Enterprise is available to registered entities.",
              "evidenceIds": [
                "open-webui:open-webui:license-pin",
                "open-webui:open-webui:enterprise"
              ]
            },
            {
              "id": "contract_length",
              "question": "What contract lengths are offered?",
              "support": "unknown",
              "answer": "contract_length: What contract lengths are offered? Enterprise duration, monthly/annual billing, cancellation, price-change clauses and CHF/EUR invoicing from a European entity were not established.",
              "evidenceIds": []
            },
            {
              "id": "cancellation",
              "question": "How can the contract be cancelled or reduced?",
              "support": "unknown",
              "answer": "cancellation: How can the contract be cancelled or reduced? Enterprise duration, monthly/annual billing, cancellation, price-change clauses and CHF/EUR invoicing from a European entity were not established.",
              "evidenceIds": []
            },
            {
              "id": "local_invoicing",
              "question": "Can it be invoiced in CHF or EUR from a European entity?",
              "support": "unknown",
              "answer": "local_invoicing: Can it be invoiced in CHF or EUR from a European entity? Enterprise duration, monthly/annual billing, cancellation, price-change clauses and CHF/EUR invoicing from a European entity were not established.",
              "evidenceIds": []
            },
            {
              "id": "transparency_class",
              "question": "Is pricing transparent, partial, quote-only or unknown?",
              "support": "supported",
              "answer": "Standard-use licence is disclosed; Enterprise price and service terms are quote-only in the reviewed public offer.",
              "evidenceIds": [
                "open-webui:open-webui:enterprise"
              ]
            }
          ],
          "limitations": [
            "minimum_commitment: No paid standard-use seat commitment is listed. The 50-user rolling window is a branding exception, not a cap on branded deployment size; Enterprise is available to registered entities.",
            "contract_length: What contract lengths are offered? Enterprise duration, monthly/annual billing, cancellation, price-change clauses and CHF/EUR invoicing from a European entity were not established.",
            "cancellation: How can the contract be cancelled or reduced? Enterprise duration, monthly/annual billing, cancellation, price-change clauses and CHF/EUR invoicing from a European entity were not established.",
            "local_invoicing: Can it be invoiced in CHF or EUR from a European entity? Enterprise duration, monthly/annual billing, cancellation, price-change clauses and CHF/EUR invoicing from a European entity were not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:license-pin",
            "open-webui:open-webui:enterprise"
          ]
        }
      ]
    },
    {
      "id": "VEN-05",
      "title": "Source licence",
      "group": {
        "id": 7,
        "name": "Commercials and vendor"
      },
      "judgment": "Record licence per component (client, server, connectors, hosted extensions) and revision. Distinguish OSI open source, source-available with restrictions (branding clauses, user caps), and closed. Repository visibility is not a licence classification. Licences change between releases: record the current terms, and never carry a fork's historical licence over to the upstream product or the reverse.",
      "questions": [
        {
          "id": "licence_type",
          "question": "Which licence applies to each component?"
        },
        {
          "id": "branding_restrictions",
          "question": "Do licence terms restrict branding or user counts?"
        },
        {
          "id": "enterprise_features_closed",
          "question": "Are enterprise features in a separate closed edition?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:VEN-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "The pinned public repository has an MIT root licence; hosted licensing and complete component coverage are separate.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "source-repository"
            ],
            "version": "dust-tt/dust commit2b1a4973af824f8ff970d585c5eb1f40ae76186c; root LICENSE only",
            "plan": "Public source component, not Business/Enterprise hosted-service rights",
            "addOns": [],
            "deploymentMode": null,
            "region": "Repository licence has no deployment-region entitlement",
            "os": [],
            "surfaces": [
              {
                "id": "source-repository",
                "name": "Public dust-tt/dust repository root licence",
                "type": "source-repository"
              }
            ]
          },
          "questions": [
            {
              "id": "licence_type",
              "question": "Which licence applies to each component?",
              "support": "partial",
              "answer": "dust-tt/dust root LICENSE is MIT at commit 2b1a4973af824f8ff970d585c5eb1f40ae76186c. This does not classify every dependency or the contracted hosted service.",
              "evidenceIds": [
                "dust:dust:licence"
              ]
            },
            {
              "id": "branding_restrictions",
              "question": "Do licence terms restrict branding or user counts?",
              "support": "supported",
              "answer": "The MIT root grant requires preserving copyright and permission notices and does not itself impose branding or user-count caps.",
              "evidenceIds": [
                "dust:dust:licence"
              ]
            },
            {
              "id": "enterprise_features_closed",
              "question": "Are enterprise features in a separate closed edition?",
              "support": "unknown",
              "answer": "Are enterprise features in a separate closed edition? The pinned root LICENSE and README were retrieved; a complete nested-component licence inventory and separate closed Enterprise edition boundary were not established. Hosted terms were inaccessible.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "MIT applies to the pinned repository root grant only; dependencies, supported self-host deployment, hosted terms and any closed Enterprise boundary remain unverified."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:licence"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:VEN-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "The core server at v0.12.3 uses a licence with branding restrictions. The separate Desktop v0.0.20 repository distributes GNU AGPL v3. Terminals and proprietary Enterprise component terms remain unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web",
              "desktop"
            ],
            "version": "Core v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60; Desktop v0.0.20 / 601137c5dec2967cfe173a6bf071fbbb460852be",
            "plan": "Pinned core server and Desktop component licences only; no executed Enterprise agreement or pinned Terminals licence verified",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              },
              {
                "id": "desktop",
                "name": "Open WebUI Desktop native distribution (Early Alpha)",
                "type": "desktop"
              }
            ]
          },
          "questions": [
            {
              "id": "licence_type",
              "question": "Which licence applies to each component?",
              "support": "partial",
              "answer": "Core v0.12.3 is distributed under the Open WebUI License with branding conditions, so its source availability has restrictions. The separate Desktop v0.0.20 LICENSE is GNU AGPL version 3. Other component licences were not established by these two texts.",
              "evidenceIds": [
                "open-webui:open-webui:license-pin",
                "open-webui:open-webui:desktop-license-r2"
              ]
            },
            {
              "id": "branding_restrictions",
              "question": "Do licence terms restrict branding or user counts?",
              "support": "supported",
              "answer": "Core LICENSE clause 4 restricts branding changes, with exceptions for no more than 50 natural-person users in a rolling 30 days, specific prior written permission, or an executed Enterprise licence expressly permitting changes. It does not impose a 50-user cap on branded use. This answer follows that pinned text, not the FAQ contribution qualifier.",
              "evidenceIds": [
                "open-webui:open-webui:license-pin"
              ]
            },
            {
              "id": "enterprise_features_closed",
              "question": "Are enterprise features in a separate closed edition?",
              "support": "unknown",
              "answer": "The core text mentions an Enterprise branding-permission exception but does not establish a separate closed edition or Terminals production terms. No relevant pinned Terminals component licence or executed Enterprise contract was reviewed; those details remain unknown.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "The claim follows pinned component licence texts and excludes unverified Enterprise/Terminals feature-licensing assertions.",
            "No executed branding exception or proprietary Enterprise agreement was reviewed."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:license-pin",
            "open-webui:open-webui:desktop-license-r2"
          ]
        }
      ]
    },
    {
      "id": "VEN-06",
      "title": "Data export and exit",
      "group": {
        "id": 7,
        "name": "Commercials and vendor"
      },
      "judgment": "Record admin export of chats, assistants, knowledge bases, prompts and audit logs, formats, export completeness, user self-export, and what survives contract end. Run an admin export on a trial. Exported chats alone do not make assistants and knowledge portable.",
      "questions": [
        {
          "id": "chat_export",
          "question": "Can admins export all chats?"
        },
        {
          "id": "assistant_export",
          "question": "Can assistants and prompts be exported in a reusable format?"
        },
        {
          "id": "knowledge_export",
          "question": "Can knowledge bases and their sources be exported?"
        },
        {
          "id": "export_format",
          "question": "Are formats documented and machine-readable?"
        },
        {
          "id": "post_termination_window",
          "question": "How long can data be retrieved after termination?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:VEN-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Business Conversation API and Enterprise Data Source API provide scoped data retrieval; agent export entitlement and complete tenant exit remain unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "api",
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business Conversation API and web analytics; Enterprise adds Data Source API. Agent-YAML endpoint entitlement is unverified.",
            "addOns": [
              "API keys with appropriate workspace/resource permissions"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "api",
                "name": "Dust APIs and MCP server",
                "type": "api"
              },
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "chat_export",
              "question": "Can admins export all chats?",
              "support": "partial",
              "answer": "Business pricing includes Conversation API; authorized API users retrieve accessible conversation messages with pagination. This does not establish one-click all-tenant admin export.",
              "evidenceIds": [
                "dust:dust:get-conversation",
                "dust:dust:pricing"
              ]
            },
            {
              "id": "assistant_export",
              "question": "Can assistants and prompts be exported in a reusable format?",
              "support": "unknown",
              "answer": "The agent-YAML endpoint and public pricing were checked on 2026-10-21. Neither establishes its Business or Enterprise entitlement. Reusable assistant/prompt export for a named plan remains unknown.",
              "evidenceIds": []
            },
            {
              "id": "knowledge_export",
              "question": "Can knowledge bases and their sources be exported?",
              "support": "partial",
              "answer": "Enterprise pricing adds Data Source API; the documented endpoint retrieves accessible data-source documents as JSON. Complete source/credential/permission portability and an all-tenant export are unverified.",
              "evidenceIds": [
                "dust:dust:get-document",
                "dust:dust:pricing"
              ]
            },
            {
              "id": "export_format",
              "question": "Are formats documented and machine-readable?",
              "support": "partial",
              "answer": "Business Conversation API and Enterprise Data Source API return JSON for accessible resources. Web analytics separately exports CSV. These formats do not establish complete tenant export; no plan-scoped agent-YAML export is claimed.",
              "evidenceIds": [
                "dust:dust:get-conversation",
                "dust:dust:get-document",
                "dust:dust:analytics",
                "dust:dust:pricing"
              ]
            },
            {
              "id": "post_termination_window",
              "question": "How long can data be retrieved after termination?",
              "support": "unknown",
              "answer": "How long can data be retrieved after termination? No trial admin exit/export was run; complete tenant coverage and the post-termination retrieval window were not established from the accessible API docs or unreadable contract route.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Conversation and document retrieval require the corresponding plan and resource permissions. Complete organization coverage, agent-export entitlement and the post-termination retrieval window remain unknown."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:get-conversation",
            "dust:dust:pricing",
            "dust:dust:get-document",
            "dust:dust:analytics"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:VEN-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "User chats, admin chat records and model definitions have machine-readable export paths. Knowledge ZIP export converts source files to text.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "chat_export",
              "question": "Can admins export all chats?",
              "support": "supported",
              "answer": "Users export their history as JSON. The pinned admin all/db route returns database chat records if ENABLE_ADMIN_EXPORT is enabled.",
              "evidenceIds": [
                "open-webui:open-webui:export",
                "open-webui:open-webui:chats-pin"
              ]
            },
            {
              "id": "assistant_export",
              "question": "Can assistants and prompts be exported in a reusable format?",
              "support": "partial",
              "answer": "Models have JSON export/import and sync APIs. Full portability of all bound tools, skills, external secrets and shared prompts was not tested.",
              "evidenceIds": [
                "open-webui:open-webui:api"
              ]
            },
            {
              "id": "knowledge_export",
              "question": "Can knowledge bases and their sources be exported?",
              "support": "partial",
              "answer": "Admins can export a knowledge base as ZIP containing .txt conversions. Original binary fidelity and full index/configuration restoration were not established.",
              "evidenceIds": [
                "open-webui:open-webui:knowledge"
              ]
            },
            {
              "id": "export_format",
              "question": "Are formats documented and machine-readable?",
              "support": "supported",
              "answer": "Chat/model JSON schemas and APIs and knowledge text ZIP output are documented.",
              "evidenceIds": [
                "open-webui:open-webui:export",
                "open-webui:open-webui:api",
                "open-webui:open-webui:knowledge"
              ]
            },
            {
              "id": "post_termination_window",
              "question": "How long can data be retrieved after termination?",
              "support": "unknown",
              "answer": "post_termination_window: How long can data be retrieved after termination? No admin export fixture or Enterprise post-termination retrieval period was tested/reviewed; customer-owned backups remain the operator’s responsibility.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "assistant_export: Models have JSON export/import and sync APIs. Full portability of all bound tools, skills, external secrets and shared prompts was not tested.",
            "knowledge_export: Admins can export a knowledge base as ZIP containing .txt conversions. Original binary fidelity and full index/configuration restoration were not established.",
            "post_termination_window: How long can data be retrieved after termination? No admin export fixture or Enterprise post-termination retrieval period was tested/reviewed; customer-owned backups remain the operator’s responsibility."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:export",
            "open-webui:open-webui:chats-pin",
            "open-webui:open-webui:api",
            "open-webui:open-webui:knowledge"
          ]
        }
      ]
    },
    {
      "id": "VEN-07",
      "title": "Support and service levels",
      "group": {
        "id": 7,
        "name": "Commercials and vendor"
      },
      "judgment": "Record support channels, languages (German, French, Italian), hours and time zone, local or regional presence, documented response times, uptime SLA and credits, public status page and incident history. Popularity is not a reliability score.",
      "questions": [
        {
          "id": "support_channels",
          "question": "Which support channels are available on each plan?"
        },
        {
          "id": "support_languages",
          "question": "Is support available in German, French or Italian?"
        },
        {
          "id": "regional_presence",
          "question": "Is there a DACH or Swiss entity, team or partner?"
        },
        {
          "id": "uptime_sla",
          "question": "Is there an uptime SLA with credits?"
        },
        {
          "id": "status_page",
          "question": "Is there a public status page with history?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:VEN-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Business email support and Enterprise priority/SLA service are advertised; credit terms and local-language support remain open.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Business credit-priced plan; Enterprise or legacy differences are named per answer",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "support_channels",
              "question": "Which support channels are available on each plan?",
              "support": "supported",
              "answer": "Pricing lists Business email and Enterprise priority support with dedicated CSM; public support/community resources are available.",
              "evidenceIds": [
                "dust:dust:pricing",
                "dust:dust:support"
              ]
            },
            {
              "id": "support_languages",
              "question": "Is support available in German, French or Italian?",
              "support": "unknown",
              "answer": "Is support available in German, French or Italian? Support/pricing/Enterprise pages and the official status URL were checked. German/French/Italian staffed support and detailed credited SLA terms were not established.",
              "evidenceIds": []
            },
            {
              "id": "regional_presence",
              "question": "Is there a DACH or Swiss entity, team or partner?",
              "support": "partial",
              "answer": "The public policy identifies a Paris, France entity. A DACH/Swiss support team or named regional partner was not established.",
              "evidenceIds": [
                "dust:dust:privacy"
              ]
            },
            {
              "id": "uptime_sla",
              "question": "Is there an uptime SLA with credits?",
              "support": "partial",
              "answer": "Enterprise marketing claims 99.9% uptime and pricing includes an SLA; service-credit amounts, exclusions and claim rules were not retrieved.",
              "evidenceIds": [
                "dust:dust:enterprise",
                "dust:dust:pricing"
              ]
            },
            {
              "id": "status_page",
              "question": "Is there a public status page with history?",
              "support": "partial",
              "answer": "Model-selection docs link https://dust.statuspage.io for incidents. Direct retrieval timed out, so incident history was not verified.",
              "evidenceIds": [
                "dust:dust:models"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:pricing",
            "dust:dust:support",
            "dust:dust:privacy",
            "dust:dust:enterprise",
            "dust:dust:models"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:VEN-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Enterprise support advertises dedicated channels, account management and engineering office hours; public response/credit terms were not established.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "support_channels",
              "question": "Which support channels are available on each plan?",
              "support": "supported",
              "answer": "Enterprise customers can obtain dedicated support channels and an account manager; community development/support uses public GitHub and community channels.",
              "evidenceIds": [
                "open-webui:open-webui:support",
                "open-webui:open-webui:roadmap"
              ]
            },
            {
              "id": "support_languages",
              "question": "Is support available in German, French or Italian?",
              "support": "unknown",
              "answer": "support_languages: Is support available in German, French or Italian? DE/FR/IT support coverage, support hours/time zone, CH/DACH contracting/partner presence and a product status-history page were not established in the support/enterprise and roadmap pass.",
              "evidenceIds": []
            },
            {
              "id": "regional_presence",
              "question": "Is there a DACH or Swiss entity, team or partner?",
              "support": "unknown",
              "answer": "regional_presence: Is there a DACH or Swiss entity, team or partner? DE/FR/IT support coverage, support hours/time zone, CH/DACH contracting/partner presence and a product status-history page were not established in the support/enterprise and roadmap pass.",
              "evidenceIds": []
            },
            {
              "id": "uptime_sla",
              "question": "Is there an uptime SLA with credits?",
              "support": "partial",
              "answer": "The support page refers to negotiated SLAs, but publishes no reviewed uptime percentage, response commitment or service-credit schedule.",
              "evidenceIds": [
                "open-webui:open-webui:support"
              ]
            },
            {
              "id": "status_page",
              "question": "Is there a public status page with history?",
              "support": "unknown",
              "answer": "status_page: Is there a public status page with history? DE/FR/IT support coverage, support hours/time zone, CH/DACH contracting/partner presence and a product status-history page were not established in the support/enterprise and roadmap pass.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "support_languages: Is support available in German, French or Italian? DE/FR/IT support coverage, support hours/time zone, CH/DACH contracting/partner presence and a product status-history page were not established in the support/enterprise and roadmap pass.",
            "regional_presence: Is there a DACH or Swiss entity, team or partner? DE/FR/IT support coverage, support hours/time zone, CH/DACH contracting/partner presence and a product status-history page were not established in the support/enterprise and roadmap pass.",
            "uptime_sla: The support page refers to negotiated SLAs, but publishes no reviewed uptime percentage, response commitment or service-credit schedule.",
            "status_page: Is there a public status page with history? DE/FR/IT support coverage, support hours/time zone, CH/DACH contracting/partner presence and a product status-history page were not established in the support/enterprise and roadmap pass."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:support",
            "open-webui:open-webui:roadmap"
          ]
        }
      ]
    },
    {
      "id": "VEN-08",
      "title": "Onboarding, training and adoption",
      "group": {
        "id": 7,
        "name": "Commercials and vendor"
      },
      "judgment": "Record vendor-led onboarding, admin training, end-user training (live, e-learning, languages), use-case libraries, champion programmes, change-management materials and their cost. Distinguish included services from paid professional services and partner offerings.",
      "questions": [
        {
          "id": "onboarding_service",
          "question": "Is guided onboarding included?"
        },
        {
          "id": "user_training",
          "question": "Is end-user training offered, in which languages?"
        },
        {
          "id": "use_case_library",
          "question": "Are role-based use cases and templates provided?"
        },
        {
          "id": "adoption_programme",
          "question": "Is there a champion or adoption programme?"
        },
        {
          "id": "service_cost",
          "question": "Which services cost extra?"
        }
      ],
      "products": [
        {
          "productId": "dust",
          "claimId": "dust:VEN-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Dust has rollout and training material, with hands-on support packaged for Enterprise.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "eu-web"
            ],
            "version": "Public source pass 2026-10-21; no logged-in deployment observed",
            "plan": "Public learning material (no paid entitlement required to read); contracted CSM/onboarding is Enterprise",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "US/global or EU workspace as named; EU-hosted-model restriction must be enabled separately",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Dust web workspace",
                "type": "web-app"
              },
              {
                "id": "eu-web",
                "name": "Dust EU web workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "onboarding_service",
              "question": "Is guided onboarding included?",
              "support": "supported",
              "answer": "Enterprise pricing includes dedicated CSM and onboarding; exact hours and scope are contractual.",
              "evidenceIds": [
                "dust:dust:pricing"
              ]
            },
            {
              "id": "user_training",
              "question": "Is end-user training offered, in which languages?",
              "support": "partial",
              "answer": "Public team onboarding and education resources are available. Course/live-session language coverage was not established.",
              "evidenceIds": [
                "dust:dust:training",
                "dust:dust:rollout"
              ]
            },
            {
              "id": "use_case_library",
              "question": "Are role-based use cases and templates provided?",
              "support": "supported",
              "answer": "The public Use Cases and Guides index lists departmental guides for Sales, Support, Marketing, Engineering, Data Analytics, Knowledge, People, Product and Collaboration; the Sales guide supplies concrete agent examples and build links. This establishes public role-based guidance, not a separately verified in-product template entitlement.",
              "evidenceIds": [
                "dust:dust:r2-department-guides",
                "dust:dust:r2-sales-guide"
              ]
            },
            {
              "id": "adoption_programme",
              "question": "Is there a champion or adoption programme?",
              "support": "partial",
              "answer": "The rollout guide covers launch, builder community, education and expansion; a contracted champion programme entitlement was not established.",
              "evidenceIds": [
                "dust:dust:rollout"
              ]
            },
            {
              "id": "service_cost",
              "question": "Which services cost extra?",
              "support": "partial",
              "answer": "Hands-on CSM/onboarding is Enterprise packaging; a numerical professional-services tariff was not established.",
              "evidenceIds": [
                "dust:dust:pricing"
              ]
            }
          ],
          "limitations": [
            "Documented findings only; unestablished atomic questions remain explicit gaps."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "dust:dust:pricing",
            "dust:dust:training",
            "dust:dust:rollout",
            "dust:dust:r2-department-guides",
            "dust:dust:r2-sales-guide"
          ]
        },
        {
          "productId": "open-webui",
          "claimId": "open-webui:VEN-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Enterprise guidance includes onboarding and engineering advice. Paid hands-on implementation and training terms need separate scoping.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected code pinned to v0.12.3 / 91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
            "plan": "Standard self-hosted with original branding intact; Enterprise only where explicitly stated",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure country; external inference, extraction, search and support locations require separate configuration and contracts",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "onboarding_service",
              "question": "Is guided onboarding included?",
              "support": "partial",
              "answer": "Enterprise account management advertises onboarding guidance, with package inclusion and cost unspecified.",
              "evidenceIds": [
                "open-webui:open-webui:support"
              ]
            },
            {
              "id": "user_training",
              "question": "Is end-user training offered, in which languages?",
              "support": "unknown",
              "answer": "user_training: Is end-user training offered, in which languages? No vendor training languages/curriculum, champion programme or priced change-management package was established.",
              "evidenceIds": []
            },
            {
              "id": "use_case_library",
              "question": "Are role-based use cases and templates provided?",
              "support": "partial",
              "answer": "Documentation provides assistant examples and Open Terminal use cases. A full workforce training/adoption curriculum was not established.",
              "evidenceIds": [
                "open-webui:open-webui:models",
                "open-webui:open-webui:terminal"
              ]
            },
            {
              "id": "adoption_programme",
              "question": "Is there a champion or adoption programme?",
              "support": "unknown",
              "answer": "adoption_programme: Is there a champion or adoption programme? No vendor training languages/curriculum, champion programme or priced change-management package was established.",
              "evidenceIds": []
            },
            {
              "id": "service_cost",
              "question": "Which services cost extra?",
              "support": "partial",
              "answer": "Enterprise support is separately arranged; the team describes guidance rather than implementation services and recommends a systems integrator or internal team for hands-on work. Public rates were not established.",
              "evidenceIds": [
                "open-webui:open-webui:support"
              ]
            }
          ],
          "limitations": [
            "onboarding_service: Enterprise account management advertises onboarding guidance, with package inclusion and cost unspecified.",
            "user_training: Is end-user training offered, in which languages? No vendor training languages/curriculum, champion programme or priced change-management package was established.",
            "use_case_library: Documentation provides assistant examples and Open Terminal use cases. A full workforce training/adoption curriculum was not established.",
            "adoption_programme: Is there a champion or adoption programme? No vendor training languages/curriculum, champion programme or priced change-management package was established.",
            "service_cost: Enterprise support is separately arranged; the team describes guidance rather than implementation services and recommends a systems integrator or internal team for hands-on work. Public rates were not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "open-webui:open-webui:support",
            "open-webui:open-webui:models",
            "open-webui:open-webui:terminal"
          ]
        }
      ]
    }
  ],
  "sources": [
    {
      "id": "dust:dust:models",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/model-selection",
      "title": "Auto models and the model picker",
      "locator": "Auto model lists; availability; API overrides",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Users select a model per message or agent; auto choices use maintained ordered lists rather than task-based routing."
    },
    {
      "id": "dust:dust:eu-models",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/admin-governance/eu-hosted-models",
      "title": "EU-hosted models",
      "locator": "Availability; supported/excluded model table",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "EU credit-plan workspaces using Dust model hosting can restrict agents and auto choices to EU-hosted models; BYOK is excluded from this setting."
    },
    {
      "id": "dust:dust:changelog",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/changelog",
      "title": "Dust changelog",
      "locator": "October 21, 16 and 14, 2026 entries",
      "sourceDate": "2026-10-21",
      "retrievedAt": "2026-10-21",
      "finding": "Recent dated changes include German/French UI, Gemini 4 Argon and migration from File Generation to Computer."
    },
    {
      "id": "dust:dust:files",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/data-sources/conversation-files/conversation-files",
      "title": "Conversation Files",
      "locator": "Formats; size table; generating files",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Conversation uploads are scoped to one conversation and support documents, tabular data, images and audio."
    },
    {
      "id": "dust:dust:pricing",
      "productId": "dust",
      "kind": "documented",
      "url": "https://dust.tt/home/pricing",
      "title": "Dust Pricing",
      "locator": "Business/Enterprise table and FAQ",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Business supports up to 100 people with Free/Pro/Max seats; Enterprise pricing is sales-led and adds pooled credits, SCIM, audit, single tenancy and support."
    },
    {
      "id": "open-webui:open-webui:provider",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/",
      "title": "Connect local and cloud models",
      "locator": "How it works; Cloud Providers; Local Servers",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Administrators connect model endpoints; the selected endpoint determines inference location, including for attached context."
    },
    {
      "id": "open-webui:open-webui:compat",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-openai-compatible/",
      "title": "OpenAI-compatible providers",
      "locator": "Provider configuration and provider examples",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The guide documents compatible cloud gateways and local inference servers, with provider-specific capability differences."
    },
    {
      "id": "open-webui:open-webui:rag",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/chat-conversations/rag/",
      "title": "Retrieval augmented generation",
      "locator": "Embedding support; Citations; Google Drive integration; per-file retrieval mode",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Document retrieval uses configured embeddings and chunks or full context, with citations and a Google Drive file picker."
    },
    {
      "id": "open-webui:open-webui:extraction",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/chat-conversations/rag/document-extraction/",
      "title": "Document extraction",
      "locator": "Available extraction methods; temporary chat limitation",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Configurable extraction engines can process scanned documents; browser-only temporary extraction has format limitations."
    },
    {
      "id": "open-webui:open-webui:openai",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-openai/",
      "title": "OpenAI and Azure OpenAI connections",
      "locator": "Azure OpenAI tab; Advanced Configuration",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Customers configure their own OpenAI keys or Azure endpoint, deployment IDs and API version."
    },
    {
      "id": "open-webui:open-webui:releases",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://github.com/open-webui/open-webui/releases/tag/v0.12.3",
      "title": "Open WebUI release notes",
      "locator": "v0.12.3, 2026-10-16; v0.12.2; v0.12.1",
      "sourceDate": "2026-10-16",
      "retrievedAt": "2026-10-21",
      "finding": "Dated releases document shipped changes, including v0.12.3 Drive scope reduction and encrypted private-channel chats."
    },
    {
      "id": "open-webui:open-webui:models",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/workspace/models/",
      "title": "Models workspace",
      "locator": "Presets; Access; Builtin Tools; System prompts",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Model presets combine instructions, model, knowledge, tools and skills, with access grants and saved versions."
    },
    {
      "id": "open-webui:open-webui:enterprise",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/enterprise/",
      "title": "Open WebUI for enterprise",
      "locator": "Licence requirements; Deployment; Support",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Branding-intact internal use is free; enterprise branding rights, support and exclusive offerings require a separate licence."
    },
    {
      "id": "open-webui:open-webui:memory",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/chat-conversations/memory/",
      "title": "Memory and personalization",
      "locator": "Manual management; Administrative controls; Privacy",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Users manage persistent memories; administrators can disable the feature or restrict groups, including server-side use."
    },
    {
      "id": "open-webui:open-webui:offline",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/tutorials/maintenance/offline-mode/",
      "title": "Run Open WebUI offline",
      "locator": "Local prerequisites; disabled online functionality; verification",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Disconnected operation requires prepared local models, embeddings and extraction; internet APIs and tools remain external dependencies."
    },
    {
      "id": "dust:dust:tiers",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/usage-seats-and-credits/model-access-tiers",
      "title": "Model access tiers",
      "locator": "Workspace, group and individual ceilings",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Admins restrict models and reasoning efforts at workspace, group or member level, with a separate published-agent bypass setting."
    },
    {
      "id": "dust:dust:spaces",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/spaces-management",
      "title": "Spaces management",
      "locator": "Open/restricted spaces; limits; visibility",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Spaces control knowledge and agent access; Business allows five and Enterprise 100 spaces."
    },
    {
      "id": "dust:dust:credits",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/usage-seats-and-credits/credits",
      "title": "Credits",
      "locator": "Token/action credits; checkpoints",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Consumption adds token and tool credits; a 600-AWU checkpoint can pause user-started root tasks, with exceptions."
    },
    {
      "id": "dust:dust:credit-management",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/usage-seats-and-credits/credit-management",
      "title": "Credit management",
      "locator": "Personal caps; group budgets; programmatic use",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Credit sources and block behavior vary by plan; beta Enterprise Pooled group budgets exclude programmatic consumption."
    },
    {
      "id": "open-webui:open-webui:knowledge",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/workspace/knowledge/",
      "title": "Knowledge bases and document chat",
      "locator": "Retrieval modes; Sharing; Syncing; Export; API",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Persistent knowledge bases support scoped access, model attachment, incremental directory sync and admin text-file ZIP export."
    },
    {
      "id": "open-webui:open-webui:groups",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/authentication-access/rbac/groups/",
      "title": "Groups",
      "locator": "Additive permissions; Resource Access; Nested Groups",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "User and group grants control resources; permissions accumulate across groups rather than deny access."
    },
    {
      "id": "open-webui:open-webui:privacy",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/security/chat-data-privacy-and-encryption/",
      "title": "Chat data privacy and encryption",
      "locator": "Controls by concern; encryption; operators; model providers",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The deployer controls storage, encryption, logs, backups and provider connections; product admin restrictions do not prevent host-operator access."
    },
    {
      "id": "open-webui:open-webui:r4-filter-implementation",
      "productId": "open-webui",
      "kind": "source-inspected",
      "url": "https://github.com/open-webui/open-webui/blob/33c1978d5bad52a31df75ea55143025dfad18d16/backend/open_webui/utils/filter.py",
      "title": "Open WebUI v0.12.4 filter implementation",
      "locator": "process_filter_function; process_filter_functions; inlet exception propagation",
      "sourceDate": "2026-10-25",
      "retrievedAt": "2026-10-26",
      "finding": "The backend dispatches installed filter handlers with user context and propagates inlet failures. It does not itself provide a configured recurring quota or managed PII policy.",
      "commit": "33c1978d5bad52a31df75ea55143025dfad18d16",
      "path": "backend/open_webui/utils/filter.py"
    },
    {
      "id": "open-webui:open-webui:r4-rate-limit-example",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/extensibility/plugin/functions/filter/",
      "title": "Open WebUI filter functions",
      "locator": "Example: Rate Limiting for All Requests",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "The official optional Python example counts requests per user and raises at its configurable per-minute threshold. This sample uses in-process state and is not an enabled product-wide quota or monetary budget."
    },
    {
      "id": "dust:dust:file-limits",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/getting-started/faq/file-size-limits",
      "title": "File size limits",
      "locator": "Upload caps; audio-only restriction",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The dedicated limits FAQ gives different image, audio and tabular caps than Conversation Files and excludes direct video uploads."
    },
    {
      "id": "dust:dust:computer",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/tools/computer",
      "title": "Computer",
      "locator": "File work; OCR; network control; secrets",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Computer executes code in temporary workspaces, handles Office/PDF files, performs documented OCR and restricts network access by allowlist."
    },
    {
      "id": "dust:dust:drive",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/connections-management/google-drive",
      "title": "Google Drive",
      "locator": "Connection identity; refresh; OCR; spreadsheet limitations",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Drive sync follows a dedicated connection account and selected content; scanned documents need conversation upload for OCR and Excel table queries need conversion to Sheets."
    },
    {
      "id": "dust:dust:search",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/knowledge/search-data-sources",
      "title": "Search data sources",
      "locator": "Document selection; retrieval",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Agents search selected knowledge sources and retrieve relevant document context."
    },
    {
      "id": "open-webui:open-webui:env",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/reference/env-configuration/",
      "title": "Environment variable configuration",
      "locator": "RAG_FILE_MAX_SIZE; RAG_FILE_MAX_COUNT; RAG_ALLOWED_FILE_EXTENSIONS; audio; system prompt",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Administrators configure document limits, accepted extensions, audio engines and instance settings."
    },
    {
      "id": "dust:dust:permissions",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/admin-governance/access-controls-and-permissions",
      "title": "Access Controls and Permissions",
      "locator": "Access policy; connection account; Spaces",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Knowledge access is organized through admin-selected connection content and membership of open/restricted Spaces."
    },
    {
      "id": "dust:dust:microsoft",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/connections-management/microsoft",
      "title": "Microsoft",
      "locator": "Connection account; delegated and service-principal setup; sync",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Microsoft data is scoped to the connecting account and selected SharePoint sources; changes synchronize on a five-minute cycle."
    },
    {
      "id": "dust:dust:confluence",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/connections-management/confluence",
      "title": "Confluence",
      "locator": "Scope; restricted pages; refresh",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Confluence sync covers selected global spaces, excluding private spaces and pages with view restrictions."
    },
    {
      "id": "dust:dust:jira",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/data-sources/custom-connections/beta-import-jira-issues",
      "title": "Beta: Import Jira issues",
      "locator": "Import path",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "A separately documented beta route imports Jira issues as a custom connection."
    },
    {
      "id": "dust:dust:sources",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/getting-started/faq/general-questions/what-data-sources-can-be-connected-to-dust",
      "title": "What data sources can be connected to Dust?",
      "locator": "Named sources",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Official guides identify managed connections and custom API/import routes."
    },
    {
      "id": "dust:dust:tools",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/tools-management/adding-an-mcp-server",
      "title": "Adding an MCP Server",
      "locator": "Remote/custom servers; auth; tool restriction",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Admins add remote MCP servers with OAuth or bearer credentials and can restrict tools to skills."
    },
    {
      "id": "dust:dust:r2-bigquery",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/connections-management/bigquery.md",
      "title": "Dust BigQuery connection",
      "locator": "No content sync; service-account setup, one location and Space table selection",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Dust stores BigQuery metadata and runs table queries through a dedicated service account; dataset content is not synchronized into the index."
    },
    {
      "id": "open-webui:open-webui:onedrive",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/tutorials/integrations/onedrive-sharepoint/",
      "title": "OneDrive and SharePoint",
      "locator": "Work/school app registration; delegated API permissions; admin consent",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Users attach Microsoft files through a delegated file picker; the guide requires tenant app registration and admin consent."
    },
    {
      "id": "open-webui:open-webui:sync",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/ecosystem/knowledge-base-sync/",
      "title": "Knowledge base sync, oikb",
      "locator": "Overview; connectors; scheduling; incremental sync",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The separate official CLI and daemon copies sources into Open WebUI knowledge bases and propagates changes during sync."
    },
    {
      "id": "open-webui:open-webui:mcp",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/extensibility/mcp/",
      "title": "Model Context Protocol",
      "locator": "Streamable HTTP; Why admins only; Authentication modes",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Native remote MCP is administrator-configured Streamable HTTP with shared credentials or user OAuth modes."
    },
    {
      "id": "open-webui:open-webui:sync-connectors-r2",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/ecosystem/knowledge-base-sync/",
      "title": "oikb connector credentials and deployment boundary",
      "locator": "Install; Sources and connectors: SharePoint, Microsoft Teams, Google Drive, Gmail; Access is your access",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The separate official oikb program lists Teams and Gmail with source credentials; it writes into knowledge bases using an Open WebUI user API key."
    },
    {
      "id": "dust:dust:credentials",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/tools-management/personal-vs-shared-credentials",
      "title": "Personal vs Shared Credentials for Tools & MCP Servers",
      "locator": "Shared versus personal authentication",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Tools can use a shared account or each user OAuth identity; even personal auth needs initial admin setup."
    },
    {
      "id": "dust:dust:security",
      "productId": "dust",
      "kind": "vendor-claimed",
      "url": "https://dust.tt/home/security",
      "title": "Dust Security",
      "locator": "Hosting, training, encryption and certification statements",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Dust claims EU/US hosting, AES-256/TLS, no model training, provider zero retention and SOC 2 Type II."
    },
    {
      "id": "dust:dust:deep",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/default-agents/deep-dive-agent",
      "title": "Deep-dive Agent",
      "locator": "Research flow; citations; limitations",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Deep-dive plans, delegates and writes cited reports, using Company Data knowledge and selected tools; Table Query is excluded."
    },
    {
      "id": "dust:dust:memory",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/tools/agent-memory",
      "title": "Agent Memory",
      "locator": "Adding the tool; viewing/deleting; privacy",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Enabled agents retain user-private memory across conversations; users can view and delete it and it persists until deletion."
    },
    {
      "id": "dust:dust:builder",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/create-your-first-agent",
      "title": "Create your first agent",
      "locator": "Instructions; tools; sharing",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Agents combine instructions, models, knowledge and tools with controlled sharing."
    },
    {
      "id": "dust:dust:governance",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/admin-governance/workspace-governance-roles-groups-and-permissions",
      "title": "Workspace Governance: Roles, Groups & Permissions",
      "locator": "Roles; permission matrix; additive access",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Admins delegate manager/group permissions for agents, skills, models, billing and security; grants are additive."
    },
    {
      "id": "open-webui:open-webui:permissions",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/authentication-access/rbac/permissions/",
      "title": "Permissions",
      "locator": "Workspace and feature permission tables",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Feature and resource permissions cover models, knowledge, prompts, tools, search, images, files and memories."
    },
    {
      "id": "open-webui:open-webui:tools",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/extensibility/plugin/tools/",
      "title": "Tools",
      "locator": "Native tools and OpenAPI; Tool call approval",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Tools may run through Python, OpenAPI or MCP, and an optional approval mode stops calls until the user allows or denies them."
    },
    {
      "id": "open-webui:open-webui:approvals-r2",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/extensibility/plugin/tools/",
      "title": "Open WebUI experimental tool permissions",
      "locator": "Tool Approval: ENABLE_TOOL_PERMISSIONS, Full access, Ask for approval, Stop, saved/temporary chats and exceptions",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Tool Permissions is experimental and disabled by default; interactive approvals can wait, but automations and channel replies always use full access."
    },
    {
      "id": "dust:dust:web",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/tools/web-search-and-browse",
      "title": "Web Search & Browse",
      "locator": "Search and browsing flow",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The tool runs Google queries and browses results, with agent-level configuration and format options."
    },
    {
      "id": "open-webui:open-webui:web",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/chat-conversations/web-search/",
      "title": "Web search",
      "locator": "Enabling and using web search; providers",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Search uses an administrator-configured provider and can add external sources to a conversation."
    },
    {
      "id": "open-webui:open-webui:agent-search",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/chat-conversations/web-search/agentic-search/",
      "title": "Agentic web search and URL fetching",
      "locator": "Native function calling; search and fetch tools",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Tool-capable models can repeatedly search and fetch pages, with results and citations in the conversation."
    },
    {
      "id": "dust:dust:triggers",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/triggers/index",
      "title": "Triggers",
      "locator": "Schedules and events",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Agents can run automatically from schedule or event triggers."
    },
    {
      "id": "dust:dust:schedules",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/triggers/schedules",
      "title": "Schedules",
      "locator": "Schedule setup",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Agents can run on recurring schedules."
    },
    {
      "id": "dust:dust:webhooks",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/triggers/webhooks/index",
      "title": "Webhooks",
      "locator": "Built-in and custom event sources",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Admins configure webhook sources; members attach filtered triggers to agents, with optional signature verification for custom sources."
    },
    {
      "id": "open-webui:open-webui:automation",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/chat-conversations/chat-features/automations/",
      "title": "Automations",
      "locator": "Schedules; Access Control; Runtime behavior",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Recurring prompts run on the customer server through the normal chat pipeline and remain private to their owner."
    },
    {
      "id": "open-webui:open-webui:r4-event-dispatch",
      "productId": "open-webui",
      "kind": "source-inspected",
      "url": "https://github.com/open-webui/open-webui/blob/33c1978d5bad52a31df75ea55143025dfad18d16/backend/open_webui/events.py",
      "title": "Open WebUI v0.12.4 event dispatch",
      "locator": "build_event; dispatch_event_functions; EventFunctionSink",
      "sourceDate": "2026-10-25",
      "retrievedAt": "2026-10-26",
      "finding": "Configured Event functions receive published system events and can run developer-written handlers. Event payload field sanitization is not a general prompt/file PII detection service.",
      "commit": "33c1978d5bad52a31df75ea55143025dfad18d16",
      "path": "backend/open_webui/events.py"
    },
    {
      "id": "open-webui:open-webui:r4-incoming-channel-webhook",
      "productId": "open-webui",
      "kind": "source-inspected",
      "url": "https://github.com/open-webui/open-webui/blob/33c1978d5bad52a31df75ea55143025dfad18d16/backend/open_webui/routers/channels.py",
      "title": "Open WebUI v0.12.4 channel webhooks",
      "locator": "post_webhook_message, lines 2283-2361",
      "sourceDate": "2026-10-25",
      "retrievedAt": "2026-10-26",
      "finding": "A token-validated incoming webhook creates a channel message and publishes MESSAGE_CREATED with source channel_webhook. A configured Event handler can respond to this external input; no no-code workflow engine is implied.",
      "commit": "33c1978d5bad52a31df75ea55143025dfad18d16",
      "path": "backend/open_webui/routers/channels.py"
    },
    {
      "id": "dust:dust:pods",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/pods/overview",
      "title": "Pods overview",
      "locator": "Shared workspace and visibility",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Pods combine shared conversations, tasks and files; open Pods are workspace-browsable and restricted Pods require invitation."
    },
    {
      "id": "open-webui:open-webui:terminal",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/open-terminal/",
      "title": "Open Terminal",
      "locator": "Agent loop; Data analysis; Document processing",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The separately deployed Open Terminal gives agents file, shell and code tools, including analysis and chart creation."
    },
    {
      "id": "dust:dust:api-keys",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/api-keys",
      "title": "API keys",
      "locator": "Scopes; Space access; caps",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Dust API keys have read/admin scopes, data access and enforceable per-key monthly caps."
    },
    {
      "id": "dust:dust:mcp-server",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/integrations/dust-mcp-server",
      "title": "Dust MCP Server",
      "locator": "Region URLs; OAuth; user permissions",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Dust exposes workspace knowledge, agents, conversations, files and Pods to OAuth MCP clients under the authenticated user permissions."
    },
    {
      "id": "dust:dust:upsert",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/api-reference/datasources/upsert-a-document-in-a-data-source",
      "title": "Upsert a document in a data source",
      "locator": "Endpoint and authentication",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The API loads or updates documents in a scoped data source."
    },
    {
      "id": "dust:dust:get-conversation",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/api-reference/conversations/get-a-conversation",
      "title": "Get a conversation",
      "locator": "Response schema",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The API retrieves accessible conversation messages with pagination."
    },
    {
      "id": "open-webui:open-webui:api",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/reference/api-endpoints/",
      "title": "API endpoints",
      "locator": "Authentication; chat completions; tools; files; models export",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Authenticated APIs expose chat, tool use, file ingestion, knowledge attachment and model configuration export."
    },
    {
      "id": "open-webui:open-webui:hardening",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/getting-started/advanced-topics/hardening/",
      "title": "Hardening Open WebUI",
      "locator": "Audit logging; output; path filtering; reverse proxy",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Optional request logging has configurable bodies, path exclusions, file rotation and stdout output; deployment operators own log handling."
    },
    {
      "id": "dust:dust:browser",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/integrations/browser-extension",
      "title": "Browser Extension",
      "locator": "Browsers and capabilities",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "An official extension supports Chrome, Firefox and Chromium-based browsers."
    },
    {
      "id": "open-webui:open-webui:desktop-quickstart-r2",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/getting-started/quick-start/",
      "title": "Open WebUI Desktop installation route",
      "locator": "Desktop App section and production-install note",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Quick Start links the native desktop distribution as a route without Docker/manual setup and recommends Docker or Python for production."
    },
    {
      "id": "open-webui:open-webui:desktop-readme-r2",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://raw.githubusercontent.com/open-webui/desktop/601137c5dec2967cfe173a6bf071fbbb460852be/README.md",
      "title": "Open WebUI Desktop v0.0.20 documentation",
      "locator": "Early Alpha; Download table; How It Works; System Requirements",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The pinned Desktop README labels the app Early Alpha, lists macOS/Windows/Linux installers and describes local execution or a connection to an existing server."
    },
    {
      "id": "open-webui:open-webui:desktop-release-r2",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://api.github.com/repos/open-webui/desktop/releases/tags/v0.0.20",
      "title": "Open WebUI Desktop v0.0.20 release assets",
      "locator": "published_at; assets[].name; release body",
      "sourceDate": "2026-05-06",
      "retrievedAt": "2026-10-21",
      "finding": "The 2026-05-06 release includes macOS and Windows x64/ARM64 installers plus Linux packages; its notes describe a Linux blank-webview fix."
    },
    {
      "id": "open-webui:open-webui:pwa-r2",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/getting-started/open-webui-as-app/",
      "title": "Open WebUI browser PWA installation",
      "locator": "Desktop browser installation; Android; iOS; notification limitation",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The web interface can also be installed as a desktop/mobile browser PWA; PWA notifications require it to stay open."
    },
    {
      "id": "dust:dust:teams",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/integrations/dust-in-teams",
      "title": "Dust in Teams",
      "locator": "Setup and usage",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "An official Teams integration runs Dust agents within Microsoft Teams after admin setup."
    },
    {
      "id": "open-webui:open-webui:notes",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/notes/",
      "title": "Notes",
      "locator": "Rich editor; AI editing",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Notes provide rich text and Markdown editing with AI rewrites and full-content attachment to chats."
    },
    {
      "id": "dust:dust:images",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/tools/image-generation",
      "title": "Image Generation",
      "locator": "Reference images; parallel generation; safety",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Agents generate images from text or references, up to 14 reference images, with SynthID and content restrictions."
    },
    {
      "id": "open-webui:open-webui:images",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/chat-conversations/image-generation-and-editing/",
      "title": "Image generation",
      "locator": "Provider list",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Image providers include OpenAI, Gemini, ComfyUI and AUTOMATIC1111."
    },
    {
      "id": "open-webui:open-webui:image-usage",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/chat-conversations/image-generation-and-editing/usage/",
      "title": "Generate and edit images in chat",
      "locator": "Availability conditions; Editing; Compositing",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Image generation and editing require configured providers, feature permissions and model capability toggles."
    },
    {
      "id": "dust:dust:speech",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/tools/voice-and-sound-generation",
      "title": "Voice and sound generation",
      "locator": "Speech Generator",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The speech tool generates MP3 narration or multi-speaker dialogue with selectable languages and styles."
    },
    {
      "id": "dust:dust:meetings",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/integrations/meeting-transcripts",
      "title": "Meeting transcripts",
      "locator": "Providers and scope",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Dust consumes transcripts from connected notetaker and sales tools; Gong private transcripts are excluded."
    },
    {
      "id": "open-webui:open-webui:voice",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/chat-conversations/chat-features/voice-mode/",
      "title": "Voice mode",
      "locator": "Standard mode; Realtime calls; Audio settings",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Voice mode combines configured STT and TTS or a separately configured OpenAI-compatible realtime service."
    },
    {
      "id": "dust:dust:frames",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/agents/frames/overview",
      "title": "Frames overview",
      "locator": "Creating and editing interactive content",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Frames provide persistent interactive agent output that can be refined and shared."
    },
    {
      "id": "dust:dust:pod-chats",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/pods/conversations",
      "title": "Pod conversations",
      "locator": "Visibility; indexing; participation",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "All Pod members can read and contribute to Pod conversations, which are automatically indexed."
    },
    {
      "id": "open-webui:open-webui:channels",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/channels/",
      "title": "Channels",
      "locator": "Shared channels and direct messages",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Channels support multi-person collaboration and AI participation, with channel access controls."
    },
    {
      "id": "open-webui:open-webui:export",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/chat-conversations/data-controls/import-export/",
      "title": "Import and export",
      "locator": "Exporting all chats; JSON schema",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Users export their conversation history in documented JSON and can import compatible records."
    },
    {
      "id": "open-webui:open-webui:i18n-pin",
      "productId": "open-webui",
      "kind": "source-inspected",
      "url": "https://raw.githubusercontent.com/open-webui/open-webui/91ea4e3421d1d8069f13d4a463fcb5986d94ea60/src/lib/i18n/locales/languages.json",
      "title": "Open WebUI locale registration",
      "locator": "src/lib/i18n/locales/languages.json, en-US, de-DE, fr-FR, it-IT entries",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The pinned client registers English, German, French and Italian interface locales; this does not establish translation quality.",
      "commit": "91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
      "path": "src/lib/i18n/locales/languages.json"
    },
    {
      "id": "open-webui:open-webui:r4-german-admin-translations",
      "productId": "open-webui",
      "kind": "source-inspected",
      "url": "https://github.com/open-webui/open-webui/blob/33c1978d5bad52a31df75ea55143025dfad18d16/src/lib/i18n/locales/de-DE/translation.json",
      "title": "Open WebUI v0.12.4 German translations",
      "locator": "Admin Panel, Admin, Add User, Change User Role and settings entries",
      "sourceDate": "2026-10-25",
      "retrievedAt": "2026-10-26",
      "finding": "The distributed German translation file includes administrator and user-management labels. This establishes partial German admin localization, not completeness, naturalness or accessibility conformance.",
      "commit": "33c1978d5bad52a31df75ea55143025dfad18d16",
      "path": "src/lib/i18n/locales/de-DE/translation.json"
    },
    {
      "id": "dust:dust:sso",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/admin-governance/single-sign-on-sso/single-sign-on-sso",
      "title": "Single Sign-On",
      "locator": "Setup; enforcement",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Admins configure and enforce SAML SSO, which disables other social sign-in paths for the workspace."
    },
    {
      "id": "dust:dust:enterprise",
      "productId": "dust",
      "kind": "vendor-claimed",
      "url": "https://dust.tt/home/enterprise",
      "title": "Dust for Enterprise",
      "locator": "Security and scale",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The Enterprise marketing page claims 365-day audit retention, 99.9% uptime and support for 10,000+ users."
    },
    {
      "id": "open-webui:open-webui:roles",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/authentication-access/rbac/roles/",
      "title": "Roles",
      "locator": "Admin; User; Pending; privacy controls",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Admins can manage the system and normally bypass resource grants; environment controls can restrict product-level chat access."
    },
    {
      "id": "open-webui:open-webui:sso",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/authentication-access/auth/sso/",
      "title": "SSO, OAuth, OIDC and trusted header",
      "locator": "Provider setup; OAuth group management; account creation",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "OAuth/OIDC providers and trusted authentication proxies support account creation and login-time group synchronization."
    },
    {
      "id": "open-webui:open-webui:mfa",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/authentication-access/mfa/",
      "title": "Two-factor sign-in",
      "locator": "Administrative configuration; OAuth bypass",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Built-in authenticator-based sign-in can be required, with explicit configuration for OAuth bypass."
    },
    {
      "id": "dust:dust:provision",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/admin-governance/users-and-groups-provisioning",
      "title": "Users and groups provisioning",
      "locator": "SCIM 2.0; group role mapping",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Enterprise SCIM creates, updates and deactivates users and syncs groups; groups can grant Admin/Manager roles."
    },
    {
      "id": "dust:dust:seats",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/usage-seats-and-credits/seat-management",
      "title": "Seat management",
      "locator": "Seat assignments; billing cycles; leaving",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Admins assign independent roles and Free/Pro/Max seats; annual stock and already-allocated credits have specific reclaim rules."
    },
    {
      "id": "open-webui:open-webui:scim",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/authentication-access/auth/scim/",
      "title": "SCIM 2.0 support",
      "locator": "Overview; User Operations; Deprovisioning; Group Operations",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "SCIM provisions users and groups; deactivation maps ordinary accounts to pending and ends live connections."
    },
    {
      "id": "open-webui:open-webui:r7-scim-bearer-doc",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/authentication-access/auth/scim/",
      "title": "Open WebUI SCIM bearer authentication recheck",
      "locator": "Configuration; Environment Variables; SCIM API Configuration; Security Considerations",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "The guide configures SCIM through environment variables, including SCIM_ENABLED and SCIM_TOKEN bearer authentication. It documents no user-selectable token-scope control; account visibility rules are distinct from token scopes."
    },
    {
      "id": "open-webui:open-webui:r7-scim-bearer-code",
      "productId": "open-webui",
      "kind": "source-inspected",
      "url": "https://github.com/open-webui/open-webui/blob/33c1978d5bad52a31df75ea55143025dfad18d16/backend/open_webui/routers/scim.py",
      "title": "Open WebUI v0.12.4 SCIM authentication",
      "locator": "get_scim_auth, lines 251-297",
      "sourceDate": "2026-10-25",
      "retrievedAt": "2026-10-26",
      "finding": "The pinned authentication function checks Bearer header format, whether SCIM is enabled, and a constant-time comparison with the configured SCIM_TOKEN. The inspected authentication path exposes no per-token selectable scopes.",
      "commit": "33c1978d5bad52a31df75ea55143025dfad18d16",
      "path": "backend/open_webui/routers/scim.py"
    },
    {
      "id": "dust:dust:analytics",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/analytics",
      "title": "Analytics",
      "locator": "Attribution; CSV; content exclusion",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Consumption reports break down users, groups, models, tools, agents and Pods; exports omit message content and can double-attribute group usage."
    },
    {
      "id": "open-webui:open-webui:analytics",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/administration/analytics/",
      "title": "Analytics",
      "locator": "User and model tables; Group filters; Export; Privacy",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Admin analytics reports messages and provider-reported tokens by users, models and groups and exposes an export API."
    },
    {
      "id": "dust:dust:audit",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/admins/audit-logs/audit-logs",
      "title": "Audit Logs",
      "locator": "Enterprise scope; actor types; SIEM",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Enterprise logs distinguish users, API keys and system actors with CSV and continuous SIEM delivery."
    },
    {
      "id": "open-webui:open-webui:security",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/enterprise/security/",
      "title": "Enterprise security",
      "locator": "Regulatory frameworks; data governance",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The page describes deployment controls and states that compliance responsibility remains with the deploying organization."
    },
    {
      "id": "open-webui:open-webui:filter",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/extensibility/plugin/functions/filter/",
      "title": "Filter functions",
      "locator": "Filter lifecycle and extension examples",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Administrators can install custom Python filters in the model request path; behavior depends on the installed filter."
    },
    {
      "id": "open-webui:open-webui:banners",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/administration/banners/",
      "title": "Customizable banners",
      "locator": "Configuration and dismissible banners",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Admins can display instance banners; a banner is not evidence of a mandatory recorded policy acknowledgement."
    },
    {
      "id": "dust:dust:privacy",
      "productId": "dust",
      "kind": "documented",
      "url": "https://dust.tt/home/platform-privacy",
      "title": "Dust Platform Privacy Policy",
      "locator": "About Us; sections 2, 6 and 7",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The policy identifies Permutation Labs in Paris and distinguishes its controller processing from customer processor processing, with non-EEA transfer safeguards."
    },
    {
      "id": "open-webui:open-webui:quickstart",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/getting-started/quick-start/",
      "title": "Quick start",
      "locator": "Docker; pip; data volume",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The software is self-installable with Docker or Python and keeps state in customer-controlled storage."
    },
    {
      "id": "dust:dust:training-policy",
      "productId": "dust",
      "kind": "vendor-claimed",
      "url": "https://dust.tt/home/platform-privacy",
      "title": "Dust Platform Privacy Policy",
      "locator": "Section 6, Foundational Model Providers",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The policy asserts listed providers do not train, retain or log Customer Content for human review; this source pass did not retrieve the customer DPA."
    },
    {
      "id": "dust:dust:delete-chat",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/getting-started/faq/managing-agents/can-i-delete-or-rename-a-conversation",
      "title": "Can I delete or rename a conversation?",
      "locator": "Conversation actions",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Users can delete or rename their conversations."
    },
    {
      "id": "open-webui:open-webui:secrecy-access",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/security/chat-data-privacy-and-encryption/",
      "title": "Open WebUI chat data access boundary",
      "locator": "Who Can Read Chat Data?; What Encryption Protects; informational-content disclaimer",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The privacy guide identifies application, infrastructure operators and configured model providers as content-access trust boundaries; admin UI controls do not remove infrastructure access."
    },
    {
      "id": "open-webui:open-webui:secrecy-legal",
      "productId": "open-webui",
      "kind": "vendor-claimed",
      "url": "https://www.openwebui.com/legal",
      "title": "Open WebUI for law firms",
      "locator": "Materials for risk, KM, security, and legal ops review; FAQ: confidential matter information and uploaded files",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The law-firm page describes customer-operated storage/routing and links technical guidance and US ABA materials; it is general product guidance."
    },
    {
      "id": "open-webui:open-webui:secrecy-support",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/enterprise/support/",
      "title": "Open WebUI enterprise support",
      "locator": "Support Capabilities; Consulting Topics; For Procurement & Legal; informational-content disclaimer",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Enterprise support describes advisory engineering access, dedicated channels and SLAs, with contractual commitments dependent on applicable terms."
    },
    {
      "id": "open-webui:open-webui:terms",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/features/open-terminal/terminals/",
      "title": "Terminals orchestrator",
      "locator": "Prerequisites; Licensing",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The separate per-user terminal orchestration layer requires an Open WebUI Enterprise licence for production."
    },
    {
      "id": "dust:dust:fx-ecb",
      "productId": "dust",
      "kind": "documented",
      "url": "https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.xml",
      "title": "ECB historical euro reference rates",
      "locator": "Cube time=2026-10-20, USD and CHF",
      "sourceDate": "2026-10-20",
      "retrievedAt": "2026-10-21",
      "finding": "EUR 1 = USD 1.1215 = CHF 0.9237 on October 20, 2026."
    },
    {
      "id": "open-webui:open-webui:cost-vm",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://prices.azure.com/api/retail/prices?currencyCode=EUR&%24filter=armRegionName+eq+%27switzerlandnorth%27+and+serviceName+eq+%27Virtual+Machines%27+and+%28armSkuName+eq+%27Standard_D4s_v5%27+or+armSkuName+eq+%27Standard_D8s_v5%27+or+armSkuName+eq+%27Standard_D16s_v5%27%29+and+priceType+eq+%27Consumption%27",
      "title": "Azure Retail Prices, Switzerland North Linux VMs",
      "locator": "Consumption; Virtual Machines Dsv5 Series; Standard_D4s_v5/D8s_v5/D16s_v5",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "EUR hourly PAYG rates retrieved 2026-10-21 are 0.2226, 0.4453 and 0.8905 for D4s, D8s and D16s v5 respectively."
    },
    {
      "id": "open-webui:open-webui:cost-pg",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://prices.azure.com/api/retail/prices?currencyCode=EUR&%24filter=armRegionName+eq+%27switzerlandnorth%27+and+serviceName+eq+%27Azure+Database+for+PostgreSQL%27+and+priceType+eq+%27Consumption%27",
      "title": "Azure Retail Prices, PostgreSQL Flexible Server",
      "locator": "General Purpose Ddsv5 Series Compute, 2/4/8 vCore; Flex Server Storage",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "EUR hourly PAYG GP compute is 0.2288, 0.4576 and 0.9152 for 2/4/8 vCore; storage is EUR 0.1325 per GB-month."
    },
    {
      "id": "open-webui:open-webui:cost-fx",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.xml",
      "title": "ECB euro reference rate history",
      "locator": "Cube time=2026-10-20; USD and CHF",
      "sourceDate": "2026-10-20",
      "retrievedAt": "2026-10-21",
      "finding": "The 2026-10-20 reference rates are EUR 1 = USD 1.1215 and CHF 0.9237."
    },
    {
      "id": "open-webui:open-webui:cost-model",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://developers.openai.com/api/docs/pricing",
      "title": "OpenAI API pricing",
      "locator": "Standard, short-context gpt-6-luna row",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Standard gpt-6-luna API price is USD 0.10 per million input tokens and USD 0.50 per million output tokens; caching, batch and regional premiums are separate."
    },
    {
      "id": "open-webui:open-webui:cost-effort",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://developers.openai.com/api/docs/models/gpt-6-luna",
      "title": "GPT-6 Luna model documentation",
      "locator": "Reasoning effort and text-token pricing",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The model accepts reasoning effort none, the lowest documented effort, and lists the same standard text-token rates."
    },
    {
      "id": "open-webui:open-webui:license-pin",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://raw.githubusercontent.com/open-webui/open-webui/91ea4e3421d1d8069f13d4a463fcb5986d94ea60/LICENSE",
      "title": "Open WebUI v0.12.3 licence",
      "locator": "LICENSE, clauses 1-4; prior-licence reservation",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The pinned licence preserves notices and restricts branding changes, with exceptions for up to 50 rolling-30-day users, prior written permission or enterprise permission."
    },
    {
      "id": "dust:dust:licence",
      "productId": "dust",
      "kind": "documented",
      "url": "https://github.com/dust-tt/dust/blob/2b1a4973af824f8ff970d585c5eb1f40ae76186c/LICENSE",
      "title": "Dust repository LICENSE at pinned commit",
      "locator": "Root LICENSE, MIT permission grant",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The pinned public repository root licence is MIT; hosted service terms and third-party components are separate."
    },
    {
      "id": "open-webui:open-webui:desktop-license-r2",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://raw.githubusercontent.com/open-webui/desktop/601137c5dec2967cfe173a6bf071fbbb460852be/LICENSE",
      "title": "Open WebUI Desktop v0.0.20 licence",
      "locator": "LICENSE heading and GNU Affero General Public License version 3 text",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The separately packaged Desktop repository distributes GNU AGPL version 3 licence text at its v0.0.20 revision."
    },
    {
      "id": "dust:dust:get-document",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/api-reference/datasources/retrieve-a-document-from-a-data-source",
      "title": "Retrieve a document from a data source",
      "locator": "Endpoint and response",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The API retrieves a source document; this does not establish a complete one-click tenant export."
    },
    {
      "id": "open-webui:open-webui:chats-pin",
      "productId": "open-webui",
      "kind": "source-inspected",
      "url": "https://raw.githubusercontent.com/open-webui/open-webui/91ea4e3421d1d8069f13d4a463fcb5986d94ea60/backend/open_webui/routers/chats.py",
      "title": "Open WebUI admin chat export implementation",
      "locator": "backend/open_webui/routers/chats.py, get_all_user_chats_in_db, lines 1113-1117",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The admin-only all/db route returns chat records when ENABLE_ADMIN_EXPORT is enabled.",
      "commit": "91ea4e3421d1d8069f13d4a463fcb5986d94ea60",
      "path": "backend/open_webui/routers/chats.py"
    },
    {
      "id": "dust:dust:support",
      "productId": "dust",
      "kind": "documented",
      "url": "https://dust.tt/home/support",
      "title": "Dust Support",
      "locator": "Support channels",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The vendor provides public support entry points and community/documentation resources."
    },
    {
      "id": "open-webui:open-webui:support",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/enterprise/support/",
      "title": "Support and SLAs",
      "locator": "Account manager; Office hours; Consulting; guidance scope",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Enterprise support advertises account management and engineering guidance, while hands-on implementation remains with the customer or integrator."
    },
    {
      "id": "open-webui:open-webui:roadmap",
      "productId": "open-webui",
      "kind": "documented",
      "url": "https://docs.openwebui.com/roadmap/",
      "title": "Open WebUI roadmap",
      "locator": "In progress; Planned",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Budget controls, broader localization and accessibility appear on an undated roadmap and are not treated as shipped guarantees."
    },
    {
      "id": "dust:dust:rollout",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/getting-started/dust-rollout-guide/index",
      "title": "Dust Rollout Guide",
      "locator": "Rollout phases",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Public rollout guidance covers setup, launch, team education and measurement."
    },
    {
      "id": "dust:dust:training",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/getting-started/dust-rollout-guide/team-onboarding-material",
      "title": "Team onboarding material",
      "locator": "Training resources",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Dust provides reusable team-onboarding material."
    },
    {
      "id": "dust:dust:r2-department-guides",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/getting-started/use-cases-and-guides/index.md",
      "title": "Dust Use Cases and Guides",
      "locator": "Use Cases by Department",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Public guides are organized by Sales, Support, Marketing, Engineering, Data, Knowledge, People, Product and Collaboration."
    },
    {
      "id": "dust:dust:r2-sales-guide",
      "productId": "dust",
      "kind": "documented",
      "url": "https://docs.dust.tt/docs/user-documentation/getting-started/use-cases-and-guides/sales.md",
      "title": "Dust Sales use-case guide",
      "locator": "Sales agent examples and build links",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The Sales guide provides concrete role-based agent examples; this is public learning material, not a contracted training entitlement."
    }
  ]
}
