{
  "schemaVersion": 1,
  "rubricVersion": "1.1",
  "kind": "pair",
  "slug": "langdock-vs-librechat",
  "canonicalUrl": "https://onaihq.com/compare/agents/langdock-vs-librechat/",
  "markdownUrl": "https://onaihq.com/compare/agents/langdock-vs-librechat/index.md",
  "dataUrl": "https://onaihq.com/compare/agents/langdock-vs-librechat/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": "langdock",
      "name": "Langdock",
      "website": "https://langdock.com",
      "repository": null,
      "pageUrl": "https://onaihq.com/compare/agents/products/langdock/",
      "lifecycle": {
        "status": "unknown",
        "note": null
      },
      "surfaces": [
        {
          "id": "web",
          "name": "Langdock hosted workspace",
          "type": "web-app"
        },
        {
          "id": "api",
          "name": "Langdock public APIs and agent MCP server",
          "type": "api"
        },
        {
          "id": "desktop",
          "name": "Langdock Windows/macOS desktop",
          "type": "desktop-app"
        },
        {
          "id": "mobile",
          "name": "Langdock iOS/Android",
          "type": "mobile-app"
        },
        {
          "id": "office",
          "name": "Langdock Excel and Outlook add-ins",
          "type": "office-add-in"
        },
        {
          "id": "teams",
          "name": "Langdock Teams bot",
          "type": "teams-app"
        }
      ],
      "sourcedClaimCount": 50,
      "statedByVendorCount": 0,
      "crossCheckedClaimCount": 50,
      "sourcedOnlyClaimCount": 0,
      "oldestCheckedAt": "2026-10-21",
      "lastCheckedAt": "2026-10-26"
    },
    {
      "id": "librechat",
      "name": "LibreChat",
      "website": "https://www.librechat.ai",
      "repository": "https://github.com/LibreChat-AI/LibreChat",
      "pageUrl": "https://onaihq.com/compare/agents/products/librechat/",
      "lifecycle": {
        "status": "unknown",
        "note": null
      },
      "surfaces": [
        {
          "id": "self-hosted-web",
          "name": "Customer-operated web application and server",
          "type": "self-hosted-server"
        },
        {
          "id": "public-demo",
          "name": "LibreChat public evaluation demo",
          "type": "hosted-demo"
        },
        {
          "id": "admin-panel-preview",
          "name": "Separately deployed LibreChat Admin Panel preview",
          "type": "administration"
        }
      ],
      "sourcedClaimCount": 47,
      "statedByVendorCount": 0,
      "crossCheckedClaimCount": 47,
      "sourcedOnlyClaimCount": 0,
      "oldestCheckedAt": "2026-10-21",
      "lastCheckedAt": "2026-10-26"
    }
  ],
  "coverage": {
    "totalCriteria": 51,
    "sharedCrossCheckedCriteria": 46,
    "sharedSourcedCriteria": 46,
    "crossCheckedCriteriaByProduct": {
      "langdock": 50,
      "librechat": 47
    },
    "sourcedOnlyCriteriaByProduct": {
      "langdock": 0,
      "librechat": 0
    },
    "sourcedCriteriaByProduct": {
      "langdock": 50,
      "librechat": 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": "langdock",
          "claimId": "langdock:MOD-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Curated multi-provider models and a task-complexity Auto mode are documented; catalogue publication is not a tested picker.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "providers",
              "question": "Which model providers are available?",
              "support": "supported",
              "answer": "OpenAI, Anthropic, Google, Meta, Mistral and DeepSeek have named current catalogue entries.",
              "evidenceIds": [
                "langdock:langdock:models"
              ]
            },
            {
              "id": "current_models",
              "question": "Which current models are selectable on this plan?",
              "support": "partial",
              "answer": "Published text catalogue: Gemini 3.1 Pro Preview, 3 Flash Preview, 3.5/3.6/3.7/3.8 Flash, 4 Argon; GPT-5/5.1/5.1 Thinking Fast/5.2/5.2 Pro/5.4/5.4 Mini/5.5/5.6 Luna/Sol/Terra/5 Mini/5 Pro, GPT-6 Luna/Sol/Astra, GPT-6.1 Sol, GPT oss 120b; Fable 5/5.1, Haiku 4.5/5.5, Opus 4.5/4.6/4.7/4.8/5/5.5, Sonnet 4.5/4.6/5/5.5; Llama 3.3 70B/4 Maverick; Mistral Large 3/4; DeepSeek v3.1. Plan/admin/region settings can narrow this list; API availability is listed alongside chat, not independently observed.",
              "evidenceIds": [
                "langdock:langdock:models"
              ]
            },
            {
              "id": "user_choice",
              "question": "Can users pick the model per chat?",
              "support": "supported",
              "answer": "Per-chat selection and mid-chat switching are documented.",
              "evidenceIds": [
                "langdock:langdock:model-guide"
              ]
            },
            {
              "id": "auto_routing",
              "question": "Does the product route between models automatically, and is the chosen model shown?",
              "support": "partial",
              "answer": "Auto analyzes the first message and estimates complexity to select a conversation model; exact final model disclosure was not verified.",
              "evidenceIds": [
                "langdock:langdock:model-guide"
              ]
            },
            {
              "id": "multimodal_input",
              "question": "Which models accept images, audio or files?",
              "support": "unknown",
              "answer": "Which models accept images, audio or files? Unknown. A model-by-model image/audio input matrix and authenticated model picker were not inspected.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "current_models: Published text catalogue: Gemini 3.1 Pro Preview, 3 Flash Preview, 3.5/3.6/3.7/3.8 Flash, 4 Argon; GPT-5/5.1/5.1 Thinking Fast/5.2/5.2 Pro/5.4/5.4 Mini/5.5/5.6 Luna/Sol/Terra/5 Mini/5 Pro, GPT-6 Luna/Sol/Astra, GPT-6.1 Sol, GPT oss 120b; Fable 5/5.1, Haiku 4.5/5.5, Opus 4.5/4.6/4.7/4.8/5/5.5, Sonnet 4.5/4.6/5/5.5; Llama 3.3 70B/4 Maverick; Mistral Large 3/4; DeepSeek v3.1. Plan/admin/region settings can narrow this list; API availability is listed alongside chat, not independently observed.",
            "auto_routing: Auto analyzes the first message and estimates complexity to select a conversation model; exact final model disclosure was not verified.",
            "Unverified multimodal_input: A model-by-model image/audio input matrix and authenticated model picker were not inspected."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:models",
            "langdock:langdock:model-guide"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:MOD-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "The model catalog is configured by the customer across first-party provider integrations and custom endpoints.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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, Google, Azure OpenAI, AWS Bedrock and custom compatible services; selection requires enabled credentials and model access.",
              "evidenceIds": [
                "librechat:librechat:custom",
                "librechat:librechat:azure",
                "librechat:librechat:bedrock",
                "librechat:librechat:vertex"
              ]
            },
            {
              "id": "current_models",
              "question": "Which current models are selectable on this plan?",
              "support": "partial",
              "answer": "v0.8.8 release notes mention GPT-6/GPT-6.1 Sol, Claude Opus/Sonnet 5.5 and Gemini 3.8 Flash support. Actual selectable IDs still depend on the installed configuration and provider account.",
              "evidenceIds": [
                "librechat:librechat:releases"
              ]
            },
            {
              "id": "user_choice",
              "question": "Can users pick the model per chat?",
              "support": "supported",
              "answer": "Users choose an endpoint/model unless admins enforce model specs or a fixed Agent.",
              "evidenceIds": [
                "librechat:librechat:modelspec",
                "librechat:librechat:agents"
              ]
            },
            {
              "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? No automatic routing policy showing a chosen model was established, and no configured endpoint was exercised.",
              "evidenceIds": []
            },
            {
              "id": "multimodal_input",
              "question": "Which models accept images, audio or files?",
              "support": "partial",
              "answer": "Provider-native files support images/PDFs and some providers accept additional Office/audio/video types. Exact acceptance depends on the selected model and transport; no matrix was tested.",
              "evidenceIds": [
                "librechat:librechat:ocr"
              ]
            }
          ],
          "limitations": [
            "providers: Documented routes include OpenAI, Anthropic, Google, Azure OpenAI, AWS Bedrock and custom compatible services; selection requires enabled credentials and model access.",
            "current_models: v0.8.8 release notes mention GPT-6/GPT-6.1 Sol, Claude Opus/Sonnet 5.5 and Gemini 3.8 Flash support. Actual selectable IDs still depend on the installed configuration and provider account.",
            "auto_routing: Does the product route between models automatically, and is the chosen model shown? No automatic routing policy showing a chosen model was established, and no configured endpoint was exercised.",
            "multimodal_input: Provider-native files support images/PDFs and some providers accept additional Office/audio/video types. Exact acceptance depends on the selected model and transport; no matrix was tested."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:custom",
            "librechat:librechat:azure",
            "librechat:librechat:bedrock",
            "librechat:librechat:vertex",
            "librechat:librechat:releases",
            "librechat:librechat:modelspec",
            "librechat:librechat:agents",
            "librechat:librechat:ocr"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:MOD-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Public dated model additions exist, but release-lag medians and guaranteed retirement notice remain unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted 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? Unknown. No complete last-three-major-release reconciliation against provider GA dates, contractual model retirement notice, or stable version-pinning promise was established.",
              "evidenceIds": []
            },
            {
              "id": "changelog",
              "question": "Is there a dated public model changelog?",
              "support": "supported",
              "answer": "Changelog includes Gemini 4 Argon on 13 October, Haiku 5.5 on 8 October and GPT-6.1 Sol on 30 September 2026.",
              "evidenceIds": [
                "langdock:langdock:changes"
              ]
            },
            {
              "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? Unknown. No complete last-three-major-release reconciliation against provider GA dates, contractual model retirement notice, or stable version-pinning promise was established.",
              "evidenceIds": []
            },
            {
              "id": "version_pinning",
              "question": "Can an admin keep an older model version?",
              "support": "unknown",
              "answer": "Can an admin keep an older model version? Unknown. No complete last-three-major-release reconciliation against provider GA dates, contractual model retirement notice, or stable version-pinning promise was established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Unverified release_lag_days, deprecation_notice, version_pinning: No complete last-three-major-release reconciliation against provider GA dates, contractual model retirement notice, or stable version-pinning promise was established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:changes"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:MOD-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Dated releases document model updates, but measured availability lags and retirement notice periods remain unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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 paired general-release/LibreChat-availability dates for the last three major releases per provider, or binding retirement-notice period, were established.",
              "evidenceIds": []
            },
            {
              "id": "changelog",
              "question": "Is there a dated public model changelog?",
              "support": "supported",
              "answer": "Public releases and the LibreChat changelog date model updates; v0.8.8 was published 2026-10-01.",
              "evidenceIds": [
                "librechat:librechat: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 paired general-release/LibreChat-availability dates for the last three major releases per provider, or binding retirement-notice period, were established.",
              "evidenceIds": []
            },
            {
              "id": "version_pinning",
              "question": "Can an admin keep an older model version?",
              "support": "partial",
              "answer": "Admins can name explicit model IDs in endpoints/model specs; continuing remote availability remains under provider control.",
              "evidenceIds": [
                "librechat:librechat:modelspec",
                "librechat:librechat:custom"
              ]
            }
          ],
          "limitations": [
            "release_lag_days: What was the lag for each of the last three major releases, per provider? No paired general-release/LibreChat-availability dates for the last three major releases per provider, or binding retirement-notice period, were established.",
            "deprecation_notice: How much notice is given before a model is removed? No paired general-release/LibreChat-availability dates for the last three major releases per provider, or binding retirement-notice period, were established.",
            "version_pinning: Admins can name explicit model IDs in endpoints/model specs; continuing remote availability remains under provider control."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:releases",
            "librechat:librechat:modelspec",
            "librechat:librechat:custom"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:MOD-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "BYOK supports customer credentials, named cloud providers and custom compatible HTTPS endpoints.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business BYOK and individually contracted Enterprise BYOK; customer provider charges separate",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "own_api_keys",
              "question": "Can the customer use its own provider API keys?",
              "support": "supported",
              "answer": "Customer keys can replace managed completion, embedding and image keys; BYOK can be selected at upgrade or enabled later by support.",
              "evidenceIds": [
                "langdock:langdock:byok"
              ]
            },
            {
              "id": "own_cloud_contract",
              "question": "Can it use its own Azure OpenAI, Bedrock or Vertex deployment?",
              "support": "supported",
              "answer": "Guides cover customer Azure deployment settings, Google cloud and AWS Bedrock, separately from simple direct provider keys.",
              "evidenceIds": [
                "langdock:langdock:byok-routes"
              ]
            },
            {
              "id": "custom_endpoint",
              "question": "Can an admin add any OpenAI-compatible endpoint?",
              "support": "supported",
              "answer": "Manual OpenAI-compatible endpoints include vLLM, LiteLLM, Ollama, TGI and LocalAI. Cloud requires public HTTPS; private/local hostnames are blocked by default.",
              "evidenceIds": [
                "langdock:langdock:byok-routes"
              ]
            },
            {
              "id": "byo_pricing",
              "question": "Does BYO change the licence price?",
              "support": "partial",
              "answer": "Customer model usage is billed by the customer provider under BYOK. The applicable Business/Enterprise BYOK licence rate is unknown: the public Standard headline and calculator do not reconcile, and the prior hashed asset is not a stable tariff source. No BYOK seat-rate arithmetic is retained.",
              "evidenceIds": [
                "langdock:langdock:byok",
                "langdock:langdock:billing"
              ]
            },
            {
              "id": "byo_restrictions",
              "question": "Which features stop working with BYO?",
              "support": "supported",
              "answer": "Completion, embeddings and image models must all be configured. Deep Research needs reasoning/fast-reasoning/backbone routes; absent categories leave features non-functional.",
              "evidenceIds": [
                "langdock:langdock:byok",
                "langdock:langdock:research"
              ]
            }
          ],
          "limitations": [
            "Cloud BYOK requires separately configured completion, embedding and image routes; local/private endpoints are not implied by a cloud key."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:byok",
            "langdock:langdock:byok-routes",
            "langdock:langdock:billing",
            "langdock:langdock:research"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:MOD-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Customer-held provider keys, customer Azure/AWS/Vertex configurations and custom endpoints are documented.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "Provider keys can be operator-supplied or user_provided, with user key controls in Settings.",
              "evidenceIds": [
                "librechat:librechat:firstchat",
                "librechat:librechat:custom"
              ]
            },
            {
              "id": "own_cloud_contract",
              "question": "Can it use its own Azure OpenAI, Bedrock or Vertex deployment?",
              "support": "supported",
              "answer": "Customer Azure OpenAI deployments, AWS Bedrock region/credentials and Anthropic Vertex project/region routes are documented separately.",
              "evidenceIds": [
                "librechat:librechat:azure",
                "librechat:librechat:bedrock",
                "librechat:librechat:vertex"
              ]
            },
            {
              "id": "custom_endpoint",
              "question": "Can an admin add any OpenAI-compatible endpoint?",
              "support": "supported",
              "answer": "Operators can configure a custom compatible API URL and model list.",
              "evidenceIds": [
                "librechat:librechat:custom"
              ]
            },
            {
              "id": "byo_pricing",
              "question": "Does BYO change the licence price?",
              "support": "supported",
              "answer": "MIT repository use has no per-seat licence fee; customers separately procure provider service usage.",
              "evidenceIds": [
                "librechat:librechat:license",
                "librechat:librechat:firstchat"
              ]
            },
            {
              "id": "byo_restrictions",
              "question": "Which features stop working with BYO?",
              "support": "partial",
              "answer": "File modalities, tools and other capabilities depend on provider/model support and optional services. A universal BYO feature-parity guarantee was not established.",
              "evidenceIds": [
                "librechat:librechat:ocr",
                "librechat:librechat:code"
              ]
            }
          ],
          "limitations": [
            "byo_restrictions: File modalities, tools and other capabilities depend on provider/model support and optional services. A universal BYO feature-parity guarantee was not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:firstchat",
            "librechat:librechat:custom",
            "librechat:librechat:azure",
            "librechat:librechat:bedrock",
            "librechat:librechat:vertex",
            "librechat:librechat:license",
            "librechat:librechat:ocr",
            "librechat:librechat:code"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:MOD-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Self-hosted compatible inference is a documented BYOK route with network and capability requirements.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "self_hosted_chat",
              "question": "Can chat use a customer-hosted model?",
              "support": "supported",
              "answer": "vLLM/Ollama/TGI/LocalAI routes work through OpenAI-compatible HTTPS endpoints, not localhost/private addresses on default SaaS.",
              "evidenceIds": [
                "langdock:langdock:byok-routes"
              ]
            },
            {
              "id": "self_hosted_embeddings",
              "question": "Can retrieval use customer-hosted embeddings?",
              "support": "partial",
              "answer": "BYOK requires a configured embedding model for search; custom model setup includes embeddings. A private customer-hosted embedding network path was not independently verified.",
              "evidenceIds": [
                "langdock:langdock:byok",
                "langdock:langdock:byok-models"
              ]
            },
            {
              "id": "feature_parity",
              "question": "Which features fail with self-hosted models?",
              "support": "partial",
              "answer": "Manual setup needs correct image, tool and editor capability flags. Missing embeddings/images or research routes disables their corresponding features; there is no universal parity guarantee.",
              "evidenceIds": [
                "langdock:langdock:byok-models",
                "langdock:langdock:research"
              ]
            },
            {
              "id": "vendor_hosted_open_models",
              "question": "Does the vendor host open-weight models in EU/CH?",
              "support": "partial",
              "answer": "Catalogue includes Llama, GPT oss, Mistral and DeepSeek; terms identify Azure/Mistral EU routes, with global opt-ins separately described.",
              "evidenceIds": [
                "langdock:langdock:models",
                "langdock:langdock:terms"
              ]
            }
          ],
          "limitations": [
            "self_hosted_embeddings: BYOK requires a configured embedding model for search; custom model setup includes embeddings. A private customer-hosted embedding network path was not independently verified.",
            "feature_parity: Manual setup needs correct image, tool and editor capability flags. Missing embeddings/images or research routes disables their corresponding features; there is no universal parity guarantee.",
            "vendor_hosted_open_models: Catalogue includes Llama, GPT oss, Mistral and DeepSeek; terms identify Azure/Mistral EU routes, with global opt-ins separately described."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:byok-routes",
            "langdock:langdock:byok",
            "langdock:langdock:byok-models",
            "langdock:langdock:research",
            "langdock:langdock:models",
            "langdock:langdock:terms"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:MOD-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Local compatible inference and Ollama embeddings are documented; optional services must also be local for a fully private stack.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "Custom endpoints can point at customer-hosted compatible model servers, including Ollama-compatible setups.",
              "evidenceIds": [
                "librechat:librechat:custom"
              ]
            },
            {
              "id": "self_hosted_embeddings",
              "question": "Can retrieval use customer-hosted embeddings?",
              "support": "supported",
              "answer": "The RAG configuration documents Ollama embeddings and local Hugging Face through the appropriate full image.",
              "evidenceIds": [
                "librechat:librechat:ragcfg"
              ]
            },
            {
              "id": "feature_parity",
              "question": "Which features fail with self-hosted models?",
              "support": "partial",
              "answer": "Chat and retrieval can use local endpoints. Tool calling and vision depend on the model; external OCR/search/code services are separate. No complete offline fixture was run.",
              "evidenceIds": [
                "librechat:librechat:ragcfg",
                "librechat:librechat:ocr",
                "librechat:librechat:code"
              ]
            },
            {
              "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? A vendor-hosted EU/Swiss open-weight model service was not established for the MIT self-hosted project.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "feature_parity: Chat and retrieval can use local endpoints. Tool calling and vision depend on the model; external OCR/search/code services are separate. No complete offline fixture was run.",
            "vendor_hosted_open_models: Does the vendor host open-weight models in EU/CH? A vendor-hosted EU/Swiss open-weight model service was not established for the MIT self-hosted project."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:custom",
            "librechat:librechat:ragcfg",
            "librechat:librechat:ocr",
            "librechat:librechat:code"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:MOD-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Workspace model defaults and usage/fallback behavior are documented; per-group model/data boundaries remain unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "model_allowlist_by_group",
              "question": "Can admins limit models per group?",
              "support": "unknown",
              "answer": "Can admins limit models per group? Unknown. Group-specific model allowlists and rules binding connectors/knowledge to certain models were not established in model and role documentation; no two-user test was run.",
              "evidenceIds": []
            },
            {
              "id": "data_bound_models",
              "question": "Can admins restrict which models receive connector or knowledge content?",
              "support": "unknown",
              "answer": "Can admins restrict which models receive connector or knowledge content? Unknown. Group-specific model allowlists and rules binding connectors/knowledge to certain models were not established in model and role documentation; no two-user test was run.",
              "evidenceIds": []
            },
            {
              "id": "default_model",
              "question": "Can admins set the default model?",
              "support": "supported",
              "answer": "Admins set a default across new chats and agents; users can have their own default.",
              "evidenceIds": [
                "langdock:langdock:workspace"
              ]
            },
            {
              "id": "user_limits",
              "question": "What per-user message or token limits apply, and are they published?",
              "support": "partial",
              "answer": "Five-hour session and Monday-reset weekly limits depend on model-priced token consumption; numeric included budget is shown per account, not fully published. Spam protection is 250 messages/3h. Max is five times Standard.",
              "evidenceIds": [
                "langdock:langdock:limits",
                "langdock:langdock:pricing"
              ]
            },
            {
              "id": "limit_behaviour",
              "question": "What happens when a limit is reached?",
              "support": "supported",
              "answer": "With no usable extra usage, Cloud falls back to GPT-6 Luna; BYOK/dedicated use configured fallback. Current responses finish, so spend can slightly overshoot. Personal API calls error rather than fall back.",
              "evidenceIds": [
                "langdock:langdock:extra"
              ]
            }
          ],
          "limitations": [
            "user_limits: Five-hour session and Monday-reset weekly limits depend on model-priced token consumption; numeric included budget is shown per account, not fully published. Spam protection is 250 messages/3h. Max is five times Standard.",
            "Unverified model_allowlist_by_group, data_bound_models: Group-specific model allowlists and rules binding connectors/knowledge to certain models were not established in model and role documentation; no two-user test was run."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:workspace",
            "langdock:langdock:limits",
            "langdock:langdock:pricing",
            "langdock:langdock:extra"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:MOD-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Model specs and scoped configuration can limit choices; optional user credit reservations provide a blocking mechanism.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "partial",
              "answer": "Enforced model specs and role/group configuration overrides can restrict available endpoints/models. The separate management UI is preview; a two-group fixture was not run.",
              "evidenceIds": [
                "librechat:librechat:modelspec",
                "librechat:librechat:admin",
                "librechat:librechat:access"
              ]
            },
            {
              "id": "data_bound_models",
              "question": "Can admins restrict which models receive connector or knowledge content?",
              "support": "unknown",
              "answer": "data_bound_models: Can admins restrict which models receive connector or knowledge content? A hard binding between each enterprise content source and a permitted model provider was not established in the Agent and access-control guides.",
              "evidenceIds": []
            },
            {
              "id": "default_model",
              "question": "Can admins set the default model?",
              "support": "supported",
              "answer": "Model-spec presets can define default endpoint/model configurations.",
              "evidenceIds": [
                "librechat:librechat:modelspec"
              ]
            },
            {
              "id": "user_limits",
              "question": "What per-user message or token limits apply, and are they published?",
              "support": "partial",
              "answer": "Balance tracking, initial credits/refills and message moderation limits are operator-configurable, rather than a universal vendor allowance.",
              "evidenceIds": [
                "librechat:librechat:balance",
                "librechat:librechat:mod"
              ]
            },
            {
              "id": "limit_behaviour",
              "question": "What happens when a limit is reached?",
              "support": "supported",
              "answer": "Pinned checkBalance reserves credits and throws a TOKEN_BALANCE error when insufficient. This establishes a blocking code path, not an observed end-to-end quota test.",
              "evidenceIds": [
                "librechat:librechat:balance-pin"
              ]
            }
          ],
          "limitations": [
            "model_allowlist_by_group: Enforced model specs and role/group configuration overrides can restrict available endpoints/models. The separate management UI is preview; a two-group fixture was not run.",
            "data_bound_models: Can admins restrict which models receive connector or knowledge content? A hard binding between each enterprise content source and a permitted model provider was not established in the Agent and access-control guides.",
            "user_limits: Balance tracking, initial credits/refills and message moderation limits are operator-configurable, rather than a universal vendor allowance."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:modelspec",
            "librechat:librechat:admin",
            "librechat:librechat:access",
            "librechat:librechat:balance",
            "librechat:librechat:mod",
            "librechat:librechat:balance-pin"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:KNOW-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Format/count limits and direct previews differ from semantic search paths.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "formats",
              "question": "Which formats are accepted?",
              "support": "supported",
              "answer": "PDF/Word/PowerPoint and text, Excel/CSV/TSV/Parquet, listed image, audio and video types are documented; Knowledge bases exclude tabular/media.",
              "evidenceIds": [
                "langdock:langdock:files"
              ]
            },
            {
              "id": "limits",
              "question": "What size and count limits apply per file and chat?",
              "support": "supported",
              "answer": "Web 50 files/message, mobile five; agent 50 files. PDF/Office 256 MB, text 10 MB, tabular 100 MB, images 20 MB; text 8M characters and PDF 5000 pages.",
              "evidenceIds": [
                "langdock:langdock:files",
                "langdock:langdock:file-count"
              ]
            },
            {
              "id": "ocr",
              "question": "Are scanned PDFs read?",
              "support": "unknown",
              "answer": "Are scanned PDFs read? Unknown. No shared scanned-PDF OCR or multilingual file fixture was uploaded.",
              "evidenceIds": []
            },
            {
              "id": "spreadsheets",
              "question": "Are Excel tables read with structure intact?",
              "support": "partial",
              "answer": "Spreadsheets use direct reading and file tools, not chunk embeddings; source formula/structure accuracy was not fixture-tested.",
              "evidenceIds": [
                "langdock:langdock:files",
                "langdock:langdock:retrieval"
              ]
            },
            {
              "id": "full_vs_chunked",
              "question": "Is the whole file used or only retrieved parts, and does the user see which?",
              "support": "supported",
              "answer": "Small direct files are previewed in full where possible; agent knowledge above 20 documents uses lists/tools. Knowledge-base/synced text uses up to 50 chunks of up to 2000 characters.",
              "evidenceIds": [
                "langdock:langdock:retrieval"
              ]
            }
          ],
          "limitations": [
            "spreadsheets: Spreadsheets use direct reading and file tools, not chunk embeddings; source formula/structure accuracy was not fixture-tested.",
            "Unverified ocr: No shared scanned-PDF OCR or multilingual file fixture was uploaded."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:files",
            "langdock:langdock:file-count",
            "langdock:langdock:retrieval"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:KNOW-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Files can be indexed, injected as extracted text or sent directly to compatible model providers.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "New spreadsheet finding at development source a378657583567310c841d652b0f6b00c83e2bd6b; earlier accepted facts retain their cited release pins",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "supported",
              "answer": "Documents include PDF/text/Office formats through configured extraction; provider-native acceptance varies, including Bedrock Office formats and Google audio/video.",
              "evidenceIds": [
                "librechat:librechat:ocr",
                "librechat:librechat:filecfg"
              ]
            },
            {
              "id": "limits",
              "question": "What size and count limits apply per file and chat?",
              "support": "partial",
              "answer": "File counts, sizes and MIME patterns are operator/endpoint settings; provider limits may be stricter. The shared fixture was not uploaded.",
              "evidenceIds": [
                "librechat:librechat:filecfg",
                "librechat:librechat:ocr"
              ]
            },
            {
              "id": "ocr",
              "question": "Are scanned PDFs read?",
              "support": "supported",
              "answer": "Optional Mistral OCR, Azure/Vertex Mistral OCR and provider-native file processing are documented.",
              "evidenceIds": [
                "librechat:librechat:ocr"
              ]
            },
            {
              "id": "spreadsheets",
              "question": "Are Excel tables read with structure intact?",
              "support": "partial",
              "answer": "The inspected built-in XLSX/XLS/ODS parser emits each sheet name and CSV values. The current guide lists a 15 MB built-in parser limit. Workbook formatting, formula recalculation and shared-fixture accuracy were not established.",
              "evidenceIds": [
                "librechat:librechat:r4-spreadsheet-parser",
                "librechat:librechat:r4-text-current"
              ]
            },
            {
              "id": "full_vs_chunked",
              "question": "Is the whole file used or only retrieved parts, and does the user see which?",
              "support": "supported",
              "answer": "RAG retrieves indexed chunks; Upload as Text and Agent File Context inject extracted full text, subject to context limits.",
              "evidenceIds": [
                "librechat:librechat:rag",
                "librechat:librechat:text",
                "librechat:librechat:ocr"
              ]
            }
          ],
          "limitations": [
            "File counts, sizes and provider acceptance depend on deployment settings.",
            "Spreadsheet parsing yields named sheets and CSV values; layout/formula fidelity and the shared fixture remain untested."
          ],
          "checkedAt": "2026-10-26",
          "crossCheckedAt": "2026-10-26",
          "nextCheckAt": "2026-12-25",
          "evidenceIds": [
            "librechat:librechat:ocr",
            "librechat:librechat:filecfg",
            "librechat:librechat:rag",
            "librechat:librechat:text",
            "librechat:librechat:r4-spreadsheet-parser",
            "librechat:librechat:r4-text-current"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:KNOW-02",
          "verificationStatus": "agent-cross-checked",
          "support": "supported",
          "answer": "Persistent knowledge bases and library folders have separate limits and access roles.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "persistent_collections",
              "question": "Can users keep document collections across chats?",
              "support": "supported",
              "answer": "Knowledge bases persist for chat, agents, workflows and API use.",
              "evidenceIds": [
                "langdock:langdock:knowledge"
              ]
            },
            {
              "id": "sharing_scope",
              "question": "Can collections be shared with users, groups or the whole organisation?",
              "support": "supported",
              "answer": "Owner/Editor/Viewer roles; share with persons, groups or workspace, subject to workspace-sharing permission.",
              "evidenceIds": [
                "langdock:langdock:knowledge"
              ]
            },
            {
              "id": "size_limits",
              "question": "What are the collection limits?",
              "support": "supported",
              "answer": "Cloud Knowledge bases support 1000 files, 8M characters/file. Normal folders have 100 files and 250 MB total; dedicated limits are configurable.",
              "evidenceIds": [
                "langdock:langdock:knowledge",
                "langdock:langdock:file-count"
              ]
            },
            {
              "id": "assistant_binding",
              "question": "Can collections be bound to an assistant?",
              "support": "supported",
              "answer": "Agent Folders attach knowledge bases/library folders/synced folders.",
              "evidenceIds": [
                "langdock:langdock:agents"
              ]
            }
          ],
          "limitations": [],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:knowledge",
            "langdock:langdock:file-count",
            "langdock:langdock:agents"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:KNOW-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Agents and personal Projects keep files across chats; shared Agent access is distinct from personal Project ownership.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "Agent File Search/File Context and Project reference files persist for later chats.",
              "evidenceIds": [
                "librechat:librechat:agents",
                "librechat:librechat:projects"
              ]
            },
            {
              "id": "sharing_scope",
              "question": "Can collections be shared with users, groups or the whole organisation?",
              "support": "partial",
              "answer": "Agents can share files/knowledge with permitted users/groups/roles; Projects themselves are personal and cannot be shared or transferred.",
              "evidenceIds": [
                "librechat:librechat:access",
                "librechat:librechat:agents",
                "librechat:librechat:projects"
              ]
            },
            {
              "id": "size_limits",
              "question": "What are the collection limits?",
              "support": "unknown",
              "answer": "size_limits: What are the collection limits? No universal collection storage/size allowance was established; limits are deployment and file-configuration dependent.",
              "evidenceIds": []
            },
            {
              "id": "assistant_binding",
              "question": "Can collections be bound to an assistant?",
              "support": "supported",
              "answer": "Agent File Search and File Context bind retrieved or extracted knowledge to an Agent.",
              "evidenceIds": [
                "librechat:librechat:agents",
                "librechat:librechat:ocr"
              ]
            }
          ],
          "limitations": [
            "sharing_scope: Agents can share files/knowledge with permitted users/groups/roles; Projects themselves are personal and cannot be shared or transferred.",
            "size_limits: What are the collection limits? No universal collection storage/size allowance was established; limits are deployment and file-configuration dependent."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:agents",
            "librechat:librechat:projects",
            "librechat:librechat:access",
            "librechat:librechat:ocr"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:KNOW-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Native tools, daily folder sync and customer MCP/API integrations are distinct routes.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "microsoft_365",
              "question": "Which M365 sources (SharePoint, OneDrive, Outlook, Teams) are connected?",
              "support": "supported",
              "answer": "Directory includes SharePoint, OneDrive, Outlook Email/Calendar and Teams. SharePoint/OneDrive also support indexed folder sync.",
              "evidenceIds": [
                "langdock:langdock:integrations",
                "langdock:langdock:sync"
              ]
            },
            {
              "id": "google_workspace",
              "question": "Which Google sources are connected?",
              "support": "supported",
              "answer": "Drive, Gmail, Calendar, Docs, Sheets, Slides and Meet are listed; Drive supports folder sync.",
              "evidenceIds": [
                "langdock:langdock:integrations"
              ]
            },
            {
              "id": "atlassian",
              "question": "Confluence and Jira?",
              "support": "supported",
              "answer": "Confluence Cloud, self-hosted Confluence Data Center and Jira are in the native directory.",
              "evidenceIds": [
                "langdock:langdock:integrations"
              ]
            },
            {
              "id": "other_systems",
              "question": "Which other business systems?",
              "support": "supported",
              "answer": "Named routes include Salesforce, ServiceNow, HubSpot, Slack, Notion, Airtable, Asana, GitHub, Azure AI Search, Kendra and Databricks; see directory for authentication and actions.",
              "evidenceIds": [
                "langdock:langdock:integrations"
              ]
            },
            {
              "id": "on_prem_sources",
              "question": "Can on-prem file shares or databases be connected?",
              "support": "partial",
              "answer": "Confluence Data Center and customer API/MCP endpoints can connect; private network access is restricted by default in Cloud, so generic local shares are not established.",
              "evidenceIds": [
                "langdock:langdock:integrations",
                "langdock:langdock:mcp"
              ]
            },
            {
              "id": "connector_provider",
              "question": "Who builds and maintains each connector?",
              "support": "supported",
              "answer": "Langdock provides native integrations; customers build custom actions or connect official third-party MCP servers.",
              "evidenceIds": [
                "langdock:langdock:integrations",
                "langdock:langdock:mcp"
              ]
            }
          ],
          "limitations": [
            "on_prem_sources: Confluence Data Center and customer API/MCP endpoints can connect; private network access is restricted by default in Cloud, so generic local shares are not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:integrations",
            "langdock:langdock:sync",
            "langdock:langdock:mcp"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:KNOW-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "SharePoint and OneDrive have a documented delegated file picker. Other enterprise systems require separately verified tools or connectors.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "SharePoint Online and OneDrive for Business can be browsed and attached through Entra token reuse/OBO, delegated AllSites.Read and Files.Read.All, and admin consent. Outlook/Teams source access was not established.",
              "evidenceIds": [
                "librechat:librechat:sharepoint"
              ]
            },
            {
              "id": "google_workspace",
              "question": "Which Google sources are connected?",
              "support": "unknown",
              "answer": "google_workspace: Which Google sources are connected? Google Drive/Gmail, Confluence/Jira and other named business-system connectors were not verified from first-party maintained connector documentation; generic MCP compatibility is not a connector catalog.",
              "evidenceIds": []
            },
            {
              "id": "atlassian",
              "question": "Confluence and Jira?",
              "support": "unknown",
              "answer": "atlassian: Confluence and Jira? Google Drive/Gmail, Confluence/Jira and other named business-system connectors were not verified from first-party maintained connector documentation; generic MCP compatibility is not a connector catalog.",
              "evidenceIds": []
            },
            {
              "id": "other_systems",
              "question": "Which other business systems?",
              "support": "unknown",
              "answer": "other_systems: Which other business systems? Google Drive/Gmail, Confluence/Jira and other named business-system connectors were not verified from first-party maintained connector documentation; generic MCP compatibility is not a connector catalog.",
              "evidenceIds": []
            },
            {
              "id": "on_prem_sources",
              "question": "Can on-prem file shares or databases be connected?",
              "support": "partial",
              "answer": "Custom local MCP stdio servers can reach systems available to the deployment, but a maintained file-share/database connector and its permissions were not verified.",
              "evidenceIds": [
                "librechat:librechat:mcpcfg"
              ]
            },
            {
              "id": "connector_provider",
              "question": "Who builds and maintains each connector?",
              "support": "supported",
              "answer": "LibreChat documents the Microsoft picker. Other MCP tool integrations are separately configured and maintained by their respective server authors/operators.",
              "evidenceIds": [
                "librechat:librechat:sharepoint",
                "librechat:librechat:mcp"
              ]
            }
          ],
          "limitations": [
            "microsoft_365: SharePoint Online and OneDrive for Business can be browsed and attached through Entra token reuse/OBO, delegated AllSites.Read and Files.Read.All, and admin consent. Outlook/Teams source access was not established.",
            "google_workspace: Which Google sources are connected? Google Drive/Gmail, Confluence/Jira and other named business-system connectors were not verified from first-party maintained connector documentation; generic MCP compatibility is not a connector catalog.",
            "atlassian: Confluence and Jira? Google Drive/Gmail, Confluence/Jira and other named business-system connectors were not verified from first-party maintained connector documentation; generic MCP compatibility is not a connector catalog.",
            "other_systems: Which other business systems? Google Drive/Gmail, Confluence/Jira and other named business-system connectors were not verified from first-party maintained connector documentation; generic MCP compatibility is not a connector catalog.",
            "on_prem_sources: Custom local MCP stdio servers can reach systems available to the deployment, but a maintained file-share/database connector and its permissions were not verified."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:sharepoint",
            "librechat:librechat:mcpcfg",
            "librechat:librechat: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": "langdock",
          "claimId": "langdock:KNOW-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Folder Sync checks each user source access; Purview labels add a separate, qualified control.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "source_permissions_respected",
              "question": "Are source permissions enforced per user?",
              "support": "partial",
              "answer": "Synced folder retrieval checks the user source rights in real time and requires the user connection. Static shared knowledge follows Langdock sharing instead. No fixture test was run.",
              "evidenceIds": [
                "langdock:langdock:sync",
                "langdock:langdock:knowledge"
              ]
            },
            {
              "id": "enforcement_point",
              "question": "Does the source system, a mirrored index or nothing enforce them?",
              "support": "supported",
              "answer": "A copied content index is searched while access is checked live against the source system for synced files.",
              "evidenceIds": [
                "langdock:langdock:sync"
              ]
            },
            {
              "id": "revocation_delay",
              "question": "How quickly does a removed permission take effect?",
              "support": "unknown",
              "answer": "How quickly does a removed permission take effect? Unknown. A two-user restricted-file/revocation test was not run; no measured source-permission revocation latency is asserted.",
              "evidenceIds": []
            },
            {
              "id": "admin_scope_controls",
              "question": "Can admins exclude sites, folders or labels?",
              "support": "supported",
              "answer": "Admins choose integrations/actions; synced folders scope imported content and labels can exclude documents.",
              "evidenceIds": [
                "langdock:langdock:actions",
                "langdock:langdock:labels",
                "langdock:langdock:sync"
              ]
            },
            {
              "id": "sensitivity_labels",
              "question": "Are Microsoft Purview or similar labels respected?",
              "support": "partial",
              "answer": "Request-enabled policy covers five Microsoft integrations, with exceptions for certain Outlook actions/copy attachments, unlabeled/new labels, custom MCP and uploaded files; saved-policy enforcement is conditional on integration rollout.",
              "evidenceIds": [
                "langdock:langdock:labels"
              ]
            }
          ],
          "limitations": [
            "source_permissions_respected: Synced folder retrieval checks the user source rights in real time and requires the user connection. Static shared knowledge follows Langdock sharing instead. No fixture test was run.",
            "sensitivity_labels: Request-enabled policy covers five Microsoft integrations, with exceptions for certain Outlook actions/copy attachments, unlabeled/new labels, custom MCP and uploaded files; saved-policy enforcement is conditional on integration rollout.",
            "Unverified revocation_delay: A two-user restricted-file/revocation test was not run; no measured source-permission revocation latency is asserted."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:sync",
            "langdock:langdock:knowledge",
            "langdock:langdock:labels",
            "langdock:langdock:actions"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:KNOW-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Product resource ACLs and delegated Microsoft file selection are documented. Continuing source permissions for copied content remain untested.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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 restricted-document two-user fixture or grant/revocation test was run. Source permission enforcement, revocation delay and Purview label handling remain unverified.",
              "evidenceIds": []
            },
            {
              "id": "enforcement_point",
              "question": "Does the source system, a mirrored index or nothing enforce them?",
              "support": "partial",
              "answer": "LibreChat ACLs control Agent/file resources; Microsoft delegated OBO limits source downloads as the signed-in user. No query-time source ACL check for previously copied chunks was established.",
              "evidenceIds": [
                "librechat:librechat:access",
                "librechat:librechat:sharepoint"
              ]
            },
            {
              "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 restricted-document two-user fixture or grant/revocation test was run. Source permission enforcement, revocation delay and Purview label handling remain unverified.",
              "evidenceIds": []
            },
            {
              "id": "admin_scope_controls",
              "question": "Can admins exclude sites, folders or labels?",
              "support": "partial",
              "answer": "Operators can scope Agent/resource grants and its selected files. Site/folder/label exclusion across sources was not established.",
              "evidenceIds": [
                "librechat:librechat:access",
                "librechat:librechat:agents"
              ]
            },
            {
              "id": "sensitivity_labels",
              "question": "Are Microsoft Purview or similar labels respected?",
              "support": "unknown",
              "answer": "sensitivity_labels: Are Microsoft Purview or similar labels respected? No restricted-document two-user fixture or grant/revocation test was run. Source permission enforcement, revocation delay and Purview label handling remain unverified.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "source_permissions_respected: Are source permissions enforced per user? No restricted-document two-user fixture or grant/revocation test was run. Source permission enforcement, revocation delay and Purview label handling remain unverified.",
            "enforcement_point: LibreChat ACLs control Agent/file resources; Microsoft delegated OBO limits source downloads as the signed-in user. No query-time source ACL check for previously copied chunks was established.",
            "revocation_delay: How quickly does a removed permission take effect? No restricted-document two-user fixture or grant/revocation test was run. Source permission enforcement, revocation delay and Purview label handling remain unverified.",
            "admin_scope_controls: Operators can scope Agent/resource grants and its selected files. Site/folder/label exclusion across sources was not established.",
            "sensitivity_labels: Are Microsoft Purview or similar labels respected? No restricted-document two-user fixture or grant/revocation test was run. Source permission enforcement, revocation delay and Purview label handling remain unverified."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:access",
            "librechat:librechat:sharepoint",
            "librechat:librechat:agents"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:KNOW-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Folder Sync copies indexed text and refreshes daily, with live access checks and manual refresh.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "live_or_indexed",
              "question": "Is content searched live or copied into an index?",
              "support": "supported",
              "answer": "Folder Sync downloads supported text into an index; spreadsheets remain direct-read files. Other integration actions query source APIs.",
              "evidenceIds": [
                "langdock:langdock:sync",
                "langdock:langdock:integrations"
              ]
            },
            {
              "id": "sync_interval",
              "question": "How often does an index refresh?",
              "support": "supported",
              "answer": "Daily updates, manual refresh and up to one hour initial sync.",
              "evidenceIds": [
                "langdock:langdock:sync"
              ]
            },
            {
              "id": "deletion_propagation",
              "question": "How quickly does a deleted document disappear?",
              "support": "partial",
              "answer": "Daily sync removes source-deleted files; no measured end-to-end deletion delay is available.",
              "evidenceIds": [
                "langdock:langdock:sync"
              ]
            },
            {
              "id": "index_location",
              "question": "Where is indexed content stored?",
              "support": "partial",
              "answer": "Terms place customer files/embeddings in EU Azure storage, with default Frankfurt hosting. Per-index backup copies are not separately mapped.",
              "evidenceIds": [
                "langdock:langdock:terms"
              ]
            }
          ],
          "limitations": [
            "deletion_propagation: Daily sync removes source-deleted files; no measured end-to-end deletion delay is available.",
            "index_location: Terms place customer files/embeddings in EU Azure storage, with default Frankfurt hosting. Per-index backup copies are not separately mapped."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:sync",
            "langdock:langdock:integrations",
            "langdock:langdock:terms"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:KNOW-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "The RAG API copies uploaded content into PGVector; imported files do not by themselves establish live enterprise synchronization.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "The RAG API indexes uploaded documents into PostgreSQL/PGVector; file-context mode stores extracted text in Agent instructions.",
              "evidenceIds": [
                "librechat:librechat:rag",
                "librechat:librechat:ocr"
              ]
            },
            {
              "id": "sync_interval",
              "question": "How often does an index refresh?",
              "support": "unknown",
              "answer": "sync_interval: How often does an index refresh? No periodic enterprise-source sync contract, source edit/delete propagation bound or timed fixture was established from the RAG and Microsoft import guides.",
              "evidenceIds": []
            },
            {
              "id": "deletion_propagation",
              "question": "How quickly does a deleted document disappear?",
              "support": "unknown",
              "answer": "deletion_propagation: How quickly does a deleted document disappear? No periodic enterprise-source sync contract, source edit/delete propagation bound or timed fixture was established from the RAG and Microsoft import guides.",
              "evidenceIds": []
            },
            {
              "id": "index_location",
              "question": "Where is indexed content stored?",
              "support": "supported",
              "answer": "The operator chooses the RAG database and its location, independently of the inference provider.",
              "evidenceIds": [
                "librechat:librechat:rag",
                "librechat:librechat:compose-pin"
              ]
            }
          ],
          "limitations": [
            "sync_interval: How often does an index refresh? No periodic enterprise-source sync contract, source edit/delete propagation bound or timed fixture was established from the RAG and Microsoft import guides.",
            "deletion_propagation: How quickly does a deleted document disappear? No periodic enterprise-source sync contract, source edit/delete propagation bound or timed fixture was established from the RAG and Microsoft import guides."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:rag",
            "librechat:librechat:ocr",
            "librechat:librechat:compose-pin"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:KNOW-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Citations are documented; retrieval outcomes remain untested.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "citations",
              "question": "Are answers linked to specific sources?",
              "support": "partial",
              "answer": "Agent responses cite sources by default; source-access restriction can hide click-through while still using content.",
              "evidenceIds": [
                "langdock:langdock:agents"
              ]
            },
            {
              "id": "citation_accuracy",
              "question": "Do the cited passages support the answer?",
              "support": "unknown",
              "answer": "Do the cited passages support the answer? Unknown. No shared corpus or question set was run. Citation accuracy, cross-language retrieval, no-answer behavior and numeric accuracy remain unknown.",
              "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? Unknown. No shared corpus or question set was run. Citation accuracy, cross-language retrieval, no-answer behavior and numeric accuracy remain unknown.",
              "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? Unknown. No shared corpus or question set was run. Citation accuracy, cross-language retrieval, no-answer behavior and numeric accuracy remain unknown.",
              "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? Unknown. No shared corpus or question set was run. Citation accuracy, cross-language retrieval, no-answer behavior and numeric accuracy remain unknown.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "citations: Agent responses cite sources by default; source-access restriction can hide click-through while still using content.",
            "Unverified citation_accuracy, cross_language, no_answer_behaviour, observed_accuracy: No shared corpus or question set was run. Citation accuracy, cross-language retrieval, no-answer behavior and numeric accuracy remain unknown."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:agents"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:KNOW-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "File-search citations are documented; retrieval accuracy remains unmeasured.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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/File Search provides retrieved source references and citation controls.",
              "evidenceIds": [
                "librechat:librechat:rag",
                "librechat:librechat:access"
              ]
            },
            {
              "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 multilingual factual/cross-document/no-answer question set was not run. Citation correctness, cross-language success, no-answer reliability and observed accuracy remain unknown.",
              "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 multilingual factual/cross-document/no-answer question set was not run. Citation correctness, cross-language success, no-answer reliability and observed accuracy remain unknown.",
              "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 multilingual factual/cross-document/no-answer question set was not run. Citation correctness, cross-language success, no-answer reliability and observed accuracy remain unknown.",
              "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 multilingual factual/cross-document/no-answer question set was not run. Citation correctness, cross-language success, no-answer reliability and observed accuracy remain unknown.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "citation_accuracy: Do the cited passages support the answer? The shared multilingual factual/cross-document/no-answer question set was not run. Citation correctness, cross-language success, no-answer reliability and observed accuracy remain unknown.",
            "cross_language: Does a question in one language find documents in another? The shared multilingual factual/cross-document/no-answer question set was not run. Citation correctness, cross-language success, no-answer reliability and observed accuracy remain unknown.",
            "no_answer_behaviour: Does it say when the corpus has no answer? The shared multilingual factual/cross-document/no-answer question set was not run. Citation correctness, cross-language success, no-answer reliability and observed accuracy remain unknown.",
            "observed_accuracy: How many of the question set were answered correctly? The shared multilingual factual/cross-document/no-answer question set was not run. Citation correctness, cross-language success, no-answer reliability and observed accuracy remain unknown."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:rag",
            "librechat:librechat:access"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:KNOW-07",
          "verificationStatus": "agent-cross-checked",
          "support": "supported",
          "answer": "Regular-chat instructions and memory have user and workspace controls.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "custom_instructions",
              "question": "Can users set persistent instructions?",
              "support": "supported",
              "answer": "Personal instructions apply in regular chat; agent/project instructions replace them.",
              "evidenceIds": [
                "langdock:langdock:account"
              ]
            },
            {
              "id": "cross_chat_memory",
              "question": "Does the product remember facts across chats?",
              "support": "supported",
              "answer": "Regular chats use a personal store of up to 50 memories; projects/agents do not use this memory.",
              "evidenceIds": [
                "langdock:langdock:memory"
              ]
            },
            {
              "id": "user_memory_controls",
              "question": "Can users view, edit and delete memories?",
              "support": "supported",
              "answer": "Users inspect, edit, delete or disable memories in account settings and can update/forget through chat.",
              "evidenceIds": [
                "langdock:langdock:memory",
                "langdock:langdock:account"
              ]
            },
            {
              "id": "admin_memory_controls",
              "question": "Can admins turn memory off?",
              "support": "supported",
              "answer": "Memory availability requires workspace and personal enablement.",
              "evidenceIds": [
                "langdock:langdock:chat"
              ]
            }
          ],
          "limitations": [],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:account",
            "langdock:langdock:memory",
            "langdock:langdock:chat"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:KNOW-07",
          "verificationStatus": "agent-cross-checked",
          "support": "supported",
          "answer": "Opt-in user memory stores editable key/value context across chats; Projects and Agents provide additional persistent instructions.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "supported",
              "answer": "Projects retain instructions across their chats; Agents retain system instructions.",
              "evidenceIds": [
                "librechat:librechat:projects",
                "librechat:librechat:agents"
              ]
            },
            {
              "id": "cross_chat_memory",
              "question": "Does the product remember facts across chats?",
              "support": "supported",
              "answer": "User Memory injects configured key/value entries across chats and is not semantic search over all past conversations.",
              "evidenceIds": [
                "librechat:librechat:memory"
              ]
            },
            {
              "id": "user_memory_controls",
              "question": "Can users view, edit and delete memories?",
              "support": "supported",
              "answer": "Users add/edit/remove entries and can toggle memory when permitted.",
              "evidenceIds": [
                "librechat:librechat:memory"
              ]
            },
            {
              "id": "admin_memory_controls",
              "question": "Can admins turn memory off?",
              "support": "supported",
              "answer": "Memory is disabled until configured and its feature permissions can be restricted by role.",
              "evidenceIds": [
                "librechat:librechat:memory",
                "librechat:librechat:access"
              ]
            }
          ],
          "limitations": [],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:projects",
            "librechat:librechat:agents",
            "librechat:librechat:memory",
            "librechat:librechat:access"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:AGT-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Agents combine reusable knowledge and tools with creation/sharing controls.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "create_assistants",
              "question": "Can users create assistants with instructions, knowledge and tools?",
              "support": "supported",
              "answer": "Agents configure model, instructions, files, folders, integrations, subagents, skills and workflows.",
              "evidenceIds": [
                "langdock:langdock:agents"
              ]
            },
            {
              "id": "creator_permissions",
              "question": "Can admins limit who creates them?",
              "support": "supported",
              "answer": "System/custom roles and extra permissions control agent creation/sharing.",
              "evidenceIds": [
                "langdock:langdock:roles"
              ]
            },
            {
              "id": "sharing_scope",
              "question": "Can assistants be shared with users, groups or everyone?",
              "support": "partial",
              "answer": "Workspace/group resources and permissioned agent configuration are documented; no fixture was shared.",
              "evidenceIds": [
                "langdock:langdock:workspace",
                "langdock:langdock:agents"
              ]
            },
            {
              "id": "catalogue",
              "question": "Is there an internal assistant directory?",
              "support": "supported",
              "answer": "Workspace agent management has All/Unassigned/Verified views.",
              "evidenceIds": [
                "langdock:langdock:workspace"
              ]
            },
            {
              "id": "prompt_library",
              "question": "Are shared prompt templates available?",
              "support": "supported",
              "answer": "The workspace guide documents group/workspace prompt-library sharing.",
              "evidenceIds": [
                "langdock:langdock:workspace"
              ]
            }
          ],
          "limitations": [
            "sharing_scope: Workspace/group resources and permissioned agent configuration are documented; no fixture was shared."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:agents",
            "langdock:langdock:roles",
            "langdock:langdock:workspace"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:AGT-01",
          "verificationStatus": "agent-cross-checked",
          "support": "supported",
          "answer": "Agents combine instructions, a model, knowledge and tools, with version history and a permissioned internal catalog.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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 Agent Builder creates reusable instructions/model/files/tools/skills configurations.",
              "evidenceIds": [
                "librechat:librechat:agents"
              ]
            },
            {
              "id": "creator_permissions",
              "question": "Can admins limit who creates them?",
              "support": "supported",
              "answer": "AGENTS CREATE and sharing permissions can be restricted by role; resource grants control access.",
              "evidenceIds": [
                "librechat:librechat:access"
              ]
            },
            {
              "id": "sharing_scope",
              "question": "Can assistants be shared with users, groups or everyone?",
              "support": "supported",
              "answer": "Agent ACLs support users, groups, roles and all authenticated users when public sharing is permitted.",
              "evidenceIds": [
                "librechat:librechat:access"
              ]
            },
            {
              "id": "catalogue",
              "question": "Is there an internal assistant directory?",
              "support": "supported",
              "answer": "Agents have a marketplace/catalog and searchable builder tool library.",
              "evidenceIds": [
                "librechat:librechat:agents"
              ]
            },
            {
              "id": "prompt_library",
              "question": "Are shared prompt templates available?",
              "support": "supported",
              "answer": "Prompt resources have use/create/share/share-public permissions and ACLs.",
              "evidenceIds": [
                "librechat:librechat:access"
              ]
            }
          ],
          "limitations": [],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:agents",
            "librechat:librechat:access"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:AGT-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Remote MCP and custom actions have admin access controls and optional confirmations.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "builtin_tools",
              "question": "Which tools are built in?",
              "support": "supported",
              "answer": "Search, images, file work, document editor, memory, research and company knowledge are governed tools.",
              "evidenceIds": [
                "langdock:langdock:chat"
              ]
            },
            {
              "id": "custom_actions",
              "question": "Can admins add API actions?",
              "support": "supported",
              "answer": "Custom API integrations and shareable individual actions are documented.",
              "evidenceIds": [
                "langdock:langdock:actions"
              ]
            },
            {
              "id": "mcp_client",
              "question": "Can it use remote MCP servers, and with what admin control?",
              "support": "supported",
              "answer": "Streamable HTTP/SSE with OAuth CIMD/DCR/manual PKCE, API key or none; private network URLs blocked by default.",
              "evidenceIds": [
                "langdock:langdock:mcp"
              ]
            },
            {
              "id": "tool_auth",
              "question": "Do tools act as the user or as a shared account?",
              "support": "supported",
              "answer": "Native integrations use personal OAuth or service credentials per provider; MCP supports user OAuth or API headers.",
              "evidenceIds": [
                "langdock:langdock:integrations",
                "langdock:langdock:mcp"
              ]
            },
            {
              "id": "tool_approval",
              "question": "Can admins approve or block tools, and can users confirm actions before they run?",
              "support": "partial",
              "answer": "Admins share integrations/actions by user/group/key, but native core actions cannot be disabled. New MCP tools default to no confirmation; per-tool/agent confirmations can be configured.",
              "evidenceIds": [
                "langdock:langdock:actions",
                "langdock:langdock:mcp",
                "langdock:langdock:changes"
              ]
            }
          ],
          "limitations": [
            "tool_approval: Admins share integrations/actions by user/group/key, but native core actions cannot be disabled. New MCP tools default to no confirmation; per-tool/agent confirmations can be configured."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:chat",
            "langdock:langdock:actions",
            "langdock:langdock:mcp",
            "langdock:langdock:integrations",
            "langdock:langdock:changes"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:AGT-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Agent tools include file search, code, web and Actions, with local/remote MCP and configurable approval boundaries.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [
              "Customer-operated or third-party MCP servers",
              "Optional separate Code Interpreter service"
            ],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "Agent capabilities include file search/context, web search, memory and optionally configured code execution/image tools.",
              "evidenceIds": [
                "librechat:librechat:agents",
                "librechat:librechat:images"
              ]
            },
            {
              "id": "custom_actions",
              "question": "Can admins add API actions?",
              "support": "supported",
              "answer": "Agents support custom API Actions configured in the tool library.",
              "evidenceIds": [
                "librechat:librechat:agents"
              ]
            },
            {
              "id": "mcp_client",
              "question": "Can it use remote MCP servers, and with what admin control?",
              "support": "supported",
              "answer": "Configured MCP transports include stdio, SSE and Streamable HTTP; YAML and permissioned UI setup are documented.",
              "evidenceIds": [
                "librechat:librechat:mcp",
                "librechat:librechat:mcpcfg"
              ]
            },
            {
              "id": "tool_auth",
              "question": "Do tools act as the user or as a shared account?",
              "support": "supported",
              "answer": "MCP supports configured credentials/headers and OAuth; credential and resource ownership scope depends on each server configuration.",
              "evidenceIds": [
                "librechat:librechat:mcp",
                "librechat:librechat:mcpcfg"
              ]
            },
            {
              "id": "tool_approval",
              "question": "Can admins approve or block tools, and can users confirm actions before they run?",
              "support": "partial",
              "answer": "Agent/code environments document approval modes and individual tool-call approvals. The default policy and every external side-effect boundary were not exercised.",
              "evidenceIds": [
                "librechat:librechat:agents",
                "librechat:librechat:code"
              ]
            }
          ],
          "limitations": [
            "tool_approval: Agent/code environments document approval modes and individual tool-call approvals. The default policy and every external side-effect boundary were not exercised."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:agents",
            "librechat:librechat:images",
            "librechat:librechat:mcp",
            "librechat:librechat:mcpcfg",
            "librechat:librechat:code"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:AGT-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Cited search and public-web Deep Research are available; provider/region details remain incomplete.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "web_search",
              "question": "Is web search available?",
              "support": "supported",
              "answer": "Chat tool generates a query and can open URLs; sources are inspectable.",
              "evidenceIds": [
                "langdock:langdock:web"
              ]
            },
            {
              "id": "admin_toggle",
              "question": "Can admins disable it per organisation or group?",
              "support": "partial",
              "answer": "Workspace admins disable web search and separate agent capabilities. Per-group search-toggle coverage was not established.",
              "evidenceIds": [
                "langdock:langdock:workspace"
              ]
            },
            {
              "id": "search_provider",
              "question": "Which search provider handles queries, and where?",
              "support": "unknown",
              "answer": "Which search provider handles queries, and where? Unknown. Search/crawl provider contracts and query-processing region were not established in the public tool documentation.",
              "evidenceIds": []
            },
            {
              "id": "deep_research",
              "question": "Is multi-step research with a report available?",
              "support": "supported",
              "answer": "Regular chat only, public web only, cited PDF reports; standard keys allow 15 researches per rolling 30 days. BYOK needs research models.",
              "evidenceIds": [
                "langdock:langdock:research"
              ]
            },
            {
              "id": "web_citations",
              "question": "Are web sources cited?",
              "support": "supported",
              "answer": "Search sources link to corresponding paragraphs and Deep Research has activity/source lists.",
              "evidenceIds": [
                "langdock:langdock:web",
                "langdock:langdock:research"
              ]
            }
          ],
          "limitations": [
            "admin_toggle: Workspace admins disable web search and separate agent capabilities. Per-group search-toggle coverage was not established.",
            "Unverified search_provider: Search/crawl provider contracts and query-processing region were not established in the public tool documentation."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:web",
            "langdock:langdock:workspace",
            "langdock:langdock:research"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:AGT-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Web search combines configured search, scraping and optional reranking services; source queries can leave the installation boundary.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "Tool-capable chats/Agents can use the configured web search capability.",
              "evidenceIds": [
                "librechat:librechat:web",
                "librechat:librechat:agents"
              ]
            },
            {
              "id": "admin_toggle",
              "question": "Can admins disable it per organisation or group?",
              "support": "supported",
              "answer": "WEB_SEARCH feature permissions control use; operators configure whether its provider stack is available.",
              "evidenceIds": [
                "librechat:librechat:access",
                "librechat:librechat:web"
              ]
            },
            {
              "id": "search_provider",
              "question": "Which search provider handles queries, and where?",
              "support": "supported",
              "answer": "Documented choices include Serper, SearXNG, Tavily and Keenable, with Firecrawl/Tavily/Keenable scraping and optional Jina/Cohere reranking. Geography depends on the chosen services.",
              "evidenceIds": [
                "librechat:librechat:web"
              ]
            },
            {
              "id": "deep_research",
              "question": "Is multi-step research with a report available?",
              "support": "partial",
              "answer": "Agents can perform repeated tool operations and web research. No dedicated report fixture, quality result or preset research SLA was verified.",
              "evidenceIds": [
                "librechat:librechat:agents",
                "librechat:librechat:web"
              ]
            },
            {
              "id": "web_citations",
              "question": "Are web sources cited?",
              "support": "supported",
              "answer": "The web-search guide documents source references/citations from search and fetched content.",
              "evidenceIds": [
                "librechat:librechat:web"
              ]
            }
          ],
          "limitations": [
            "deep_research: Agents can perform repeated tool operations and web research. No dedicated report fixture, quality result or preset research SLA was verified."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:web",
            "librechat:librechat:agents",
            "librechat:librechat:access"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:AGT-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Multi-step workflows support automatic triggers and human review.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [
              "Workflow run package; model usage separately metered"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "workflow_builder",
              "question": "Is there a workflow or chain builder?",
              "support": "supported",
              "answer": "Workflows chain agents, integrations, logic, loops and custom code after workspace activation.",
              "evidenceIds": [
                "langdock:langdock:workflows"
              ]
            },
            {
              "id": "scheduled_tasks",
              "question": "Can prompts or assistants run on a schedule?",
              "support": "supported",
              "answer": "Schedule triggers are documented for workflows; the public API index also exposes recurring saved tasks.",
              "evidenceIds": [
                "langdock:langdock:workflows"
              ]
            },
            {
              "id": "event_triggers",
              "question": "Can external events start a workflow?",
              "support": "supported",
              "answer": "Connected-app events, forms and webhooks start runs; dated composable-workflow release supports multiple triggers.",
              "evidenceIds": [
                "langdock:langdock:workflows",
                "langdock:langdock:changes"
              ]
            },
            {
              "id": "builder_audience",
              "question": "Is building aimed at business users, IT or developers?",
              "support": "partial",
              "answer": "Quickstart and conversational Workflow Builder guide non-developers, with code/HTTP nodes for technical users.",
              "evidenceIds": [
                "langdock:langdock:workflows"
              ]
            }
          ],
          "limitations": [
            "builder_audience: Quickstart and conversational Workflow Builder guide non-developers, with code/HTTP nodes for technical users."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:workflows",
            "langdock:langdock:changes"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:AGT-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Experimental Scheduled Chats run saved Agents on cron schedules; beta Agent Events can receive external deliveries.",
          "availability": "beta",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [
              "Experimental schedules explicitly enabled",
              "Beta Agents API for external Agent Events"
            ],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "partial",
              "answer": "Agent Builder supports tool workflows and subagent configurations; no general business no-code flow editor was established.",
              "evidenceIds": [
                "librechat:librechat:agents"
              ]
            },
            {
              "id": "scheduled_tasks",
              "question": "Can prompts or assistants run on a schedule?",
              "support": "supported",
              "answer": "Scheduled Chats supports hourly/daily/weekly/custom cron with time zones, owner scope and execution checks; it is experimental and off by default.",
              "evidenceIds": [
                "librechat:librechat:schedule"
              ]
            },
            {
              "id": "event_triggers",
              "question": "Can external events start a workflow?",
              "support": "partial",
              "answer": "The beta Agents API includes authenticated Agent Events. A built-in email/form trigger catalog was not verified.",
              "evidenceIds": [
                "librechat:librechat:api"
              ]
            },
            {
              "id": "builder_audience",
              "question": "Is building aimed at business users, IT or developers?",
              "support": "supported",
              "answer": "Agent Builder is a user UI; API-event and runtime configuration require technical deployment work.",
              "evidenceIds": [
                "librechat:librechat:agents",
                "librechat:librechat:schedule",
                "librechat:librechat:api"
              ]
            }
          ],
          "limitations": [
            "workflow_builder: Agent Builder supports tool workflows and subagent configurations; no general business no-code flow editor was established.",
            "event_triggers: The beta Agents API includes authenticated Agent Events. A built-in email/form trigger catalog was not verified."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:agents",
            "librechat:librechat:schedule",
            "librechat:librechat:api"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:AGT-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Agents execute actions/subagents; workflow and add-in confirmation behavior is explicit.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "office"
            ],
            "version": "Public documentation checked 2026-10-26",
            "plan": "Business Chat & Agents/Workflows; Outlook add-in for paid plans and trials, enabled by workspace admin",
            "addOns": [
              "Workflow package as needed; compatible Microsoft Outlook/Exchange Online subscription"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              },
              {
                "id": "office",
                "name": "Langdock Excel and Outlook add-ins",
                "type": "office-add-in"
              }
            ]
          },
          "questions": [
            {
              "id": "agent_mode",
              "question": "Is there an agent mode for multi-step tasks?",
              "support": "supported",
              "answer": "Agents can call integrations, subagents and workflows to carry out multiple steps.",
              "evidenceIds": [
                "langdock:langdock:agents"
              ]
            },
            {
              "id": "visible_steps",
              "question": "Are steps and tool calls shown?",
              "support": "partial",
              "answer": "Deep Research shows search/page-read activity; workflows expose run history and nested run links. General agent step-display completeness was not independently observed.",
              "evidenceIds": [
                "langdock:langdock:research",
                "langdock:langdock:changes"
              ]
            },
            {
              "id": "side_effect_confirmation",
              "question": "Must the user confirm actions with side effects?",
              "support": "partial",
              "answer": "Web agents can require configured action confirmation; workflow action review is separate. Newly saved MCP actions default to no confirmation. In the Outlook add-in, edits ask by default, users can allow subsequent edits for the chat, and sending requires a requested action plus confirmation.",
              "evidenceIds": [
                "langdock:langdock:changes",
                "langdock:langdock:hitl",
                "langdock:langdock:mcp",
                "langdock:langdock:excel",
                "langdock:langdock:outlook-rev2",
                "langdock:langdock:outlook-marketplace"
              ]
            },
            {
              "id": "stop_control",
              "question": "Can the user stop a running task?",
              "support": "partial",
              "answer": "Deep Research has a stop button; general external side effects already committed cannot be inferred reversible.",
              "evidenceIds": [
                "langdock:langdock:research"
              ]
            }
          ],
          "limitations": [
            "visible_steps: Deep Research shows search/page-read activity; workflows expose run history and nested run links. General agent step-display completeness was not independently observed.",
            "side_effect_confirmation: Configurable per-agent confirmations and workflow action review exist. Newly saved MCP actions default to no confirmation; Office add-ins ask before edits by default.",
            "stop_control: Deep Research has a stop button; general external side effects already committed cannot be inferred reversible."
          ],
          "checkedAt": "2026-10-26",
          "crossCheckedAt": "2026-10-26",
          "nextCheckAt": "2026-12-25",
          "evidenceIds": [
            "langdock:langdock:agents",
            "langdock:langdock:research",
            "langdock:langdock:changes",
            "langdock:langdock:hitl",
            "langdock:langdock:mcp",
            "langdock:langdock:excel",
            "langdock:langdock:outlook-rev2",
            "langdock:langdock:outlook-marketplace",
            "langdock:langdock:outlook-rev2-20261026",
            "langdock:langdock:outlook-admin-20261026",
            "langdock:langdock:pricing-20261026",
            "langdock:langdock:agents-20261026",
            "langdock:langdock:research-20261026",
            "langdock:langdock:changes-20261026",
            "langdock:langdock:hitl-20261026",
            "langdock:langdock:mcp-20261026",
            "langdock:langdock:excel-20261026"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:AGT-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Agent runs expose reasoning/tool activity and optional approval, interruption and cooperative stop controls.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "Agents execute multi-step tool workflows; code/workspace capabilities require a compatible separately deployed service.",
              "evidenceIds": [
                "librechat:librechat:agents",
                "librechat:librechat:code"
              ]
            },
            {
              "id": "visible_steps",
              "question": "Are steps and tool calls shown?",
              "support": "supported",
              "answer": "Activity groups and tool cards distinguish preparation, execution, completion, cancellation and failure.",
              "evidenceIds": [
                "librechat:librechat:agents"
              ]
            },
            {
              "id": "side_effect_confirmation",
              "question": "Must the user confirm actions with side effects?",
              "support": "partial",
              "answer": "Attached environments can expose Ask before changes/Accept edits/Full access, bounded by operator tool rules. This is configurable, not a guarantee that all side effects require confirmation.",
              "evidenceIds": [
                "librechat:librechat:agents",
                "librechat:librechat:code"
              ]
            },
            {
              "id": "stop_control",
              "question": "Can the user stop a running task?",
              "support": "partial",
              "answer": "The release documents interruption/steering; ordinary background-tool cancellation is optional and cooperative, so an uncooperative tool may still finish.",
              "evidenceIds": [
                "librechat:librechat:agents",
                "librechat:librechat:releases"
              ]
            }
          ],
          "limitations": [
            "No gather-documents, draft-summary and propose-email task was run.",
            "Highly experimental attached workspaces are distinct from ordinary Agent tool use."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:agents",
            "librechat:librechat:code",
            "librechat:librechat:releases"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:AGT-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Public APIs include knowledge and agent MCP, with distinct personal/workspace governance boundaries.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "api"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "API/Agent/Knowledge scopes; workspace activation may apply",
            "addOns": [
              "Metered API usage"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "api",
                "name": "Langdock public APIs and agent MCP server",
                "type": "api"
              }
            ]
          },
          "questions": [
            {
              "id": "chat_api",
              "question": "Is there an API for chat and assistants?",
              "support": "supported",
              "answer": "Public Completion and Agent APIs use scoped bearer keys. Workspace/personal key access is controlled by admins.",
              "evidenceIds": [
                "langdock:langdock:workspace"
              ]
            },
            {
              "id": "knowledge_api",
              "question": "Can documents be loaded through an API?",
              "support": "supported",
              "answer": "Knowledge Folder API supports upload/update/delete/retrieve/search with API-key sharing roles.",
              "evidenceIds": [
                "langdock:langdock:knowledge"
              ]
            },
            {
              "id": "api_governance",
              "question": "Do audit, budgets and model rules apply to API use?",
              "support": "partial",
              "answer": "Personal API keys share member/workspace spend limits and error on exhaustion; workspace API keys and workflow costs use separate limits.",
              "evidenceIds": [
                "langdock:langdock:billing",
                "langdock:langdock:extra"
              ]
            },
            {
              "id": "mcp_server",
              "question": "Does the product expose itself to other agents over MCP?",
              "support": "supported",
              "answer": "https://api.langdock.com/mcp exposes find_agent/ask_agent/ask_custom_agent under Agent API key scope; dedicated URL differs.",
              "evidenceIds": [
                "langdock:langdock:mcp-server"
              ]
            }
          ],
          "limitations": [
            "api_governance: Personal API keys share member/workspace spend limits and error on exhaustion; workspace API keys and workflow costs use separate limits."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:workspace",
            "langdock:langdock:knowledge",
            "langdock:langdock:billing",
            "langdock:langdock:extra",
            "langdock:langdock:mcp-server"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:AGT-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "The beta Agents API provides inference, Agent management and authenticated events; deployment guards and limitations are explicit.",
          "availability": "beta",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "Chat Completions and Open Responses interfaces expose saved Agents, with API-key or configured OIDC authentication.",
              "evidenceIds": [
                "librechat:librechat:api"
              ]
            },
            {
              "id": "knowledge_api",
              "question": "Can documents be loaded through an API?",
              "support": "partial",
              "answer": "The beta management surface includes Agent/Skill management. A complete public knowledge-ingestion contract and fixture were not verified.",
              "evidenceIds": [
                "librechat:librechat:api"
              ]
            },
            {
              "id": "api_governance",
              "question": "Do audit, budgets and model rules apply to API use?",
              "support": "partial",
              "answer": "Agent access and remote-agent permissions gate APIs, with source identity bound for events. Complete logging/budget/model parity across routes was not tested.",
              "evidenceIds": [
                "librechat:librechat:api",
                "librechat:librechat:access"
              ]
            },
            {
              "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? A native product-wide MCP server was not established; being an MCP client does not establish that interface.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "knowledge_api: The beta management surface includes Agent/Skill management. A complete public knowledge-ingestion contract and fixture were not verified.",
            "api_governance: Agent access and remote-agent permissions gate APIs, with source identity bound for events. Complete logging/budget/model parity across routes was not tested.",
            "mcp_server: Does the product expose itself to other agents over MCP? A native product-wide MCP server was not established; being an MCP client does not establish that interface."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:api",
            "librechat:librechat:access"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:WORK-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Web, desktop and mobile clients are documented, with IT deployment guidance.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "desktop",
              "mobile"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business or contracted Enterprise workspace clients; the same subscription/approved models apply",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [
              "Windows",
              "macOS",
              "iOS",
              "Android"
            ],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              },
              {
                "id": "desktop",
                "name": "Langdock Windows/macOS desktop",
                "type": "desktop-app"
              },
              {
                "id": "mobile",
                "name": "Langdock iOS/Android",
                "type": "mobile-app"
              }
            ]
          },
          "questions": [
            {
              "id": "web",
              "question": "Is a full web client available?",
              "support": "supported",
              "answer": "The core platform is a browser workspace.",
              "evidenceIds": [
                "langdock:langdock:terms"
              ]
            },
            {
              "id": "desktop_apps",
              "question": "Windows and macOS apps?",
              "support": "supported",
              "answer": "Official Windows/macOS downloads use the same workspace and approved models as web. This is documented availability, not a hands-on parity test.",
              "evidenceIds": [
                "langdock:langdock:desktop-product"
              ]
            },
            {
              "id": "mobile_apps",
              "question": "iOS and Android apps with SSO?",
              "support": "partial",
              "answer": "The vendor publishes iOS/Android clients and official store links. Mobile-specific SSO and managed-access compatibility were not independently tested.",
              "evidenceIds": [
                "langdock:langdock:mobile-rev2",
                "langdock:langdock:mobile-product"
              ]
            },
            {
              "id": "browser_extension",
              "question": "Is there a browser extension or sidebar?",
              "support": "unknown",
              "answer": "Is there a browser extension or sidebar? Unknown. A general browser extension and exhaustive mobile/SSO/Intune parity matrix were not established.",
              "evidenceIds": []
            },
            {
              "id": "managed_deployment",
              "question": "Can IT deploy and configure clients through MDM?",
              "support": "partial",
              "answer": "Windows machine-wide MSIX/Intune and deployment kits are documented. macOS PKG/DMG works with Jamf, Kandji and Intune. These are client installation methods; separate mobile MAM/dedicated entitlements are not established by this finding.",
              "evidenceIds": [
                "langdock:langdock:desktop-rev2"
              ]
            },
            {
              "id": "client_feature_gaps",
              "question": "Which features are missing on mobile?",
              "support": "partial",
              "answer": "Mobile permits five files per message versus 50 on web; other parity gaps were not tested.",
              "evidenceIds": [
                "langdock:langdock:file-count"
              ]
            }
          ],
          "limitations": [
            "Native-client and SSO parity beyond the documented file limit was not tested. The source is installation guidance, not proof of a paid Enterprise-only client entitlement."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:terms",
            "langdock:langdock:desktop-product",
            "langdock:langdock:mobile-rev2",
            "langdock:langdock:mobile-product",
            "langdock:langdock:desktop-rev2",
            "langdock:langdock:file-count"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:WORK-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "The main deployment is a responsive browser client. Native clients, MDM and a supported sidebar extension were not verified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "web",
              "question": "Is a full web client available?",
              "support": "supported",
              "answer": "A Docker/npm deployment serves a browser application at the configured server URL.",
              "evidenceIds": [
                "librechat:librechat:firstchat",
                "librechat:librechat:local"
              ]
            },
            {
              "id": "desktop_apps",
              "question": "Windows and macOS apps?",
              "support": "unknown",
              "answer": "desktop_apps: Windows and macOS apps? The self-host installation and client docs did not establish native Windows/macOS apps, a first-party browser extension or Intune/MDM configuration.",
              "evidenceIds": []
            },
            {
              "id": "mobile_apps",
              "question": "iOS and Android apps with SSO?",
              "support": "partial",
              "answer": "Docs describe mobile navigation and temporary-chat controls in the web UI. No native iOS/Android client with company SSO was established.",
              "evidenceIds": [
                "librechat:librechat:retention",
                "librechat:librechat:insights"
              ]
            },
            {
              "id": "browser_extension",
              "question": "Is there a browser extension or sidebar?",
              "support": "unknown",
              "answer": "browser_extension: Is there a browser extension or sidebar? The self-host installation and client docs did not establish native Windows/macOS apps, a first-party browser extension or Intune/MDM configuration.",
              "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? The self-host installation and client docs did not establish native Windows/macOS apps, a first-party browser extension or Intune/MDM configuration.",
              "evidenceIds": []
            },
            {
              "id": "client_feature_gaps",
              "question": "Which features are missing on mobile?",
              "support": "partial",
              "answer": "Desktop/mobile layouts expose different navigation controls; no comprehensive parity matrix was tested.",
              "evidenceIds": [
                "librechat:librechat:retention",
                "librechat:librechat:insights"
              ]
            }
          ],
          "limitations": [
            "desktop_apps: Windows and macOS apps? The self-host installation and client docs did not establish native Windows/macOS apps, a first-party browser extension or Intune/MDM configuration.",
            "mobile_apps: Docs describe mobile navigation and temporary-chat controls in the web UI. No native iOS/Android client with company SSO was established.",
            "browser_extension: Is there a browser extension or sidebar? The self-host installation and client docs did not establish native Windows/macOS apps, a first-party browser extension or Intune/MDM configuration.",
            "managed_deployment: Can IT deploy and configure clients through MDM? The self-host installation and client docs did not establish native Windows/macOS apps, a first-party browser extension or Intune/MDM configuration.",
            "client_feature_gaps: Desktop/mobile layouts expose different navigation controls; no comprehensive parity matrix was tested."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:firstchat",
            "librechat:librechat:local",
            "librechat:librechat:retention",
            "librechat:librechat:insights"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:WORK-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Excel and Outlook add-ins and a Teams bot are documented; broad Office-suite coverage is not inferred.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "office",
              "teams"
            ],
            "version": "Public documentation checked 2026-10-26",
            "plan": "Business or Enterprise workspace; Outlook available on paid plans/trials, Excel/Teams require workspace-admin enablement",
            "addOns": [
              "Compatible Microsoft licences not priced"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "office",
                "name": "Langdock Excel and Outlook add-ins",
                "type": "office-add-in"
              },
              {
                "id": "teams",
                "name": "Langdock Teams bot",
                "type": "teams-app"
              }
            ]
          },
          "questions": [
            {
              "id": "word_excel_powerpoint",
              "question": "Does it work inside Word, Excel and PowerPoint?",
              "support": "partial",
              "answer": "Excel add-in reads/writes workbooks with formulas/charts; no Word or PowerPoint add-in was established.",
              "evidenceIds": [
                "langdock:langdock:excel"
              ]
            },
            {
              "id": "outlook",
              "question": "Does it work inside Outlook?",
              "support": "supported",
              "answer": "Outlook reads connected mailbox/calendar and edits drafts; sending requires a requested action and confirmation. Exchange Online is required.",
              "evidenceIds": [
                "langdock:langdock:outlook-rev2",
                "langdock:langdock:outlook-marketplace"
              ]
            },
            {
              "id": "teams",
              "question": "Is there a Teams app or bot?",
              "support": "supported",
              "answer": "Admin-installed Teams bot supports private chat and collaborative channel mentions.",
              "evidenceIds": [
                "langdock:langdock:teams",
                "langdock:langdock:teams-20261026"
              ]
            },
            {
              "id": "google_workspace_apps",
              "question": "Does it work inside Docs, Sheets or Gmail?",
              "support": "unknown",
              "answer": "Does it work inside Docs, Sheets or Gmail? Unknown. Google in-editor apps were not established; Google content integrations are recorded separately. Rechecked 2026-10-26 in Outlook Add-in, Excel Add-in, How to use the Teams Bot. The Teams Markdown guide was retrieved with HTTP 200; Google in-editor app coverage remains undocumented in these sources.",
              "evidenceIds": []
            },
            {
              "id": "licence_prerequisites",
              "question": "Which licences or consents are needed?",
              "support": "partial",
              "answer": "Excel web/Windows/Mac version matrix and Outlook Exchange Online requirement are explicit; workspace admin access controls apply and extra M365 seat costs were not priced.",
              "evidenceIds": [
                "langdock:langdock:excel",
                "langdock:langdock:outlook-rev2",
                "langdock:langdock:teams",
                "langdock:langdock:outlook-marketplace",
                "langdock:langdock:teams-20261026"
              ]
            }
          ],
          "limitations": [
            "word_excel_powerpoint: Excel add-in reads/writes workbooks with formulas/charts; no Word or PowerPoint add-in was established.",
            "licence_prerequisites: Excel web/Windows/Mac version matrix and Outlook Exchange Online requirement are explicit; workspace admin access controls apply and extra M365 seat costs were not priced.",
            "Unverified google_workspace_apps: Google in-editor apps were not established; Google content integrations are recorded separately."
          ],
          "checkedAt": "2026-10-26",
          "crossCheckedAt": "2026-10-26",
          "nextCheckAt": "2026-12-25",
          "evidenceIds": [
            "langdock:langdock:excel",
            "langdock:langdock:outlook-rev2",
            "langdock:langdock:outlook-marketplace",
            "langdock:langdock:teams",
            "langdock:langdock:outlook-rev2-20261026",
            "langdock:langdock:outlook-admin-20261026",
            "langdock:langdock:pricing-20261026",
            "langdock:langdock:excel-20261026",
            "langdock:langdock:teams-20261026"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat: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": "langdock",
          "claimId": "langdock:WORK-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "DeepL integration offers document translation and glossaries; end-to-end layout quality is untested.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "document_translation",
              "question": "Can whole documents be translated with formatting kept?",
              "support": "partial",
              "answer": "Native DeepL integration lists document translation; its supported layout guarantees were not verified in a trial.",
              "evidenceIds": [
                "langdock:langdock:integrations"
              ]
            },
            {
              "id": "translation_engine",
              "question": "Which engine translates?",
              "support": "supported",
              "answer": "The dedicated DeepL integration uses the customer DeepL API key; ordinary chat rewriting uses the chosen model.",
              "evidenceIds": [
                "langdock:langdock:integrations"
              ]
            },
            {
              "id": "glossaries",
              "question": "Are company glossaries supported?",
              "support": "partial",
              "answer": "DeepL integration lists glossary management; full enterprise glossary rollout was not tested.",
              "evidenceIds": [
                "langdock:langdock:integrations"
              ]
            },
            {
              "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? Unknown. Formality/de-CH configuration and DE-to-FR/IT layout-preservation fixtures remain unverified.",
              "evidenceIds": []
            },
            {
              "id": "writing_tools",
              "question": "Are dedicated rewrite and proofreading tools available?",
              "support": "supported",
              "answer": "DeepL integration includes writing polish; Document Editor supports selected-text and whole-document AI edits.",
              "evidenceIds": [
                "langdock:langdock:integrations",
                "langdock:langdock:editor"
              ]
            }
          ],
          "limitations": [
            "document_translation: Native DeepL integration lists document translation; its supported layout guarantees were not verified in a trial.",
            "glossaries: DeepL integration lists glossary management; full enterprise glossary rollout was not tested.",
            "Unverified formality_and_variants: Formality/de-CH configuration and DE-to-FR/IT layout-preservation fixtures remain unverified."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:integrations",
            "langdock:langdock:editor"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:WORK-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": []
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:WORK-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Image generation and model-specific editing are documented with workspace controls.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "image_generation",
              "question": "Can users generate images, with which models?",
              "support": "partial",
              "answer": "Image-generation tool invokes a chosen available image model; dated September release names EU GPT-Image 2.5 Flare and Sunburst.",
              "evidenceIds": [
                "langdock:langdock:images",
                "langdock:langdock:changes"
              ]
            },
            {
              "id": "image_editing",
              "question": "Can users edit uploaded images?",
              "support": "partial",
              "answer": "The release describes image editing and BYOK model setup has an image-editing capability flag; exhaustive per-model editing limits were not verified.",
              "evidenceIds": [
                "langdock:langdock:changes",
                "langdock:langdock:byok-models"
              ]
            },
            {
              "id": "admin_control",
              "question": "Can admins restrict image generation?",
              "support": "supported",
              "answer": "Workspace admins can disable image generation and manage available models.",
              "evidenceIds": [
                "langdock:langdock:workspace"
              ]
            },
            {
              "id": "usage_terms",
              "question": "What usage rights apply to output?",
              "support": "partial",
              "answer": "As between customer/vendor, customer content rights belong to the customer; third-party model terms and rights restrictions remain applicable.",
              "evidenceIds": [
                "langdock:langdock:terms"
              ]
            }
          ],
          "limitations": [
            "image_generation: Image-generation tool invokes a chosen available image model; dated September release names EU GPT-Image 2.5 Flare and Sunburst.",
            "image_editing: The release describes image editing and BYOK model setup has an image-editing capability flag; exhaustive per-model editing limits were not verified.",
            "usage_terms: As between customer/vendor, customer content rights belong to the customer; third-party model terms and rights restrictions remain applicable."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:images",
            "langdock:langdock:changes",
            "langdock:langdock:byok-models",
            "langdock:langdock:workspace",
            "langdock:langdock:terms"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:WORK-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Configured Agent image tools generate and edit images; model service rights/costs remain separate.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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 Image Tools and additional documented provider tools attach to an Agent; the current guide defaults OpenAI tools to gpt-image-2.5-flare.",
              "evidenceIds": [
                "librechat:librechat:images"
              ]
            },
            {
              "id": "image_editing",
              "question": "Can users edit uploaded images?",
              "support": "supported",
              "answer": "The image guide documents editing/remixing uploaded images using image IDs and compatible tools.",
              "evidenceIds": [
                "librechat:librechat:images"
              ]
            },
            {
              "id": "admin_control",
              "question": "Can admins restrict image generation?",
              "support": "partial",
              "answer": "Operators control tool credentials/configuration and Agent creation/access permissions. A dedicated per-group image-spend switch was not established.",
              "evidenceIds": [
                "librechat:librechat:images",
                "librechat:librechat:access"
              ]
            },
            {
              "id": "usage_terms",
              "question": "What usage rights apply to output?",
              "support": "unknown",
              "answer": "usage_terms: What usage rights apply to output? Generated-output rights and complete per-image cost visibility were not established as a LibreChat software entitlement.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "admin_control: Operators control tool credentials/configuration and Agent creation/access permissions. A dedicated per-group image-spend switch was not established.",
            "usage_terms: What usage rights apply to output? Generated-output rights and complete per-image cost visibility were not established as a LibreChat software entitlement."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:images",
            "librechat:librechat:access"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:WORK-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Audio/meeting-source integrations are documented; live voice and Swiss German remain unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "dictation",
              "question": "Can users dictate prompts?",
              "support": "unknown",
              "answer": "Can users dictate prompts? Unknown. Dictation, native live voice, audio processing-region mapping and Swiss German recognition were not established in the user guide or client pages.",
              "evidenceIds": []
            },
            {
              "id": "read_aloud",
              "question": "Can answers be read aloud?",
              "support": "partial",
              "answer": "ElevenLabs integration offers text-to-speech using a customer API key; this is not a guaranteed native read-aloud control.",
              "evidenceIds": [
                "langdock:langdock:integrations"
              ]
            },
            {
              "id": "voice_conversation",
              "question": "Is a live voice mode available?",
              "support": "unknown",
              "answer": "Is a live voice mode available? Unknown. Dictation, native live voice, audio processing-region mapping and Swiss German recognition were not established in the user guide or client pages.",
              "evidenceIds": []
            },
            {
              "id": "meeting_summaries",
              "question": "Are meetings transcribed and summarised?",
              "support": "partial",
              "answer": "Google Meet/Zoom and ElevenLabs integrations can retrieve transcripts; source recordings and processing depend on the connected service. No native meeting-bot transcription fixture was run.",
              "evidenceIds": [
                "langdock:langdock:integrations"
              ]
            },
            {
              "id": "swiss_german_speech",
              "question": "Is Swiss German speech recognised?",
              "support": "unknown",
              "answer": "Is Swiss German speech recognised? Unknown. Dictation, native live voice, audio processing-region mapping and Swiss German recognition were not established in the user guide or client pages.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "read_aloud: ElevenLabs integration offers text-to-speech using a customer API key; this is not a guaranteed native read-aloud control.",
            "meeting_summaries: Google Meet/Zoom and ElevenLabs integrations can retrieve transcripts; source recordings and processing depend on the connected service. No native meeting-bot transcription fixture was run.",
            "Unverified dictation, voice_conversation, swiss_german_speech: Dictation, native live voice, audio processing-region mapping and Swiss German recognition were not established in the user guide or client pages."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:integrations"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:WORK-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "LibreChat documents STT, TTS and a hands-free conversation mode that chains them. Real-time speech-to-speech behavior, meeting outcomes and Swiss German recognition remain unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Current self-hosted LibreChat Speech Settings documentation retrieved 2026-10-21; no voice-latency or dialect fixture performed",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [
              "Optional configured STT/TTS engines and provider credentials; self-hosted speech services need allowedAddresses"
            ],
            "deploymentMode": "on-premise",
            "region": "Customer-selected app infrastructure; audio processing depends on browser or configured external/self-hosted speech engines, with no universal region verified",
            "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": "Speech configuration provides STT for audio input.",
              "evidenceIds": [
                "librechat:librechat:speech"
              ]
            },
            {
              "id": "read_aloud",
              "question": "Can answers be read aloud?",
              "support": "supported",
              "answer": "Speech configuration provides TTS for model responses.",
              "evidenceIds": [
                "librechat:librechat:speech"
              ]
            },
            {
              "id": "voice_conversation",
              "question": "Is a live voice mode available?",
              "support": "partial",
              "answer": "speechTab.conversationMode chains STT and TTS for hands-free turns: autoSendText sends the transcript after a configured delay, and automaticPlayback reads a completed response. Microphone recording is initially started by the user. Real-time speech-to-speech, interruption behavior and end-to-end latency were not tested.",
              "evidenceIds": [
                "librechat:librechat:speech-conversation-r2"
              ]
            },
            {
              "id": "meeting_summaries",
              "question": "Are meetings transcribed and summarised?",
              "support": "unknown",
              "answer": "No meeting capture/integration, speaker diarization or meeting-summary fixture was verified in the reviewed speech documentation.",
              "evidenceIds": []
            },
            {
              "id": "swiss_german_speech",
              "question": "Is Swiss German speech recognised?",
              "support": "unknown",
              "answer": "Swiss German recognition and transcript quality were not tested; a language setting does not establish dialect accuracy.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Conversation mode is a chain of transcription, text generation and playback; real-time audio-to-audio behavior, interruption and latency were not verified.",
            "Audio location depends on the chosen engine. No meeting or Swiss German fixture was run."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:speech",
            "librechat:librechat:speech-conversation-r2"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:WORK-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "File analysis, charts and editable document generation are documented; execution-location detail is incomplete.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "data_analysis",
              "question": "Can it analyse spreadsheets with executed code?",
              "support": "partial",
              "answer": "The data-analysis guide documents spreadsheet metrics/calculations; exact executed-code sandbox/model configuration was not verified.",
              "evidenceIds": [
                "langdock:langdock:analysis"
              ]
            },
            {
              "id": "charts",
              "question": "Can it produce charts?",
              "support": "supported",
              "answer": "Charts and downloadable chart images are supported in the guide.",
              "evidenceIds": [
                "langdock:langdock:analysis"
              ]
            },
            {
              "id": "office_file_output",
              "question": "Can it create Word, Excel or PowerPoint files?",
              "support": "supported",
              "answer": "Analysis lists Excel/CSV/Word/PDF/JSON; changelog and agent file templates also describe PowerPoint.",
              "evidenceIds": [
                "langdock:langdock:analysis",
                "langdock:langdock:changes"
              ]
            },
            {
              "id": "canvas_editing",
              "question": "Is there a document or canvas editor for iterating on output?",
              "support": "partial",
              "answer": "Document Editor replaces Canvas; it exports Markdown/Word/PDF but cannot directly edit imported Word/PDF files.",
              "evidenceIds": [
                "langdock:langdock:editor"
              ]
            }
          ],
          "limitations": [
            "data_analysis: The data-analysis guide documents spreadsheet metrics/calculations; exact executed-code sandbox/model configuration was not verified.",
            "canvas_editing: Document Editor replaces Canvas; it exports Markdown/Word/PDF but cannot directly edit imported Word/PDF files."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:analysis",
            "langdock:langdock:changes",
            "langdock:langdock:editor"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:WORK-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "The separate Code Interpreter runs analysis and produces downloadable files; artifacts provide code/HTML/diagram previews.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [
              "Separately operated compatible Code Interpreter service",
              "Experimental stateful workspaces only if explicitly configured"
            ],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "Configured Code Interpreter executes programs against uploaded files in its separate sandbox.",
              "evidenceIds": [
                "librechat:librechat:code"
              ]
            },
            {
              "id": "charts",
              "question": "Can it produce charts?",
              "support": "partial",
              "answer": "Code execution and generated-file downloads support chart artifacts, but the shared spreadsheet/chart fixture was not run.",
              "evidenceIds": [
                "librechat:librechat:code"
              ]
            },
            {
              "id": "office_file_output",
              "question": "Can it create Word, Excel or PowerPoint files?",
              "support": "partial",
              "answer": "Generated files are downloadable; editable Word/Excel/PowerPoint fidelity was not established with a fixture.",
              "evidenceIds": [
                "librechat:librechat:code"
              ]
            },
            {
              "id": "canvas_editing",
              "question": "Is there a document or canvas editor for iterating on output?",
              "support": "partial",
              "answer": "Artifacts render React/HTML/Mermaid content and source; a rich Office document editor was not established.",
              "evidenceIds": [
                "librechat:librechat:artifacts"
              ]
            }
          ],
          "limitations": [
            "charts: Code execution and generated-file downloads support chart artifacts, but the shared spreadsheet/chart fixture was not run.",
            "office_file_output: Generated files are downloadable; editable Word/Excel/PowerPoint fidelity was not established with a fixture.",
            "canvas_editing: Artifacts render React/HTML/Mermaid content and source; a rich Office document editor was not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:code",
            "librechat:librechat:artifacts"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:WORK-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Shared projects expose chats/files, and Teams channels support group interaction.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "teams"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business/Enterprise workspace sharing; Teams bot requires workspace-admin setup and Microsoft tenant installation",
            "addOns": [
              "Microsoft Teams access; bot installed and permitted by tenant admin"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              },
              {
                "id": "teams",
                "name": "Langdock Teams bot",
                "type": "teams-app"
              }
            ]
          },
          "questions": [
            {
              "id": "share_chats",
              "question": "Can chats be shared inside the organisation?",
              "support": "supported",
              "answer": "Workspace chat-link sharing is managed under account shared chats.",
              "evidenceIds": [
                "langdock:langdock:account"
              ]
            },
            {
              "id": "team_spaces",
              "question": "Are shared projects or workspaces available?",
              "support": "supported",
              "answer": "Projects shared with users/groups include all current and future project chats, files and instructions; cannot share a project to the whole workspace.",
              "evidenceIds": [
                "langdock:langdock:projects"
              ]
            },
            {
              "id": "group_chat",
              "question": "Can several people chat together with the AI?",
              "support": "supported",
              "answer": "Teams channel threads allow several people to participate with @Langdock.",
              "evidenceIds": [
                "langdock:langdock:teams"
              ]
            },
            {
              "id": "share_permission_boundary",
              "question": "Does sharing respect the recipient's access to sources?",
              "support": "unknown",
              "answer": "Does sharing respect the recipient's access to sources? Unknown. No cross-group source-boundary sharing fixture was run; project sharing does not by itself prove permission-safe redistribution of generated answers.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Unverified share_permission_boundary: No cross-group source-boundary sharing fixture was run; project sharing does not by itself prove permission-safe redistribution of generated answers."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:account",
            "langdock:langdock:projects",
            "langdock:langdock:teams"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:WORK-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Shared chat links publish transcript snapshots and optional files. Projects are personal, and shared source permission boundaries need care.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "Authenticated shared links are supported, with optional public viewing; public unauthenticated access is off by default.",
              "evidenceIds": [
                "librechat:librechat:share"
              ]
            },
            {
              "id": "team_spaces",
              "question": "Are shared projects or workspaces available?",
              "support": "unsupported",
              "answer": "Projects specifically cannot be shared or transferred and are personal to the creator. Shared Agents/resources are a separate capability.",
              "evidenceIds": [
                "librechat:librechat:projects"
              ]
            },
            {
              "id": "group_chat",
              "question": "Can several people chat together with the AI?",
              "support": "unknown",
              "answer": "group_chat: Can several people chat together with the AI? Simultaneous multi-person AI group chat was not established from Projects and shareable-link documentation; link continuation creates a separate personal copy.",
              "evidenceIds": []
            },
            {
              "id": "share_permission_boundary",
              "question": "Does sharing respect the recipient's access to sources?",
              "support": "partial",
              "answer": "Published file snapshots are served independently of the owner’s live file ACL. Sharing grants access to the published copy, not continuing source-system authorization; no restricted-source fixture was run.",
              "evidenceIds": [
                "librechat:librechat:share"
              ]
            }
          ],
          "limitations": [
            "group_chat: Can several people chat together with the AI? Simultaneous multi-person AI group chat was not established from Projects and shareable-link documentation; link continuation creates a separate personal copy.",
            "share_permission_boundary: Published file snapshots are served independently of the owner’s live file ACL. Sharing grants access to the published copy, not continuing source-system authorization; no restricted-source fixture was run."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:share",
            "librechat:librechat:projects"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:WORK-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Five interface languages are documented; quality and accessibility have not been audited.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "ui_languages",
              "question": "Which UI languages are offered?",
              "support": "supported",
              "answer": "English, German, Spanish, French and Italian are listed in Account Preferences.",
              "evidenceIds": [
                "langdock:langdock:account"
              ]
            },
            {
              "id": "dach_language_quality",
              "question": "Are German, French and Italian UIs complete and natural?",
              "support": "unknown",
              "answer": "Are German, French and Italian UIs complete and natural? Unknown. No authenticated language-quality/admin-translation inspection or WCAG conformance report was established.",
              "evidenceIds": []
            },
            {
              "id": "accessibility_statement",
              "question": "Is there a WCAG conformance statement?",
              "support": "unknown",
              "answer": "Is there a WCAG conformance statement? Unknown. No authenticated language-quality/admin-translation inspection or WCAG conformance report was established.",
              "evidenceIds": []
            },
            {
              "id": "admin_ui_languages",
              "question": "Is the admin interface available in German?",
              "support": "unknown",
              "answer": "Is the admin interface available in German? Unknown. No authenticated language-quality/admin-translation inspection or WCAG conformance report was established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Unverified dach_language_quality, accessibility_statement, admin_ui_languages: No authenticated language-quality/admin-translation inspection or WCAG conformance report was established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:account"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:WORK-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "English, German, French and Italian UI resources are registered in the pinned client; quality and accessibility conformance were not evaluated.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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 client i18n implementation registers en, de, fr and it among community-maintained translations.",
              "evidenceIds": [
                "librechat:librechat: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? No complete DE/FR/IT walkthrough, German separate-admin-panel coverage test or WCAG conformance statement/report was verified.",
              "evidenceIds": []
            },
            {
              "id": "accessibility_statement",
              "question": "Is there a WCAG conformance statement?",
              "support": "unknown",
              "answer": "accessibility_statement: Is there a WCAG conformance statement? No complete DE/FR/IT walkthrough, German separate-admin-panel coverage test or WCAG conformance statement/report was verified.",
              "evidenceIds": []
            },
            {
              "id": "admin_ui_languages",
              "question": "Is the admin interface available in German?",
              "support": "unknown",
              "answer": "admin_ui_languages: Is the admin interface available in German? No complete DE/FR/IT walkthrough, German separate-admin-panel coverage test or WCAG conformance statement/report was verified.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "dach_language_quality: Are German, French and Italian UIs complete and natural? No complete DE/FR/IT walkthrough, German separate-admin-panel coverage test or WCAG conformance statement/report was verified.",
            "accessibility_statement: Is there a WCAG conformance statement? No complete DE/FR/IT walkthrough, German separate-admin-panel coverage test or WCAG conformance statement/report was verified.",
            "admin_ui_languages: Is the admin interface available in German? No complete DE/FR/IT walkthrough, German separate-admin-panel coverage test or WCAG conformance statement/report was verified."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:i18n-pin"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:ADM-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Business includes SAML SSO and verified domains; MFA relies on the identity provider.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "sso_protocols",
              "question": "Which SSO protocols and identity providers work?",
              "support": "supported",
              "answer": "SAML 2.0 with Entra ID, Google Workspace and Okta; account docs also name Google/Microsoft SSO.",
              "evidenceIds": [
                "langdock:langdock:saml",
                "langdock:langdock:account"
              ]
            },
            {
              "id": "sso_plan",
              "question": "Which plan includes SSO?",
              "support": "supported",
              "answer": "Business up to 1000 users includes SSO, SCIM and SAML.",
              "evidenceIds": [
                "langdock:langdock:billing"
              ]
            },
            {
              "id": "mfa",
              "question": "Can MFA be enforced?",
              "support": "partial",
              "answer": "No standalone Langdock MFA; SAML identity provider enforces MFA.",
              "evidenceIds": [
                "langdock:langdock:saml"
              ]
            },
            {
              "id": "conditional_access",
              "question": "Do Entra conditional-access policies apply?",
              "support": "unknown",
              "answer": "Do Entra conditional-access policies apply? Unknown. OIDC/LDAP enterprise options and a tested Entra Conditional Access compatibility matrix were not established.",
              "evidenceIds": []
            },
            {
              "id": "domain_capture",
              "question": "Can the company claim its email domain?",
              "support": "supported",
              "answer": "Join by domain and verified email domains are prerequisites for SAML; SAML remains required on those verified domains.",
              "evidenceIds": [
                "langdock:langdock:saml"
              ]
            }
          ],
          "limitations": [
            "mfa: No standalone Langdock MFA; SAML identity provider enforces MFA.",
            "Unverified conditional_access: OIDC/LDAP enterprise options and a tested Entra Conditional Access compatibility matrix were not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:saml",
            "langdock:langdock:account",
            "langdock:langdock:billing"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:ADM-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Self-hosted authentication supports OAuth/OIDC, SAML and LDAP; local/LDAP TOTP can be enforced.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "OIDC/OAuth providers include Entra, Google, Keycloak and Auth0; SAML and LDAP are documented separately.",
              "evidenceIds": [
                "librechat:librechat:openid",
                "librechat:librechat:saml",
                "librechat:librechat:auth"
              ]
            },
            {
              "id": "sso_plan",
              "question": "Which plan includes SSO?",
              "support": "supported",
              "answer": "The authentication configuration belongs to the MIT self-hosted project, with no separate SSO licence tariff.",
              "evidenceIds": [
                "librechat:librechat:license",
                "librechat:librechat:auth"
              ]
            },
            {
              "id": "mfa",
              "question": "Can MFA be enforced?",
              "support": "supported",
              "answer": "ENFORCE_TWO_FACTOR_AUTHENTICATION requires local/LDAP enrollment and prevents disabling it; federated accounts depend on IdP MFA.",
              "evidenceIds": [
                "librechat:librechat:auth"
              ]
            },
            {
              "id": "conditional_access",
              "question": "Do Entra conditional-access policies apply?",
              "support": "partial",
              "answer": "Entra authentication and token reuse are documented, but an actual conditional-access/device-policy login was not tested.",
              "evidenceIds": [
                "librechat:librechat:entra"
              ]
            },
            {
              "id": "domain_capture",
              "question": "Can the company claim its email domain?",
              "support": "unknown",
              "answer": "domain_capture: Can the company claim its email domain? Registration/domain filters were not established as a tenant-wide company-domain ownership claim.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "conditional_access: Entra authentication and token reuse are documented, but an actual conditional-access/device-policy login was not tested.",
            "domain_capture: Can the company claim its email domain? Registration/domain filters were not established as a tenant-wide company-domain ownership claim."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:openid",
            "librechat:librechat:saml",
            "librechat:librechat:auth",
            "librechat:librechat:license",
            "librechat:librechat:entra"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:ADM-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "SCIM synchronizes users/groups and preserves functioning ownerless agents.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "scim",
              "question": "Is SCIM provisioning supported?",
              "support": "supported",
              "answer": "SCIM 2.0 via Entra, with prior SAML and verified domains.",
              "evidenceIds": [
                "langdock:langdock:scim"
              ]
            },
            {
              "id": "group_sync",
              "question": "Are identity-provider groups synced?",
              "support": "supported",
              "answer": "Entra SCIM group sync is documented and can be disabled; default group roles are separately configurable.",
              "evidenceIds": [
                "langdock:langdock:scim-entra",
                "langdock:langdock:workspace"
              ]
            },
            {
              "id": "jit_provisioning",
              "question": "Are users created at first login?",
              "support": "unknown",
              "answer": "Are users created at first login? Unknown. Just-in-time first-login provisioning and complete user-chat/knowledge ownership effects were not tested or fully specified.",
              "evidenceIds": []
            },
            {
              "id": "deprovisioning",
              "question": "What happens to a removed user's data and shared assets?",
              "support": "partial",
              "answer": "Entra Update removes unassigned/blocked/soft-deleted memberships when enabled. Agents become unassigned, continue to work and need a new owner before editing; sync-folder owner removal can interrupt refresh.",
              "evidenceIds": [
                "langdock:langdock:scim-entra",
                "langdock:langdock:leaver",
                "langdock:langdock:sync"
              ]
            },
            {
              "id": "seat_assignment",
              "question": "Can admins assign and reclaim seats?",
              "support": "partial",
              "answer": "Admins assign roles/plans in member management; exact reclaimed-seat billing rules depend on subscription.",
              "evidenceIds": [
                "langdock:langdock:workspace"
              ]
            }
          ],
          "limitations": [
            "deprovisioning: Entra Update removes unassigned/blocked/soft-deleted memberships when enabled. Agents become unassigned, continue to work and need a new owner before editing; sync-folder owner removal can interrupt refresh.",
            "seat_assignment: Admins assign roles/plans in member management; exact reclaimed-seat billing rules depend on subscription.",
            "Unverified jit_provisioning: Just-in-time first-login provisioning and complete user-chat/knowledge ownership effects were not tested or fully specified."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:scim",
            "langdock:langdock:scim-entra",
            "langdock:langdock:workspace",
            "langdock:langdock:leaver",
            "langdock:langdock:sync"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:ADM-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Entra group synchronization and federated account creation are documented; SCIM and leaver content transfer remain unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "unknown",
              "answer": "scim: Is SCIM provisioning supported? SCIM was not established in the authentication/access docs or pinned repository path review. No two-user deprovisioning fixture was run.",
              "evidenceIds": []
            },
            {
              "id": "group_sync",
              "question": "Are identity-provider groups synced?",
              "support": "supported",
              "answer": "With Entra OIDC token reuse, Graph groups sync at login; resource ACL principal membership has a documented cache.",
              "evidenceIds": [
                "librechat:librechat:access",
                "librechat:librechat:entra"
              ]
            },
            {
              "id": "jit_provisioning",
              "question": "Are users created at first login?",
              "support": "supported",
              "answer": "Federated login creates accounts according to the authentication configuration; OpenID/SAML registration cannot be independently disabled.",
              "evidenceIds": [
                "librechat:librechat:auth"
              ]
            },
            {
              "id": "deprovisioning",
              "question": "What happens to a removed user's data and shared assets?",
              "support": "partial",
              "answer": "The docs provide user deletion scripts, but content ownership transfer and revocation behavior were not fixture-tested.",
              "evidenceIds": [
                "librechat:librechat:auth"
              ]
            },
            {
              "id": "seat_assignment",
              "question": "Can admins assign and reclaim seats?",
              "support": "partial",
              "answer": "Operators manage accounts/roles under an MIT licence; there is no per-seat licence entitlement in the scoped source.",
              "evidenceIds": [
                "librechat:librechat:auth",
                "librechat:librechat:license"
              ]
            }
          ],
          "limitations": [
            "scim: Is SCIM provisioning supported? SCIM was not established in the authentication/access docs or pinned repository path review. No two-user deprovisioning fixture was run.",
            "deprovisioning: The docs provide user deletion scripts, but content ownership transfer and revocation behavior were not fixture-tested.",
            "seat_assignment: Operators manage accounts/roles under an MIT licence; there is no per-seat licence entitlement in the scoped source."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:access",
            "librechat:librechat:entra",
            "librechat:librechat:auth",
            "librechat:librechat:license"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:ADM-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "System/custom roles and delegated groups govern product and action permissions.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "admin_roles",
              "question": "Which admin roles exist, and can admin rights be delegated?",
              "support": "supported",
              "answer": "Member, Editor, Admin, up to five custom roles and extra permissions; group admins are separate from workspace admins.",
              "evidenceIds": [
                "langdock:langdock:roles"
              ]
            },
            {
              "id": "groups",
              "question": "Can permissions be set per group?",
              "support": "supported",
              "answer": "Groups can be SCIM-synced, admin-created or user-created if allowed; group rights and resources are distinct from system roles.",
              "evidenceIds": [
                "langdock:langdock:workspace"
              ]
            },
            {
              "id": "feature_toggles",
              "question": "Which features can be switched on or off per group?",
              "support": "partial",
              "answer": "Role permissions plus integration/action sharing can target people/groups. Global chat/agent capabilities include search, images and file work; universal per-group toggle parity was not established.",
              "evidenceIds": [
                "langdock:langdock:roles",
                "langdock:langdock:actions",
                "langdock:langdock:workspace"
              ]
            },
            {
              "id": "multi_entity",
              "question": "Can subsidiaries or departments be separated within one contract?",
              "support": "unknown",
              "answer": "Can subsidiaries or departments be separated within one contract? Unknown. Subsidiary/contract-level isolation beyond group and workspace boundaries was not established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "feature_toggles: Role permissions plus integration/action sharing can target people/groups. Global chat/agent capabilities include search, images and file work; universal per-group toggle parity was not established.",
            "Unverified multi_entity: Subsidiary/contract-level isolation beyond group and workspace boundaries was not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:roles",
            "langdock:langdock:workspace",
            "langdock:langdock:actions"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:ADM-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Role permissions, resource ACLs and system grants support granular governance; the separate management UI remains preview.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web",
              "admin-panel-preview"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [
              "Separate Admin Panel preview for GUI management"
            ],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              },
              {
                "id": "admin-panel-preview",
                "name": "Separately deployed LibreChat Admin Panel preview",
                "type": "administration"
              }
            ]
          },
          "questions": [
            {
              "id": "admin_roles",
              "question": "Which admin roles exist, and can admin rights be delegated?",
              "support": "supported",
              "answer": "ADMIN/USER and custom roles exist; capability grants can delegate selected administrative functions without full admin.",
              "evidenceIds": [
                "librechat:librechat:access"
              ]
            },
            {
              "id": "groups",
              "question": "Can permissions be set per group?",
              "support": "supported",
              "answer": "Local and Entra groups can receive ACLs, system grants and configuration overrides.",
              "evidenceIds": [
                "librechat:librechat:access",
                "librechat:librechat:admin"
              ]
            },
            {
              "id": "feature_toggles",
              "question": "Which features can be switched on or off per group?",
              "support": "supported",
              "answer": "Permissions include Agents, MCP, prompts, memory, search, file search/citations and code execution.",
              "evidenceIds": [
                "librechat:librechat:access"
              ]
            },
            {
              "id": "multi_entity",
              "question": "Can subsidiaries or departments be separated within one contract?",
              "support": "partial",
              "answer": "Tenant-scoped API queries and group/configuration boundaries are documented. A commercial multi-entity contract and tested tenant isolation were not established.",
              "evidenceIds": [
                "librechat:librechat:insights",
                "librechat:librechat:access"
              ]
            }
          ],
          "limitations": [
            "Separate admin management UI is preview; the core authorization model is documented as available.",
            "No two-group disabled-feature fixture was run."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:access",
            "librechat:librechat:admin",
            "librechat:librechat:insights"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:ADM-04",
          "verificationStatus": "agent-cross-checked",
          "support": "supported",
          "answer": "Analytics and exports cover adoption and consumption with user-detail controls.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "adoption_dashboard",
              "question": "Is there an adoption dashboard?",
              "support": "supported",
              "answer": "Active users, message trends, agent/group counts and leaderboards are documented.",
              "evidenceIds": [
                "langdock:langdock:workspace"
              ]
            },
            {
              "id": "breakdowns",
              "question": "Can usage be broken down by group, model, feature and assistant?",
              "support": "supported",
              "answer": "Products, models, users, groups, API keys, agents, workflows, projects and add-ins have dashboard/export breakdowns.",
              "evidenceIds": [
                "langdock:langdock:workspace",
                "langdock:langdock:exports"
              ]
            },
            {
              "id": "export",
              "question": "Can usage data be exported?",
              "support": "supported",
              "answer": "CSV and Usage Export API, up to 12 months, one million rows per export and 15-minute generation limit.",
              "evidenceIds": [
                "langdock:langdock:exports"
              ]
            },
            {
              "id": "privacy_modes",
              "question": "Can per-person reporting be limited or pseudonymised?",
              "support": "supported",
              "answer": "User-level data toggle omits listed identifying fields from CSV; whole analytics can be disabled via support.",
              "evidenceIds": [
                "langdock:langdock:exports",
                "langdock:langdock:workspace"
              ]
            }
          ],
          "limitations": [],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:workspace",
            "langdock:langdock:exports"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:ADM-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Optional Insights reports identifiable activity; token transactions and optional tracing are separate sources of usage detail.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "Opt-in Insights reports conversations, unique users, messages, tokens, top users and recent conversations.",
              "evidenceIds": [
                "librechat:librechat:insights"
              ]
            },
            {
              "id": "breakdowns",
              "question": "Can usage be broken down by group, model, feature and assistant?",
              "support": "partial",
              "answer": "Insights supports Agent filtering and user activity; recorded token/context cost details are per model/endpoint. Complete group/feature/assistant exports were not established.",
              "evidenceIds": [
                "librechat:librechat:insights",
                "librechat:librechat:tokens"
              ]
            },
            {
              "id": "export",
              "question": "Can usage data be exported?",
              "support": "unknown",
              "answer": "export: Can usage data be exported? A documented complete admin analytics export and group/cost-centre dataset were not verified.",
              "evidenceIds": []
            },
            {
              "id": "privacy_modes",
              "question": "Can per-person reporting be limited or pseudonymised?",
              "support": "partial",
              "answer": "Insights is off unless enabled and is capability-gated; it can display names, emails and first-message content. Pseudonymized reporting was not established.",
              "evidenceIds": [
                "librechat:librechat:insights"
              ]
            }
          ],
          "limitations": [
            "breakdowns: Insights supports Agent filtering and user activity; recorded token/context cost details are per model/endpoint. Complete group/feature/assistant exports were not established.",
            "export: Can usage data be exported? A documented complete admin analytics export and group/cost-centre dataset were not verified.",
            "privacy_modes: Insights is off unless enabled and is capability-gated; it can display names, emails and first-message content. Pseudonymized reporting was not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:insights",
            "librechat:librechat:tokens"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:ADM-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Chat/BYOK, workspace API and workflows have separate spend controls.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "cost_visibility",
              "question": "Can admins see cost or consumption per user and group?",
              "support": "supported",
              "answer": "BYOK analytics show estimated USD from configured custom-model rates; API/extra usage has billed costs. These can differ from provider invoices.",
              "evidenceIds": [
                "langdock:langdock:workspace",
                "langdock:langdock:byok"
              ]
            },
            {
              "id": "budgets",
              "question": "Can budgets be set per user or group?",
              "support": "supported",
              "answer": "Workspace, plan, group, user and agent BYOK limits; personal extra limits; workflow workspace and individual limits.",
              "evidenceIds": [
                "langdock:langdock:byok-limits",
                "langdock:langdock:extra",
                "langdock:langdock:workflow-limits"
              ]
            },
            {
              "id": "budget_enforcement",
              "question": "Does reaching a budget alert, block or downgrade?",
              "support": "partial",
              "answer": "Chat/agents fall back; personal API errors; workflow AI runs stop. Current response overshoot, unpriced models and excluded backbone/workspace API/workflow costs limit a single-budget interpretation.",
              "evidenceIds": [
                "langdock:langdock:extra",
                "langdock:langdock:byok-limits",
                "langdock:langdock:workflow-limits"
              ]
            },
            {
              "id": "chargeback",
              "question": "Can costs be exported per cost centre?",
              "support": "partial",
              "answer": "Usage CSV/API include cost and department/company grouping fields; a full accounting chargeback integration was not established.",
              "evidenceIds": [
                "langdock:langdock:exports"
              ]
            }
          ],
          "limitations": [
            "budget_enforcement: Chat/agents fall back; personal API errors; workflow AI runs stop. Current response overshoot, unpriced models and excluded backbone/workspace API/workflow costs limit a single-budget interpretation.",
            "chargeback: Usage CSV/API include cost and department/company grouping fields; a full accounting chargeback integration was not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:workspace",
            "langdock:langdock:byok",
            "langdock:langdock:byok-limits",
            "langdock:langdock:extra",
            "langdock:langdock:workflow-limits",
            "langdock:langdock:exports"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:ADM-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Optional token-credit balances block admission when insufficient; credit estimates differ from actual cloud invoices.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "Token transactions and configured token prices support per-user/model estimates. Insights explicitly reports activity rather than monetary billing.",
              "evidenceIds": [
                "librechat:librechat:tokens",
                "librechat:librechat:insights"
              ]
            },
            {
              "id": "budgets",
              "question": "Can budgets be set per user or group?",
              "support": "partial",
              "answer": "Optional per-user start balances and automatic refills are documented. Group/cost-centre pooled budgets were not established.",
              "evidenceIds": [
                "librechat:librechat:balance"
              ]
            },
            {
              "id": "budget_enforcement",
              "question": "Does reaching a budget alert, block or downgrade?",
              "support": "supported",
              "answer": "Pinned balance middleware reserves estimated token cost and throws an error if credits cannot be reserved; no low-budget trial was run.",
              "evidenceIds": [
                "librechat:librechat:balance-pin"
              ]
            },
            {
              "id": "chargeback",
              "question": "Can costs be exported per cost centre?",
              "support": "unknown",
              "answer": "chargeback: Can costs be exported per cost centre? Cost-centre chargeback exports and reconciliation to actual vendor invoices were not established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "cost_visibility: Token transactions and configured token prices support per-user/model estimates. Insights explicitly reports activity rather than monetary billing.",
            "budgets: Optional per-user start balances and automatic refills are documented. Group/cost-centre pooled budgets were not established.",
            "chargeback: Can costs be exported per cost centre? Cost-centre chargeback exports and reconciliation to actual vendor invoices were not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:tokens",
            "librechat:librechat:insights",
            "librechat:librechat:balance",
            "librechat:librechat:balance-pin"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:ADM-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Enterprise dedicated deployment documents separate administrative-event and conversation-content export APIs. Cloud content export requires workspace enablement and is outside this dedicated finding.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "api"
            ],
            "version": "Public documentation checked 2026-10-26",
            "plan": "Enterprise dedicated deployment: administrative and resource APIs plus separately enabled Compliance API; Business Cloud outside this finding",
            "addOns": [
              "Dedicated Enterprise deployment and relevant API scopes; Compliance API deployment enablement"
            ],
            "deploymentMode": "dedicated-instance",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              },
              {
                "id": "api",
                "name": "Langdock public APIs and agent MCP server",
                "type": "api"
              }
            ]
          },
          "questions": [
            {
              "id": "admin_events",
              "question": "Are admin and security events logged?",
              "support": "partial",
              "answer": "API logs workspace/model/role/skill/action/workflow changes and failed logins with actor/IP/diff; immutable storage guarantees were not verified.",
              "evidenceIds": [
                "langdock:langdock:audit"
              ]
            },
            {
              "id": "content_logging",
              "question": "Can prompts and answers be retained for compliance, and is it configurable?",
              "support": "partial",
              "answer": "Dedicated deployments serve the Compliance API unless disabled for that deployment. A key with the Compliance API scope is required. Conversation message content and tool inputs/outputs are included only when include_message_content=true and include_action_results=true are both set. On Cloud the scope is hidden and requests return 404 until workspace enablement; Business Cloud entitlement is not inferred.",
              "evidenceIds": [
                "langdock:langdock:compliance-rev2-20261026"
              ]
            },
            {
              "id": "siem_export",
              "question": "Can logs stream to a SIEM or be exported?",
              "support": "supported",
              "answer": "Cursor-paginated event API is documented for SIEM ingestion, under AUDIT_LOG_API scope.",
              "evidenceIds": [
                "langdock:langdock:audit"
              ]
            },
            {
              "id": "ediscovery",
              "question": "Are eDiscovery and legal hold supported?",
              "support": "unknown",
              "answer": "Are eDiscovery and legal hold supported? Unknown. Native legal hold/eDiscovery and audit integrity guarantees were not established. Rechecked 2026-10-26 in Audit Logs API Overview, Export tool parameters and outputs.",
              "evidenceIds": []
            },
            {
              "id": "log_retention",
              "question": "How long are logs kept?",
              "support": "supported",
              "answer": "Administrative audit events have documented90-day retention. Conversation data follows the deployment workspace retention settings. A separate SaaS workflow pricing retention period is not asserted for this dedicated deployment.",
              "evidenceIds": [
                "langdock:langdock:audit",
                "langdock:langdock:workspace",
                "langdock:langdock:pricing"
              ]
            }
          ],
          "limitations": [
            "Audit events, usage rows and conversation-content exports are distinct API functions. The dedicated-deployment behavior is not universal Business Cloud availability."
          ],
          "checkedAt": "2026-10-26",
          "crossCheckedAt": "2026-10-26",
          "nextCheckAt": "2026-12-25",
          "evidenceIds": [
            "langdock:langdock:audit",
            "langdock:langdock:compliance-rev2",
            "langdock:langdock:workspace",
            "langdock:langdock:pricing",
            "langdock:langdock:compliance-rev2-20261026",
            "langdock:langdock:audit-20261026",
            "langdock:langdock:workspace-20261026",
            "langdock:langdock:pricing-20261026"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:ADM-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Operational logs and persisted chats are available; a complete audit retention/integrity or eDiscovery system was not verified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "partial",
              "answer": "Backend logs capture errors/debug activity and can include operational/security actions. A complete immutable admin-event schema was not established.",
              "evidenceIds": [
                "librechat:librechat:logging"
              ]
            },
            {
              "id": "content_logging",
              "question": "Can prompts and answers be retained for compliance, and is it configurable?",
              "support": "partial",
              "answer": "Chats are persisted in MongoDB subject to retention settings; external tracing is optional. This is not a verified compliance archive.",
              "evidenceIds": [
                "librechat:librechat:retention",
                "librechat:librechat:compose-pin"
              ]
            },
            {
              "id": "siem_export",
              "question": "Can logs stream to a SIEM or be exported?",
              "support": "partial",
              "answer": "Operators can feed log files to external systems such as ELK. A native managed SIEM stream and integrity guarantee were not verified.",
              "evidenceIds": [
                "librechat:librechat:logging"
              ]
            },
            {
              "id": "ediscovery",
              "question": "Are eDiscovery and legal hold supported?",
              "support": "unknown",
              "answer": "ediscovery: Are eDiscovery and legal hold supported? No eDiscovery/legal hold, tamper-evident archive or complete prompt/file/connector event coverage was verified.",
              "evidenceIds": []
            },
            {
              "id": "log_retention",
              "question": "How long are logs kept?",
              "support": "partial",
              "answer": "The logging guide describes 14-day rotation. Rotation is not evidence of an enforced legal retention or deletion guarantee across external sinks.",
              "evidenceIds": [
                "librechat:librechat:logging"
              ]
            }
          ],
          "limitations": [
            "admin_events: Backend logs capture errors/debug activity and can include operational/security actions. A complete immutable admin-event schema was not established.",
            "content_logging: Chats are persisted in MongoDB subject to retention settings; external tracing is optional. This is not a verified compliance archive.",
            "siem_export: Operators can feed log files to external systems such as ELK. A native managed SIEM stream and integrity guarantee were not verified.",
            "ediscovery: Are eDiscovery and legal hold supported? No eDiscovery/legal hold, tamper-evident archive or complete prompt/file/connector event coverage was verified.",
            "log_retention: The logging guide describes 14-day rotation. Rotation is not evidence of an enforced legal retention or deletion guarantee across external sinks."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:logging",
            "librechat:librechat:retention",
            "librechat:librechat:compose-pin"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:ADM-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Purview source filtering is documented; generic prompt/file PII redaction remains unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "pii_detection",
              "question": "Is personal data detected in prompts and files?",
              "support": "unknown",
              "answer": "Is personal data detected in prompts and files? Unknown. The full documentation indexes and official PII/redaction search did not establish generic detection, redaction behavior or configurable sensitive-number patterns; no AHV/IBAN fixture was run.",
              "evidenceIds": []
            },
            {
              "id": "pii_action",
              "question": "Is it redacted, masked, blocked or only warned?",
              "support": "unknown",
              "answer": "Is it redacted, masked, blocked or only warned? Unknown. The full documentation indexes and official PII/redaction search did not establish generic detection, redaction behavior or configurable sensitive-number patterns; no AHV/IBAN fixture was run.",
              "evidenceIds": []
            },
            {
              "id": "custom_patterns",
              "question": "Can admins add custom patterns or terms?",
              "support": "unknown",
              "answer": "Can admins add custom patterns or terms? Unknown. The full documentation indexes and official PII/redaction search did not establish generic detection, redaction behavior or configurable sensitive-number patterns; no AHV/IBAN fixture was run.",
              "evidenceIds": []
            },
            {
              "id": "dlp_integration",
              "question": "Does it integrate with an existing DLP product?",
              "support": "partial",
              "answer": "Request-enabled Purview label policy can withhold content before AI access for supported Microsoft integrations, with substantial documented exclusions.",
              "evidenceIds": [
                "langdock:langdock:labels"
              ]
            },
            {
              "id": "filter_location",
              "question": "Where does filtering run?",
              "support": "partial",
              "answer": "The label check runs in Langdock integration code before permitted content reaches the AI; it is not a generic AHV/IBAN detector.",
              "evidenceIds": [
                "langdock:langdock:labels"
              ]
            }
          ],
          "limitations": [
            "dlp_integration: Request-enabled Purview label policy can withhold content before AI access for supported Microsoft integrations, with substantial documented exclusions.",
            "filter_location: The label check runs in Langdock integration code before permitted content reaches the AI; it is not a generic AHV/IBAN detector.",
            "Unverified pii_detection, pii_action, custom_patterns: The full documentation indexes and official PII/redaction search did not establish generic detection, redaction behavior or configurable sensitive-number patterns; no AHV/IBAN fixture was run."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:labels"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:ADM-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Optional server-side content filters support configured pattern detection, blocking and auditing, plus narrowly scoped Agent text redaction. External DLP integration and fixture accuracy remain unknown.",
          "availability": "source-only",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Development source a378657583567310c841d652b0f6b00c83e2bd6b; current Latest (dev) documentation; limited redaction announced in config v1.3.18 on 2026-10-22",
            "plan": "Customer-operated LibreChat; optional base-YAML content policies, disabled unless configured",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "partial",
              "answer": "Configured source-aware policies can inspect selected prompt fields and file names/extracted text/transcripts. Built-in starter rules match credentials; admins must supply additional personal-data patterns. Opaque files may be allowed by default or explicitly blocked. AHV/IBAN and confidential-file detection accuracy were not tested.",
              "evidenceIds": [
                "librechat:librechat:r4-content-filter",
                "librechat:librechat:r4-pii-runtime",
                "librechat:librechat:r4-patterns",
                "librechat:librechat:r4-private-submission",
                "librechat:librechat:r4-filter-middleware"
              ]
            },
            {
              "id": "pii_action",
              "question": "Is it redacted, masked, blocked or only warned?",
              "support": "partial",
              "answer": "Configured matches can block or audit. Redaction transforms only fresh, text-only interactive Agent submissions carrying clientRequestId and a valid CREDS_KEY; edits, resumes, files, quotes and other endpoints retain blocking checks. Original text is encrypted and unindexed, rather than discarded. No running deployment was tested.",
              "evidenceIds": [
                "librechat:librechat:r4-content-filter",
                "librechat:librechat:r4-pii-runtime",
                "librechat:librechat:r4-patterns",
                "librechat:librechat:r4-private-submission",
                "librechat:librechat:r4-filter-middleware"
              ]
            },
            {
              "id": "custom_patterns",
              "question": "Can admins add custom patterns or terms?",
              "support": "supported",
              "answer": "Operators can add labelled custom RE2JS regular expressions in base librechat.yaml, with optional categories. Database/role/group/user overrides cannot modify the policy; all replicas must load matching configuration. Invalid rules are rejected on configuration load.",
              "evidenceIds": [
                "librechat:librechat:r4-content-filter",
                "librechat:librechat:r4-patterns",
                "librechat:librechat:r4-filter-middleware"
              ]
            },
            {
              "id": "dlp_integration",
              "question": "Does it integrate with an existing DLP product?",
              "support": "unknown",
              "answer": "No first-party Purview/Netskope or other external DLP connector was established from the content-filter guide, current public repository tree and targeted official-site search. Configurable local patterns are not evidence of an external enterprise DLP integration.",
              "evidenceIds": []
            },
            {
              "id": "filter_location",
              "question": "Where does filtering run?",
              "support": "supported",
              "answer": "Inspected content-filter middleware and rule evaluation run in the customer-operated LibreChat API backend. Optional extraction/OCR and inference providers remain separate data flows; no named deployment region or traffic path was tested.",
              "evidenceIds": [
                "librechat:librechat:r4-pii-runtime",
                "librechat:librechat:r4-filter-middleware"
              ]
            }
          ],
          "limitations": [
            "Development-source finding; no running instance or AHV/IBAN fixture.",
            "Filtering is opt-in and limited to configured sources/fields. Default patterns cover credential shapes, not every PII class.",
            "Redaction applies only to eligible fresh Agent text; encrypted originals remain stored.",
            "A dedicated external DLP integration remains unverified."
          ],
          "checkedAt": "2026-10-26",
          "crossCheckedAt": "2026-10-26",
          "nextCheckAt": "2026-12-25",
          "evidenceIds": [
            "librechat:librechat:r4-content-filter",
            "librechat:librechat:r4-pii-runtime",
            "librechat:librechat:r4-patterns",
            "librechat:librechat:r4-private-submission",
            "librechat:librechat:r4-filter-middleware",
            "librechat:librechat:r4-config-1318"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:ADM-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Instructions, disclaimers and agent compliance checks exist; prompt-level topic enforcement remains incomplete.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "org_instructions",
              "question": "Can admins set organisation-wide instructions?",
              "support": "partial",
              "answer": "Company description supplies up to 10000 characters in regular chats; agent/project instructions replace that field.",
              "evidenceIds": [
                "langdock:langdock:workspace"
              ]
            },
            {
              "id": "usage_notice",
              "question": "Can users be required to accept a usage policy?",
              "support": "partial",
              "answer": "Admins can set chat/folder disclaimers and custom guidance links; required acceptance is not established.",
              "evidenceIds": [
                "langdock:langdock:workspace"
              ]
            },
            {
              "id": "content_filters",
              "question": "Are content filters configurable?",
              "support": "partial",
              "answer": "Governance rules evaluate agent configurations when created/published, not every prompt; failure can lead to manual flag/disable.",
              "evidenceIds": [
                "langdock:langdock:gov"
              ]
            },
            {
              "id": "violation_reporting",
              "question": "Are policy hits visible to admins?",
              "support": "partial",
              "answer": "Rule severity/results and per-rule failure analytics are visible in Governance; runtime prompt-policy reporting was not established.",
              "evidenceIds": [
                "langdock:langdock:gov"
              ]
            }
          ],
          "limitations": [
            "org_instructions: Company description supplies up to 10000 characters in regular chats; agent/project instructions replace that field.",
            "usage_notice: Admins can set chat/folder disclaimers and custom guidance links; required acceptance is not established.",
            "content_filters: Governance rules evaluate agent configurations when created/published, not every prompt; failure can lead to manual flag/disable.",
            "violation_reporting: Rule severity/results and per-rule failure analytics are visible in Governance; runtime prompt-policy reporting was not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:workspace",
            "langdock:langdock:gov"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:ADM-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Operators can configure prompts and usage terms; abuse moderation is distinct from semantic content-policy enforcement.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "Enforced model-spec presets and Agent instructions can guide behavior; model-followed instructions are not guaranteed policy enforcement.",
              "evidenceIds": [
                "librechat:librechat:modelspec",
                "librechat:librechat:agents"
              ]
            },
            {
              "id": "usage_notice",
              "question": "Can users be required to accept a usage policy?",
              "support": "supported",
              "answer": "Interface configuration includes custom terms of service and acceptance settings.",
              "evidenceIds": [
                "librechat:librechat:interface"
              ]
            },
            {
              "id": "content_filters",
              "question": "Are content filters configurable?",
              "support": "partial",
              "answer": "Automated moderation scores rate/authentication/message abuse and can ban users. Semantic topic or PII policy coverage was not established.",
              "evidenceIds": [
                "librechat:librechat:mod"
              ]
            },
            {
              "id": "violation_reporting",
              "question": "Are policy hits visible to admins?",
              "support": "partial",
              "answer": "Abuse scoring is documented, but a complete organization content-policy violation dashboard and reporting fixture were not established.",
              "evidenceIds": [
                "librechat:librechat:mod"
              ]
            }
          ],
          "limitations": [
            "org_instructions: Enforced model-spec presets and Agent instructions can guide behavior; model-followed instructions are not guaranteed policy enforcement.",
            "content_filters: Automated moderation scores rate/authentication/message abuse and can ban users. Semantic topic or PII policy coverage was not established.",
            "violation_reporting: Abuse scoring is documented, but a complete organization content-policy violation dashboard and reporting fixture were not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:modelspec",
            "librechat:librechat:agents",
            "librechat:librechat:interface",
            "librechat:librechat:mod"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:DATA-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Default Azure Frankfurt/EU storage and provider-specific inference are contractually distinguished.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "storage_region",
              "question": "Where are chats, files and indexes stored?",
              "support": "supported",
              "answer": "Terms Appendix 1 places files, prompts, outputs and embeddings in selected EU Azure data centres; Frankfurt named.",
              "evidenceIds": [
                "langdock:langdock:terms"
              ]
            },
            {
              "id": "inference_region",
              "question": "Where do model calls run, per provider?",
              "support": "supported",
              "answer": "Azure, OpenAI, Google, AWS Bedrock and Mistral have described EU routes. Opt-in Global Azure/Google/AWS/OpenAI routes can infer worldwide, including US; default model enablement is EU only.",
              "evidenceIds": [
                "langdock:langdock:terms",
                "langdock:langdock:dpa",
                "langdock:langdock:workspace"
              ]
            },
            {
              "id": "backups_logs_region",
              "question": "Where are backups, logs and telemetry?",
              "support": "partial",
              "answer": "DPA Appendix 2 places Sentry diagnostic data in EU; full backup/telemetry physical region matrix was not disclosed.",
              "evidenceIds": [
                "langdock:langdock:dpa"
              ]
            },
            {
              "id": "support_access_region",
              "question": "From where can vendor staff access data?",
              "support": "partial",
              "answer": "User-granted Support sharing expires after 72 hours and is unavailable on dedicated deployments; staff access geography is not specified.",
              "evidenceIds": [
                "langdock:langdock:account"
              ]
            },
            {
              "id": "swiss_hosting",
              "question": "Is Swiss hosting available?",
              "support": "partial",
              "answer": "Custom model setup allows CH region on some dedicated deployments, which does not prove end-to-end Swiss platform/support residency.",
              "evidenceIds": [
                "langdock:langdock:byok-models"
              ]
            },
            {
              "id": "residency_plan",
              "question": "Which plan or option provides residency?",
              "support": "supported",
              "answer": "Standard multi-tenant uses EU Azure; global model activation is a controller instruction under DPA section 8.",
              "evidenceIds": [
                "langdock:langdock:security",
                "langdock:langdock:dpa"
              ]
            }
          ],
          "limitations": [
            "backups_logs_region: DPA Appendix 2 places Sentry diagnostic data in EU; full backup/telemetry physical region matrix was not disclosed.",
            "swiss_hosting: Custom model setup allows CH region on some dedicated deployments, which does not prove end-to-end Swiss platform/support residency.",
            "support_access_region: User-granted Support sharing expires after 72 hours and is unavailable on dedicated deployments; staff access geography is not specified."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:terms",
            "langdock:langdock:dpa",
            "langdock:langdock:workspace",
            "langdock:langdock:byok-models",
            "langdock:langdock:account",
            "langdock:langdock:security"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:DATA-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Customer operators choose storage and service locations; external model, OCR, search and code services need separate residency decisions.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "The reference self-hosted stack keeps application data in configured MongoDB/files and retrieval data in PGVector. Its country is chosen by the deployer.",
              "evidenceIds": [
                "librechat:librechat:compose-pin",
                "librechat:librechat:remote"
              ]
            },
            {
              "id": "inference_region",
              "question": "Where do model calls run, per provider?",
              "support": "supported",
              "answer": "Customer-selected cloud endpoints/regions or local endpoints determine inference; hosting LibreChat in Switzerland does not place every external model there.",
              "evidenceIds": [
                "librechat:librechat:custom",
                "librechat:librechat:bedrock",
                "librechat:librechat:vertex"
              ]
            },
            {
              "id": "backups_logs_region",
              "question": "Where are backups, logs and telemetry?",
              "support": "partial",
              "answer": "Logs and mounted data reside in the configured deployment; backup, telemetry and optional tracing geographies depend on operator choices and were not audited.",
              "evidenceIds": [
                "librechat:librechat:logging",
                "librechat:librechat:compose-pin"
              ]
            },
            {
              "id": "support_access_region",
              "question": "From where can vendor staff access data?",
              "support": "unknown",
              "answer": "support_access_region: From where can vendor staff access data? No vendor or integrator support-access country restriction was reviewed for this customer-operated deployment.",
              "evidenceIds": []
            },
            {
              "id": "swiss_hosting",
              "question": "Is Swiss hosting available?",
              "support": "partial",
              "answer": "A customer may run the software on Swiss infrastructure; no bundled Swiss managed inference/support commitment was established.",
              "evidenceIds": [
                "librechat:librechat:remote",
                "librechat:librechat:license"
              ]
            },
            {
              "id": "residency_plan",
              "question": "Which plan or option provides residency?",
              "support": "supported",
              "answer": "Customer-controlled placement is a self-hosted deployment property, not a separately priced residency licence.",
              "evidenceIds": [
                "librechat:librechat:remote",
                "librechat:librechat:license"
              ]
            }
          ],
          "limitations": [
            "backups_logs_region: Logs and mounted data reside in the configured deployment; backup, telemetry and optional tracing geographies depend on operator choices and were not audited.",
            "support_access_region: From where can vendor staff access data? No vendor or integrator support-access country restriction was reviewed for this customer-operated deployment.",
            "swiss_hosting: A customer may run the software on Swiss infrastructure; no bundled Swiss managed inference/support commitment was established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:compose-pin",
            "librechat:librechat:remote",
            "librechat:librechat:custom",
            "librechat:librechat:bedrock",
            "librechat:librechat:vertex",
            "librechat:librechat:logging",
            "librechat:librechat:license"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:DATA-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Deployment minimums differ from Enterprise subscription entry.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Standard SaaS; Enterprise 1000+; managed dedicated 2000+; own cloud/on-premise 5000+",
            "addOns": [
              "Deployment and operations quoted"
            ],
            "deploymentMode": null,
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "multi_tenant_saas",
              "question": "Is a shared SaaS offered?",
              "support": "supported",
              "answer": "Standard multi-tenant SaaS is hosted on Microsoft Azure within EU.",
              "evidenceIds": [
                "langdock:langdock:security"
              ]
            },
            {
              "id": "dedicated_instance",
              "question": "Is a dedicated single-tenant instance offered, from what size?",
              "support": "supported",
              "answer": "Langdock-managed single-tenant SaaS from 2000+ seats.",
              "evidenceIds": [
                "langdock:langdock:security"
              ]
            },
            {
              "id": "customer_cloud",
              "question": "Can it run in the customer's own cloud account, from what size?",
              "support": "partial",
              "answer": "Customer-cloud dedicated deployment from 5000+ seats; detailed operator and feature allocation are contract-specific.",
              "evidenceIds": [
                "langdock:langdock:security"
              ]
            },
            {
              "id": "on_premise",
              "question": "Can the whole platform run on customer infrastructure, from what size?",
              "support": "partial",
              "answer": "Custom Kubernetes via Helm from 5000+ seats; operator split and infrastructure requirements are not public here.",
              "evidenceIds": [
                "langdock:langdock:security"
              ]
            },
            {
              "id": "air_gapped",
              "question": "Can it run without internet access?",
              "support": "unknown",
              "answer": "Can it run without internet access? Unknown. Air-gapped operation was not established. Thresholds are not universal feature or pricing entitlements.",
              "evidenceIds": []
            },
            {
              "id": "mode_feature_gaps",
              "question": "Which features are missing outside SaaS?",
              "support": "partial",
              "answer": "Dedicated lacks Support chat-sharing and password/profile editing in Langdock; other feature controls depend on deployment configuration. No exhaustive parity list was found.",
              "evidenceIds": [
                "langdock:langdock:account",
                "langdock:langdock:chat"
              ]
            }
          ],
          "limitations": [
            "customer_cloud: Customer-cloud dedicated deployment from 5000+ seats; detailed operator and feature allocation are contract-specific.",
            "on_premise: Custom Kubernetes via Helm from 5000+ seats; operator split and infrastructure requirements are not public here.",
            "mode_feature_gaps: Dedicated lacks Support chat-sharing and password/profile editing in Langdock; other feature controls depend on deployment configuration. No exhaustive parity list was found.",
            "Unverified air_gapped: Air-gapped operation was not established. Thresholds are not universal feature or pricing entitlements."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:security",
            "langdock:langdock:account",
            "langdock:langdock:chat"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:DATA-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "The project documents local and customer-cloud installs. A free public demo is separate from a production managed service.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web",
              "public-demo"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              },
              {
                "id": "public-demo",
                "name": "LibreChat public evaluation demo",
                "type": "hosted-demo"
              }
            ]
          },
          "questions": [
            {
              "id": "multi_tenant_saas",
              "question": "Is a shared SaaS offered?",
              "support": "partial",
              "answer": "The project operates a free public evaluation Demo, not a reviewed production business SaaS offer. Its terms permit data cleanups and disclaim persistence.",
              "evidenceIds": [
                "librechat:librechat:demo",
                "librechat:librechat:firstchat"
              ]
            },
            {
              "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 dedicated production service and its contractual size floor were not established.",
              "evidenceIds": []
            },
            {
              "id": "customer_cloud",
              "question": "Can it run in the customer's own cloud account, from what size?",
              "support": "supported",
              "answer": "Remote hosting documentation describes customer-selected servers/cloud hosting without a software seat minimum.",
              "evidenceIds": [
                "librechat:librechat:remote",
                "librechat:librechat:license"
              ]
            },
            {
              "id": "on_premise",
              "question": "Can the whole platform run on customer infrastructure, from what size?",
              "support": "supported",
              "answer": "Docker/npm installation can run the application and dependencies on customer infrastructure.",
              "evidenceIds": [
                "librechat:librechat:local",
                "librechat:librechat:compose-pin"
              ]
            },
            {
              "id": "air_gapped",
              "question": "Can it run without internet access?",
              "support": "partial",
              "answer": "Local chat/embedding routes exist, but a complete disconnected installation and its full dependency behavior were not verified.",
              "evidenceIds": [
                "librechat:librechat:custom",
                "librechat:librechat:ragcfg"
              ]
            },
            {
              "id": "mode_feature_gaps",
              "question": "Which features are missing outside SaaS?",
              "support": "partial",
              "answer": "External APIs, OCR/search services and separate code runtimes need their own availability/networking; there is no verified SaaS/on-prem feature-parity matrix.",
              "evidenceIds": [
                "librechat:librechat:ocr",
                "librechat:librechat:web",
                "librechat:librechat:code"
              ]
            }
          ],
          "limitations": [
            "multi_tenant_saas: The project operates a free public evaluation Demo, not a reviewed production business SaaS offer. Its terms permit data cleanups and disclaim persistence.",
            "dedicated_instance: Is a dedicated single-tenant instance offered, from what size? A vendor-operated dedicated production service and its contractual size floor were not established.",
            "air_gapped: Local chat/embedding routes exist, but a complete disconnected installation and its full dependency behavior were not verified.",
            "mode_feature_gaps: External APIs, OCR/search services and separate code runtimes need their own availability/networking; there is no verified SaaS/on-prem feature-parity matrix."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:demo",
            "librechat:librechat:firstchat",
            "librechat:librechat:remote",
            "librechat:librechat:license",
            "librechat:librechat:local",
            "librechat:librechat:compose-pin",
            "librechat:librechat:custom",
            "librechat:librechat:ragcfg",
            "librechat:librechat:ocr",
            "librechat:librechat:web",
            "librechat:librechat:code"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:DATA-03",
          "verificationStatus": "agent-cross-checked",
          "support": "supported",
          "answer": "Microsoft Azure model routes use the contract-described no-training and Modified Abuse Monitoring configuration. Other providers are outside this finding.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business/Enterprise managed Microsoft Azure model routes only; BYOK and Fable/other-provider routes excluded",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default; explicitly selected global Azure models may infer outside EU",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "vendor_training",
              "question": "Does the vendor train on customer content?",
              "support": "supported",
              "answer": "Terms section9 prohibits Langdock use of customer data for model development, training or improvement.",
              "evidenceIds": [
                "langdock:langdock:terms-rev2"
              ]
            },
            {
              "id": "provider_training",
              "question": "Do model providers train on it under this product's contracts?",
              "support": "supported",
              "answer": "Appendix1 Microsoft Azure obligations exclude sharing customer prompts/files/embeddings with model developers and using them to train or improve models.",
              "evidenceIds": [
                "langdock:langdock:terms-rev2"
              ]
            },
            {
              "id": "provider_retention",
              "question": "How long do model providers keep prompts, including for abuse monitoring?",
              "support": "supported",
              "answer": "For the scoped Microsoft Azure model route, Langdock states Modified Abuse Monitoring disables provider storage of prompts/outputs for abuse monitoring. Platform conversation storage is separate.",
              "evidenceIds": [
                "langdock:langdock:terms-rev2"
              ]
            },
            {
              "id": "zero_retention",
              "question": "Is zero data retention available, and on which plan?",
              "support": "supported",
              "answer": "The Azure route has the Modified Abuse Monitoring zero-retention configuration described in Appendix1. This does not establish ZDR for arbitrary customer keys or other providers.",
              "evidenceIds": [
                "langdock:langdock:terms-rev2"
              ]
            },
            {
              "id": "human_review",
              "question": "Can provider staff review content?",
              "support": "supported",
              "answer": "Appendix1 states Azure human abuse review of the scoped prompts/outputs is disabled by Modified Abuse Monitoring.",
              "evidenceIds": [
                "langdock:langdock:terms-rev2"
              ]
            }
          ],
          "limitations": [
            "Fable5/5.1 and direct/OpenAI image/file exceptions are outside this Azure-only scope; no platform-wide ZDR claim is made."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:terms-rev2"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:DATA-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "The customer configures model contracts and data paths; a universal no-training or provider-retention promise was not established.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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 application stores data in the customer’s configured stack; this architecture is not a contractual promise covering every optional external service.",
              "evidenceIds": [
                "librechat:librechat:compose-pin",
                "librechat:librechat:firstchat"
              ]
            },
            {
              "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 specific customer provider agreement, abuse retention/human-review period or zero-retention entitlement was reviewed. Website and Demo privacy policies do not govern arbitrary self-hosted providers.",
              "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 specific customer provider agreement, abuse retention/human-review period or zero-retention entitlement was reviewed. Website and Demo privacy policies do not govern arbitrary self-hosted providers.",
              "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 specific customer provider agreement, abuse retention/human-review period or zero-retention entitlement was reviewed. Website and Demo privacy policies do not govern arbitrary self-hosted providers.",
              "evidenceIds": []
            },
            {
              "id": "human_review",
              "question": "Can provider staff review content?",
              "support": "unknown",
              "answer": "human_review: Can provider staff review content? No specific customer provider agreement, abuse retention/human-review period or zero-retention entitlement was reviewed. Website and Demo privacy policies do not govern arbitrary self-hosted providers.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "vendor_training: The self-hosted application stores data in the customer’s configured stack; this architecture is not a contractual promise covering every optional external service.",
            "provider_training: Do model providers train on it under this product's contracts? No specific customer provider agreement, abuse retention/human-review period or zero-retention entitlement was reviewed. Website and Demo privacy policies do not govern arbitrary self-hosted providers.",
            "provider_retention: How long do model providers keep prompts, including for abuse monitoring? No specific customer provider agreement, abuse retention/human-review period or zero-retention entitlement was reviewed. Website and Demo privacy policies do not govern arbitrary self-hosted providers.",
            "zero_retention: Is zero data retention available, and on which plan? No specific customer provider agreement, abuse retention/human-review period or zero-retention entitlement was reviewed. Website and Demo privacy policies do not govern arbitrary self-hosted providers.",
            "human_review: Can provider staff review content? No specific customer provider agreement, abuse retention/human-review period or zero-retention entitlement was reviewed. Website and Demo privacy policies do not govern arbitrary self-hosted providers."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:compose-pin",
            "librechat:librechat:firstchat"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:DATA-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Admins control chat retention; file cleanup depends on all remaining references.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "default_retention",
              "question": "What is retained and for how long by default?",
              "support": "partial",
              "answer": "No universal default duration is specified. File retention depends on recent files, chats, agents, folders or knowledge links; workflow pricing lists 30-day run retention.",
              "evidenceIds": [
                "langdock:langdock:retention",
                "langdock:langdock:pricing"
              ]
            },
            {
              "id": "admin_retention",
              "question": "Can admins set retention periods?",
              "support": "supported",
              "answer": "Chat inactivity retention options are seven days, one/three/twelve months or forever, with daily irreversible deletion.",
              "evidenceIds": [
                "langdock:langdock:workspace"
              ]
            },
            {
              "id": "user_deletion",
              "question": "Can users delete their chats and files permanently?",
              "support": "partial",
              "answer": "Deleted chats become unavailable immediately; files belonging only to them are deleted at overnight cleanup. Files linked elsewhere remain; deleting a folder alone retains its files.",
              "evidenceIds": [
                "langdock:langdock:retention"
              ]
            },
            {
              "id": "contract_end_deletion",
              "question": "What is deleted at contract end, and when?",
              "support": "supported",
              "answer": "DPA section 11 requires deletion within 30 days of termination subject to legal retention, confirmation on request and export access until deletion.",
              "evidenceIds": [
                "langdock:langdock:dpa"
              ]
            }
          ],
          "limitations": [
            "default_retention: No universal default duration is specified. File retention depends on recent files, chats, agents, folders or knowledge links; workflow pricing lists 30-day run retention.",
            "user_deletion: Deleted chats become unavailable immediately; files belonging only to them are deleted at overnight cleanup. Files linked elsewhere remain; deleting a folder alone retains its files."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:retention",
            "langdock:langdock:pricing",
            "langdock:langdock:workspace",
            "langdock:langdock:dpa"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:DATA-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Normal chats have no default expiry; temporary chats default to 30 days and admins can configure broader expiry modes.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "supported",
              "answer": "The default temporary retention is 720 hours; normal chats persist unless configured under all/ephemeral modes. Memories do not expire with chats.",
              "evidenceIds": [
                "librechat:librechat:retention"
              ]
            },
            {
              "id": "admin_retention",
              "question": "Can admins set retention periods?",
              "support": "supported",
              "answer": "Admins set all or ephemeral retention, regular/temporary deadlines and Agent file retention. New settings apply on later saves rather than rewriting every existing record immediately.",
              "evidenceIds": [
                "librechat:librechat:retention"
              ]
            },
            {
              "id": "user_deletion",
              "question": "Can users delete their chats and files permanently?",
              "support": "partial",
              "answer": "Users can delete conversations/data and retention sweeps remove files. Copies, backups and external provider deletion were not end-to-end verified.",
              "evidenceIds": [
                "librechat:librechat:retention",
                "librechat:librechat:settings"
              ]
            },
            {
              "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 commercial contract-end purge/confirmation deadline was reviewed; the Demo’s retention terms are a separate offer.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "user_deletion: Users can delete conversations/data and retention sweeps remove files. Copies, backups and external provider deletion were not end-to-end verified.",
            "contract_end_deletion: What is deleted at contract end, and when? No commercial contract-end purge/confirmation deadline was reviewed; the Demo’s retention terms are a separate offer."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:retention",
            "librechat:librechat:settings"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:DATA-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "DPA publishes seven default subprocessors and conditional Global routes with transfer mechanisms.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "subprocessor_list",
              "question": "Is a dated sub-processor list published?",
              "support": "supported",
              "answer": "DPA 2.1 Appendix 2 embeds the current named list; trust-centre subprocessor page needs client rendering and did not return text.",
              "evidenceIds": [
                "langdock:langdock:dpa"
              ]
            },
            {
              "id": "subprocessor_countries",
              "question": "Which countries do sub-processors operate in?",
              "support": "supported",
              "answer": "Default entities: Microsoft Ireland, AWS EMEA Luxembourg, Google Cloud EMEA Ireland, OpenAI Ireland, Mistral France, Sentry US and Cloudflare US; default processing column is EU. Global opt-ins include worldwide/US inference and Azure EU storage.",
              "evidenceIds": [
                "langdock:langdock:dpa"
              ]
            },
            {
              "id": "change_notification",
              "question": "Are customers notified of sub-processor changes?",
              "support": "supported",
              "answer": "At least 14 days before new/replaced subprocessor via public register and email only if subscribed; objection within 14 days of publication.",
              "evidenceIds": [
                "langdock:langdock:dpa"
              ]
            },
            {
              "id": "parent_jurisdiction",
              "question": "Which jurisdiction governs the vendor and its parent?",
              "support": "partial",
              "answer": "Langdock GmbH, Berlin, Germany is contracting entity. Parent-company ownership was not fully established.",
              "evidenceIds": [
                "langdock:langdock:terms"
              ]
            },
            {
              "id": "transfer_mechanism",
              "question": "Which transfer mechanism applies to non-EU/CH processing?",
              "support": "supported",
              "answer": "DPA lists EU-US/Swiss-US DPF, UK extension and EU/UK SCCs with Swiss addenda per provider; Global OpenAI lists EU/UK SCCs.",
              "evidenceIds": [
                "langdock:langdock:dpa"
              ]
            },
            {
              "id": "government_access_policy",
              "question": "Is there a published government-access or transparency policy?",
              "support": "partial",
              "answer": "Confidentiality clause requires minimizing legally compelled disclosure and notifying where legally permitted; no separate request statistics/transparency report was found.",
              "evidenceIds": [
                "langdock:langdock:terms"
              ]
            }
          ],
          "limitations": [
            "parent_jurisdiction: Langdock GmbH, Berlin, Germany is contracting entity. Parent-company ownership was not fully established.",
            "government_access_policy: Confidentiality clause requires minimizing legally compelled disclosure and notifying where legally permitted; no separate request statistics/transparency report was found."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:dpa",
            "langdock:langdock:terms"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:DATA-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "ClickHouse’s acquisition is sourced; the self-hosted deployment still selects its own external processors and contracts.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "subprocessor_list",
              "question": "Is a dated sub-processor list published?",
              "support": "unknown",
              "answer": "subprocessor_list: Is a dated sub-processor list published? No project-wide dated sub-processor/country list, change-notification schedule, transfer instrument or government-access policy was established for arbitrary customer-operated deployments. Website/Demo policies are separate scopes.",
              "evidenceIds": []
            },
            {
              "id": "subprocessor_countries",
              "question": "Which countries do sub-processors operate in?",
              "support": "unknown",
              "answer": "subprocessor_countries: Which countries do sub-processors operate in? No project-wide dated sub-processor/country list, change-notification schedule, transfer instrument or government-access policy was established for arbitrary customer-operated deployments. Website/Demo policies are separate scopes.",
              "evidenceIds": []
            },
            {
              "id": "change_notification",
              "question": "Are customers notified of sub-processor changes?",
              "support": "unknown",
              "answer": "change_notification: Are customers notified of sub-processor changes? No project-wide dated sub-processor/country list, change-notification schedule, transfer instrument or government-access policy was established for arbitrary customer-operated deployments. Website/Demo policies are separate scopes.",
              "evidenceIds": []
            },
            {
              "id": "parent_jurisdiction",
              "question": "Which jurisdiction governs the vendor and its parent?",
              "support": "partial",
              "answer": "ClickHouse, Inc. announced the LibreChat acquisition on 2025-11-04 from San Francisco and brought founder/team into ClickHouse. A self-hosted customer contracting entity/governing jurisdiction was not established from that announcement.",
              "evidenceIds": [
                "librechat:librechat:owner"
              ]
            },
            {
              "id": "transfer_mechanism",
              "question": "Which transfer mechanism applies to non-EU/CH processing?",
              "support": "unknown",
              "answer": "transfer_mechanism: Which transfer mechanism applies to non-EU/CH processing? No project-wide dated sub-processor/country list, change-notification schedule, transfer instrument or government-access policy was established for arbitrary customer-operated deployments. Website/Demo policies are separate scopes.",
              "evidenceIds": []
            },
            {
              "id": "government_access_policy",
              "question": "Is there a published government-access or transparency policy?",
              "support": "unknown",
              "answer": "government_access_policy: Is there a published government-access or transparency policy? No project-wide dated sub-processor/country list, change-notification schedule, transfer instrument or government-access policy was established for arbitrary customer-operated deployments. Website/Demo policies are separate scopes.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "subprocessor_list: Is a dated sub-processor list published? No project-wide dated sub-processor/country list, change-notification schedule, transfer instrument or government-access policy was established for arbitrary customer-operated deployments. Website/Demo policies are separate scopes.",
            "subprocessor_countries: Which countries do sub-processors operate in? No project-wide dated sub-processor/country list, change-notification schedule, transfer instrument or government-access policy was established for arbitrary customer-operated deployments. Website/Demo policies are separate scopes.",
            "change_notification: Are customers notified of sub-processor changes? No project-wide dated sub-processor/country list, change-notification schedule, transfer instrument or government-access policy was established for arbitrary customer-operated deployments. Website/Demo policies are separate scopes.",
            "parent_jurisdiction: ClickHouse, Inc. announced the LibreChat acquisition on 2025-11-04 from San Francisco and brought founder/team into ClickHouse. A self-hosted customer contracting entity/governing jurisdiction was not established from that announcement.",
            "transfer_mechanism: Which transfer mechanism applies to non-EU/CH processing? No project-wide dated sub-processor/country list, change-notification schedule, transfer instrument or government-access policy was established for arbitrary customer-operated deployments. Website/Demo policies are separate scopes.",
            "government_access_policy: Is there a published government-access or transparency policy? No project-wide dated sub-processor/country list, change-notification schedule, transfer instrument or government-access policy was established for arbitrary customer-operated deployments. Website/Demo policies are separate scopes."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:owner"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:DATA-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "DPA automatically forms part of German-law terms; Swiss and sector materials need qualification.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "dpa",
              "question": "Is a DPA available, and is it negotiable?",
              "support": "partial",
              "answer": "Terms section 16 automatically incorporates public DPA 2.1; nonstandard instructions require written amendment, and negotiability is not promised.",
              "evidenceIds": [
                "langdock:langdock:terms",
                "langdock:langdock:dpa"
              ]
            },
            {
              "id": "revdsg_gdpr",
              "question": "Does the DPA cover revDSG and GDPR?",
              "support": "partial",
              "answer": "GDPR Article 28 governs; provider transfer table includes Swiss safeguards but a complete revDSG scope/addendum was not established.",
              "evidenceIds": [
                "langdock:langdock:dpa"
              ]
            },
            {
              "id": "governing_law",
              "question": "Which law and court govern the contract?",
              "support": "supported",
              "answer": "German law, Berlin exclusive jurisdiction; German language version binds over English translation.",
              "evidenceIds": [
                "langdock:langdock:terms"
              ]
            },
            {
              "id": "ai_act_materials",
              "question": "Is EU AI Act documentation provided?",
              "support": "partial",
              "answer": "Governance templates include EU AI Act/GDPR/security checks of agent definitions; these do not establish a complete product provider/deployer dossier.",
              "evidenceIds": [
                "langdock:langdock:pricing",
                "langdock:langdock:gov"
              ]
            },
            {
              "id": "sector_materials",
              "question": "Are FINMA or other sector materials provided?",
              "support": "partial",
              "answer": "Legal-links page advertises a Professional Secrecy Addendum in Trust Center; no FINMA package was obtained.",
              "evidenceIds": [
                "langdock:langdock:legal"
              ]
            }
          ],
          "limitations": [
            "dpa: Terms section 16 automatically incorporates public DPA 2.1; nonstandard instructions require written amendment, and negotiability is not promised.",
            "revdsg_gdpr: GDPR Article 28 governs; provider transfer table includes Swiss safeguards but a complete revDSG scope/addendum was not established.",
            "ai_act_materials: Governance templates include EU AI Act/GDPR/security checks of agent definitions; these do not establish a complete product provider/deployer dossier.",
            "sector_materials: Legal-links page advertises a Professional Secrecy Addendum in Trust Center; no FINMA package was obtained."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:terms",
            "langdock:langdock:dpa",
            "langdock:langdock:pricing",
            "langdock:langdock:gov",
            "langdock:langdock:legal"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat: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": "langdock",
          "claimId": "langdock:DATA-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "ISO 27001 and SOC 2 Type II are vendor claims pending certificate/report verification.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "iso_27001",
              "question": "ISO 27001 with scope and validity?",
              "support": "partial",
              "answer": "Security page claims Langdock ISO 27001; issuer, exact scope and validity were not retrieved.",
              "evidenceIds": [
                "langdock:langdock:security"
              ]
            },
            {
              "id": "soc2",
              "question": "SOC 2 type, period and covered service?",
              "support": "partial",
              "answer": "Security page claims SOC 2 Type II; report period/auditor/service scope was not retrieved.",
              "evidenceIds": [
                "langdock:langdock:security"
              ]
            },
            {
              "id": "c5",
              "question": "BSI C5 attestation?",
              "support": "unknown",
              "answer": "BSI C5 attestation? Unknown. No C5, other product certificate, issuer-register verification or gated report was established.",
              "evidenceIds": []
            },
            {
              "id": "other_certifications",
              "question": "Which other certificates (27701, 42001, TISAX)?",
              "support": "unknown",
              "answer": "Which other certificates (27701, 42001, TISAX)? Unknown. No C5, other product certificate, issuer-register verification or gated report was established.",
              "evidenceIds": []
            },
            {
              "id": "report_access",
              "question": "How can customers obtain reports?",
              "support": "partial",
              "answer": "Public legal-links page sends certificate/report requests to the Trust Center, which rendered no text in this access method.",
              "evidenceIds": [
                "langdock:langdock:legal"
              ]
            },
            {
              "id": "pentest",
              "question": "Are independent penetration test summaries available?",
              "support": "partial",
              "answer": "Vendor describes frequent independent penetration testing; no test report or bounded result was retrieved.",
              "evidenceIds": [
                "langdock:langdock:security"
              ]
            }
          ],
          "limitations": [
            "iso_27001: Security page claims Langdock ISO 27001; issuer, exact scope and validity were not retrieved.",
            "soc2: Security page claims SOC 2 Type II; report period/auditor/service scope was not retrieved.",
            "report_access: Public legal-links page sends certificate/report requests to the Trust Center, which rendered no text in this access method.",
            "pentest: Vendor describes frequent independent penetration testing; no test report or bounded result was retrieved.",
            "Unverified c5, other_certifications: No C5, other product certificate, issuer-register verification or gated report was established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:security",
            "langdock:langdock:legal"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat: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": "langdock",
          "claimId": "langdock:DATA-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Encryption and network restrictions are documented; customer key custody is not established.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "encryption_at_rest",
              "question": "Is data encrypted at rest?",
              "support": "supported",
              "answer": "Vendor states AES-256 storage and TLS 1.2+ transport.",
              "evidenceIds": [
                "langdock:langdock: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? Unknown. Customer-managed encryption keys and exact shared-SaaS tenant isolation implementation were not established; LLM BYOK is a separate concept.",
              "evidenceIds": []
            },
            {
              "id": "private_networking",
              "question": "Is private connectivity or IP restriction available?",
              "support": "partial",
              "answer": "CIDR IP allowlists block workspace login/use from unapproved networks; private-link endpoint availability was not established.",
              "evidenceIds": [
                "langdock:langdock:ip"
              ]
            },
            {
              "id": "tenant_isolation",
              "question": "How are customers separated in shared SaaS?",
              "support": "unknown",
              "answer": "How are customers separated in shared SaaS? Unknown. Customer-managed encryption keys and exact shared-SaaS tenant isolation implementation were not established; LLM BYOK is a separate concept.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "private_networking: CIDR IP allowlists block workspace login/use from unapproved networks; private-link endpoint availability was not established.",
            "Unverified customer_managed_keys, tenant_isolation: Customer-managed encryption keys and exact shared-SaaS tenant isolation implementation were not established; LLM BYOK is a separate concept."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:security",
            "langdock:langdock:ip"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:DATA-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Network and storage security depend on the customer’s deployment; application authentication does not certify encryption of all stored content.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "unknown",
              "answer": "encryption_at_rest: Is data encrypted at rest? No default at-rest encryption guarantee covering MongoDB/files/PGVector or audited multi-tenant managed-service isolation was established from the installation guides.",
              "evidenceIds": []
            },
            {
              "id": "customer_managed_keys",
              "question": "Can the customer manage or hold the keys?",
              "support": "partial",
              "answer": "Operators own infrastructure and application secrets; a documented product HYOK/customer-managed content-encryption service was not verified.",
              "evidenceIds": [
                "librechat:librechat:auth",
                "librechat:librechat:compose-pin"
              ]
            },
            {
              "id": "private_networking",
              "question": "Is private connectivity or IP restriction available?",
              "support": "supported",
              "answer": "Operators deploy the stack on their own network and configure reverse proxies/HTTPS for remote access.",
              "evidenceIds": [
                "librechat:librechat:remote",
                "librechat:librechat:local"
              ]
            },
            {
              "id": "tenant_isolation",
              "question": "How are customers separated in shared SaaS?",
              "support": "unknown",
              "answer": "tenant_isolation: How are customers separated in shared SaaS? No default at-rest encryption guarantee covering MongoDB/files/PGVector or audited multi-tenant managed-service isolation was established from the installation guides.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "encryption_at_rest: Is data encrypted at rest? No default at-rest encryption guarantee covering MongoDB/files/PGVector or audited multi-tenant managed-service isolation was established from the installation guides.",
            "customer_managed_keys: Operators own infrastructure and application secrets; a documented product HYOK/customer-managed content-encryption service was not verified.",
            "tenant_isolation: How are customers separated in shared SaaS? No default at-rest encryption guarantee covering MongoDB/files/PGVector or audited multi-tenant managed-service isolation was established from the installation guides."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:auth",
            "librechat:librechat:compose-pin",
            "librechat:librechat:remote",
            "librechat:librechat:local"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:DATA-09",
          "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": "librechat",
          "claimId": "librechat:DATA-09",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Customer-operated message storage and configurable local/external inference establish part of the content-access boundary. A LibreChat-scoped staff/sub-processor secrecy undertaking or professional-secrecy offering remains unverified.",
          "availability": "unknown",
          "delivery": "unknown",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; message schema and reference Compose pinned to v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional commercial secrecy terms unverified. Public Demo and website policies checked only to distinguish their scope",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected application, storage and model-service locations; no DE/CH professional-secrecy contract variant 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": "No LibreChat-scoped § 203 StGB / Art. 321 StGB undertaking binding vendor staff was obtained from the reviewed project documentation and public legal pages. The website privacy policy expressly excludes the self-hosted application; ClickHouse ownership does not establish a product-specific agreement.",
              "evidenceIds": [
                "librechat:librechat:siteprivacy",
                "librechat:librechat:owner"
              ]
            },
            {
              "id": "subprocessor_coverage",
              "question": "Does the undertaking extend to its sub-processors, and is that documented?",
              "support": "unknown",
              "answer": "No self-hosted LibreChat professional-secrecy annex or documented extension to sub-processors was obtained. The separate Demo policy describes processor instruction/security obligations, which do not establish the undertaking requested here or coverage of a customer deployment.",
              "evidenceIds": [
                "librechat:librechat:secrecy-demo-policy"
              ]
            },
            {
              "id": "secrecy_offering",
              "question": "Is it a dedicated offering or add-on, and on which plan?",
              "support": "unknown",
              "answer": "No dedicated professional-secrecy edition, paid add-on, eligible plan or price was established in the public project/legal materials and targeted searches. The public Demo is evaluation-only and excludes confidential or regulated data; it is a separate surface.",
              "evidenceIds": [
                "librechat:librechat:demo"
              ]
            },
            {
              "id": "content_access",
              "question": "Who can access content in plain text: vendor staff, sub-processors, model providers?",
              "support": "partial",
              "answer": "The pinned reference deployment mounts customer-controlled MongoDB, uploads and logs; the message schema declares ordinary text/content fields. This places host/database operators inside the application trust boundary (an architectural inference, not a permissions audit). The first-chat and endpoint guides route prompts to a selected local or external model with customer credentials. Vendor/support access, optional service operators and provider human access remain deployment- and contract-specific and unverified.",
              "evidenceIds": [
                "librechat:librechat:compose-pin",
                "librechat:librechat:secrecy-message-pin",
                "librechat:librechat:firstchat",
                "librechat:librechat:custom"
              ]
            },
            {
              "id": "secrecy_documentation",
              "question": "Is the offering publicly documented (contract template, data-flow description, professional-body guidance)?",
              "support": "unknown",
              "answer": "Public installation, endpoint and privacy documents describe technical data paths and distinguish website, Demo and self-hosted software. No LibreChat-specific DE/CH secrecy contract template, covered-party annex or professional-body guidance was located in the reviewed sources.",
              "evidenceIds": [
                "librechat:librechat:firstchat",
                "librechat:librechat:siteprivacy"
              ]
            }
          ],
          "limitations": [
            "The secrecy undertaking, sub-processor coverage, offering and professional-secrecy-specific documentation remain unknown.",
            "content_access: Operator permissions, vendor/support grants, optional service access and provider staff access were not tested or contractually verified.",
            "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": [
            "librechat:librechat:siteprivacy",
            "librechat:librechat:owner",
            "librechat:librechat:secrecy-demo-policy",
            "librechat:librechat:demo",
            "librechat:librechat:compose-pin",
            "librechat:librechat:secrecy-message-pin",
            "librechat:librechat:firstchat",
            "librechat:librechat:custom"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:VEN-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Business uses seats with included managed-chat usage; workflow/API and other add-ons are separate. An applicable Standard/BYOK licence tariff is not established.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents and optional modules; Enterprise quoted at1000+; applicable Standard/BYOK tariff unknown",
            "addOns": [
              "Workflows",
              "Governance",
              "API/Extra Usage"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "pricing_unit",
              "question": "What is the pricing unit?",
              "support": "supported",
              "answer": "Seat/month platform, per-workspace workflow packages, metered API/workflow AI/extra usage, optional per-seat Governance.",
              "evidenceIds": [
                "langdock:langdock:pricing-rev2"
              ]
            },
            {
              "id": "list_prices",
              "question": "What are list prices per plan, with date and currency?",
              "support": "unknown",
              "answer": "Unknown applicable Standard/BYOK seat tariff. The public Business headline is EUR25 while the annual price breakdown starts at EUR23.20; billing docs refer to the same pricing page without reconciling them. Enterprise1000+ is quote-only. Prior hashed-calculator rates are excluded.",
              "evidenceIds": []
            },
            {
              "id": "included_usage",
              "question": "What usage is included?",
              "support": "partial",
              "answer": "Standard includes managed chat/agent usage under five-hour and weekly windows; Max has 5x. Precise numerical included cost budgets are not public. Starter includes 2500 workflow runs/month but no workflow model tokens.",
              "evidenceIds": [
                "langdock:langdock:pricing-rev2",
                "langdock:langdock:limits"
              ]
            },
            {
              "id": "add_ons",
              "question": "Which features cost extra?",
              "support": "partial",
              "answer": "Workflow Starter includes2500runs/month with AI tokens billed separately. The public add-on page lists40k/100k packages and Governance free until2027-01-01, then separately priced per base-plan seat. The applicable binding package/billing-period amounts are not established here.",
              "evidenceIds": [
                "langdock:langdock:pricing-rev2"
              ]
            },
            {
              "id": "overage",
              "question": "What do usage beyond limits and premium models cost?",
              "support": "supported",
              "answer": "Extra usage is charged at API rates. Model page lists GPT-5 Mini EUR 0.22 input/1.78 output per million; workflow and API spend use separate caps.",
              "evidenceIds": [
                "langdock:langdock:extra",
                "langdock:langdock:models"
              ]
            }
          ],
          "limitations": [
            "Inconsistent price representations are retained as a named price gap, not combined into a synthetic tariff."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:pricing-rev2",
            "langdock:langdock:limits",
            "langdock:langdock:extra",
            "langdock:langdock:models"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:VEN-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "MIT software has no licence subscription; hosting, inference and optional runtime services are separately procured.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "The pinned MIT permission grant has no per-user fee; self-hosting and model accounts are customer responsibilities.",
              "evidenceIds": [
                "librechat:librechat:license",
                "librechat:librechat:firstchat"
              ]
            },
            {
              "id": "list_prices",
              "question": "What are list prices per plan, with date and currency?",
              "support": "supported",
              "answer": "The repository’s MIT licence permits use without a software fee as retrieved 2026-10-21; there is no bundled inference subscription in this scope.",
              "evidenceIds": [
                "librechat:librechat:license",
                "librechat:librechat:firstchat"
              ]
            },
            {
              "id": "included_usage",
              "question": "What usage is included?",
              "support": "supported",
              "answer": "LibreChat ships with no model API key and no included provider token balance.",
              "evidenceIds": [
                "librechat:librechat:firstchat"
              ]
            },
            {
              "id": "add_ons",
              "question": "Which features cost extra?",
              "support": "partial",
              "answer": "Optional external code/OCR/search/image services need separately configured endpoints and credentials. Their rates depend on the operator’s contracts.",
              "evidenceIds": [
                "librechat:librechat:code",
                "librechat:librechat:ocr",
                "librechat:librechat:web",
                "librechat:librechat:images"
              ]
            },
            {
              "id": "overage",
              "question": "What do usage beyond limits and premium models cost?",
              "support": "partial",
              "answer": "Provider APIs charge their account holder; internal credit balances are governance configuration rather than a single LibreChat usage tariff.",
              "evidenceIds": [
                "librechat:librechat:balance",
                "librechat:librechat:tokens",
                "librechat:librechat:firstchat"
              ]
            }
          ],
          "limitations": [
            "add_ons: Optional external code/OCR/search/image services need separately configured endpoints and credentials. Their rates depend on the operator’s contracts.",
            "overage: Provider APIs charge their account holder; internal credit balances are governance configuration rather than a single LibreChat usage tariff."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:license",
            "librechat:librechat:firstchat",
            "librechat:librechat:code",
            "librechat:librechat:ocr",
            "librechat:librechat:web",
            "librechat:librechat:images",
            "librechat:librechat:balance",
            "librechat:librechat:tokens"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:VEN-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "All requested200/1000/5000-user totals are unknown because an applicable Business Standard tariff or Enterprise quote is not verified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Standard up to1000 users; Enterprise1000+; all applicable scenario licence totals unknown",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "cost_200",
              "question": "Year-one cost at 200 users?",
              "support": "unknown",
              "answer": "ALM-14 shared cost assumptions v1.4, 2026-10-21. Unknown total for200users over12months excluding VAT. No applicable Business Standard tariff is established from the conflicting headline/breakdown; Enterprise at1000+ is quote-only. No calculator-derived base floor or inferred discount is retained. Included managed-chat use is not separately billed by the token mix.",
              "evidenceIds": []
            },
            {
              "id": "cost_1000",
              "question": "Year-one cost at 1,000 users?",
              "support": "unknown",
              "answer": "ALM-14 shared cost assumptions v1.4, 2026-10-21. Unknown total for1000users over12months excluding VAT. No applicable Business Standard tariff is established from the conflicting headline/breakdown; Enterprise at1000+ is quote-only. No calculator-derived base floor or inferred discount is retained. Included managed-chat use is not separately billed by the token mix.",
              "evidenceIds": []
            },
            {
              "id": "cost_5000",
              "question": "Year-one cost at 5,000 users?",
              "support": "unknown",
              "answer": "ALM-14 shared cost assumptions v1.4, 2026-10-21. Unknown total for5000users over12months excluding VAT. No applicable Business Standard tariff is established from the conflicting headline/breakdown; Enterprise at1000+ is quote-only. No calculator-derived base floor or inferred discount is retained. Included managed-chat use is not separately billed by the token mix.",
              "evidenceIds": []
            },
            {
              "id": "variable_share",
              "question": "Which part depends on usage?",
              "support": "partial",
              "answer": "Managed Business chat includes model usage subject to usage limits. ExtraUsage,workflow/API,Governance and customer-provider BYOK bills are separate. Missing applicable tariff/allowance components remain unknown; no proxy substitutes for vendor-billed usage.",
              "evidenceIds": [
                "langdock:langdock:billing",
                "langdock:langdock:extra"
              ]
            },
            {
              "id": "unknown_parts",
              "question": "Which costs could not be priced?",
              "support": "partial",
              "answer": "Business Standard/BYOK applicable seat rate, Enterprise licence/deployment quote, workload-preserving overage and required modules/services are unknown. This prevents a verifiable EUR/CHF total.",
              "evidenceIds": [
                "langdock:langdock:pricing-rev2",
                "langdock:langdock:billing"
              ]
            }
          ],
          "limitations": [
            "ALM-14 shared cost assumptions v1.4, 2026-10-21:12months, list prices, excluding VAT;60/30/10 users at100/400/1500messages monthly,3000input+600output tokens/message. Only separately billed usage uses this token mix.",
            "ECB2026-10-20 EUR1=USD1.1215=CHF0.9237. Unknown base/variable components prevent totals; no silent conversion."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:pricing-rev2",
            "langdock:langdock:billing",
            "langdock:langdock:extra",
            "langdock:langdock:ecb-fx"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat: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 source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "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": [
                "librechat:librechat:license",
                "librechat:librechat:cost-vm",
                "librechat:librechat:cost-pg",
                "librechat:librechat:cost-fx",
                "librechat:librechat:cost-model",
                "librechat:librechat: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": [
                "librechat:librechat:license",
                "librechat:librechat:cost-vm",
                "librechat:librechat:cost-pg",
                "librechat:librechat:cost-fx",
                "librechat:librechat:cost-model",
                "librechat:librechat: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": [
                "librechat:librechat:license",
                "librechat:librechat:cost-vm",
                "librechat:librechat:cost-pg",
                "librechat:librechat:cost-fx",
                "librechat:librechat:cost-model",
                "librechat:librechat: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": [
                "librechat:librechat:cost-model",
                "librechat:librechat: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. MongoDB remains the primary store, so its infrastructure, file storage and other required dependencies are additional unpriced items; PostgreSQL is only the shared RAG/reference compute assumption. The shared VM/PG sizes have not been load-tested and do not replace each product’s documented runtime dependencies.",
              "evidenceIds": [
                "librechat:librechat:cost-vm",
                "librechat:librechat:cost-pg",
                "librechat:librechat:license"
              ]
            }
          ],
          "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": [
            "librechat:librechat:license",
            "librechat:librechat:cost-vm",
            "librechat:librechat:cost-pg",
            "librechat:librechat:cost-fx",
            "librechat:librechat:cost-model",
            "librechat:librechat: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": "langdock",
          "claimId": "langdock:VEN-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "A seven-day self-serve business trial is advertised without a card.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "free_tier",
              "question": "Is there a free tier for business use?",
              "support": "partial",
              "answer": "Terms describe a time-limited trial that ends automatically; permanent business free access is not established.",
              "evidenceIds": [
                "langdock:langdock:terms"
              ]
            },
            {
              "id": "self_serve_trial",
              "question": "Is a self-serve business trial available?",
              "support": "supported",
              "answer": "Seven days, no card, EUR 5 model credit and team invitations.",
              "evidenceIds": [
                "langdock:langdock:pricing"
              ]
            },
            {
              "id": "trial_scope",
              "question": "Do trials include SSO, connectors and admin features?",
              "support": "partial",
              "answer": "Pricing says test all platform features, but enterprise deployments and optional enablement cannot be inferred; SAML/SCIM trial configuration was not run.",
              "evidenceIds": [
                "langdock:langdock:pricing"
              ]
            },
            {
              "id": "sales_gate",
              "question": "Does meaningful evaluation require sales contact?",
              "support": "partial",
              "answer": "Base trial is self-serve; enterprise deployment and custom terms require an offer.",
              "evidenceIds": [
                "langdock:langdock:billing"
              ]
            }
          ],
          "limitations": [
            "free_tier: Terms describe a time-limited trial that ends automatically; permanent business free access is not established.",
            "trial_scope: Pricing says test all platform features, but enterprise deployments and optional enablement cannot be inferred; SAML/SCIM trial configuration was not run.",
            "sales_gate: Base trial is self-serve; enterprise deployment and custom terms require an offer."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:terms",
            "langdock:langdock:pricing",
            "langdock:langdock:billing"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:VEN-03",
          "verificationStatus": "agent-cross-checked",
          "support": "supported",
          "answer": "Customers can self-install without licence payment; the public demo is an evaluation-only alternative.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web",
              "public-demo"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              },
              {
                "id": "public-demo",
                "name": "LibreChat public evaluation demo",
                "type": "hosted-demo"
              }
            ]
          },
          "questions": [
            {
              "id": "free_tier",
              "question": "Is there a free tier for business use?",
              "support": "supported",
              "answer": "MIT self-installation permits organizational use without a software licence fee.",
              "evidenceIds": [
                "librechat:librechat:license"
              ]
            },
            {
              "id": "self_serve_trial",
              "question": "Is a self-serve business trial available?",
              "support": "supported",
              "answer": "Self-installation has no trial clock or software card requirement; the free hosted Demo can be tried separately under its terms.",
              "evidenceIds": [
                "librechat:librechat:local",
                "librechat:librechat:demo"
              ]
            },
            {
              "id": "trial_scope",
              "question": "Do trials include SSO, connectors and admin features?",
              "support": "supported",
              "answer": "Self-installed instances can configure SSO, Agents, file retrieval and administration with their own service accounts. It is not evidence that every experimental add-on is enabled by default.",
              "evidenceIds": [
                "librechat:librechat:auth",
                "librechat:librechat:agents",
                "librechat:librechat:rag"
              ]
            },
            {
              "id": "sales_gate",
              "question": "Does meaningful evaluation require sales contact?",
              "support": "supported",
              "answer": "The documented Docker install does not require sales approval; optional third-party services have separate account requirements.",
              "evidenceIds": [
                "librechat:librechat:local",
                "librechat:librechat:firstchat"
              ]
            }
          ],
          "limitations": [],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:license",
            "librechat:librechat:local",
            "librechat:librechat:demo",
            "librechat:librechat:auth",
            "librechat:librechat:agents",
            "librechat:librechat:rag",
            "librechat:librechat:firstchat"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:VEN-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Monthly/annual contract defaults and EUR invoices are public; some pricing representations conflict.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "minimum_commitment",
              "question": "What seat or spend minimum applies?",
              "support": "partial",
              "answer": "Calculator starts at one user and Business supports up to1000; Enterprise/deployment minimums differ.",
              "evidenceIds": [
                "langdock:langdock:pricing",
                "langdock:langdock:security"
              ]
            },
            {
              "id": "contract_length",
              "question": "What contract lengths are offered?",
              "support": "supported",
              "answer": "Monthly or annual; annual offers 20% reduction on Standard tiers.",
              "evidenceIds": [
                "langdock:langdock:billing"
              ]
            },
            {
              "id": "cancellation",
              "question": "How can the contract be cancelled or reduced?",
              "support": "supported",
              "answer": "Terms specify seven-day notice before monthly end, fourteen days before annual/multiyear end; automatic monthly/12-month renewals; notices by text/email or platform.",
              "evidenceIds": [
                "langdock:langdock:terms"
              ]
            },
            {
              "id": "local_invoicing",
              "question": "Can it be invoiced in CHF or EUR from a European entity?",
              "support": "partial",
              "answer": "Langdock GmbH invoices EUR excl tax; contract specifies market-rate conversion of provider foreign-currency charges. CHF invoices were not established.",
              "evidenceIds": [
                "langdock:langdock:terms"
              ]
            },
            {
              "id": "transparency_class",
              "question": "Is pricing transparent, partial, quote-only or unknown?",
              "support": "partial",
              "answer": "Partially specified public rates and usage rules; Enterprise quote-only and headline/calculator rates differ.",
              "evidenceIds": [
                "langdock:langdock:pricing",
                "langdock:langdock:billing"
              ]
            }
          ],
          "limitations": [
            "minimum_commitment: Calculator starts at one user and Business supports up to1000; Enterprise/deployment minimums differ.",
            "local_invoicing: Langdock GmbH invoices EUR excl tax; contract specifies market-rate conversion of provider foreign-currency charges. CHF invoices were not established.",
            "transparency_class: Partially specified public rates and usage rules; Enterprise quote-only and headline/calculator rates differ."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:pricing",
            "langdock:langdock:security",
            "langdock:langdock:billing",
            "langdock:langdock:terms"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:VEN-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "The MIT licence has no seat or contract-term subscription; optional service contracts are outside that licence.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "supported",
              "answer": "The MIT permission grant has no user-count or spending minimum for software use.",
              "evidenceIds": [
                "librechat:librechat:license"
              ]
            },
            {
              "id": "contract_length",
              "question": "What contract lengths are offered?",
              "support": "supported",
              "answer": "There is no monthly/annual licence subscription in the MIT permission grant. External hosting/API contracts are separate.",
              "evidenceIds": [
                "librechat:librechat:license"
              ]
            },
            {
              "id": "cancellation",
              "question": "How can the contract be cancelled or reduced?",
              "support": "partial",
              "answer": "An operator can stop running the application; this does not cancel its separately purchased cloud/model services or establish deletion of all copies.",
              "evidenceIds": [
                "librechat:librechat:license",
                "librechat:librechat:local"
              ]
            },
            {
              "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? CHF/EUR commercial invoicing from a European entity was not established for optional project services.",
              "evidenceIds": []
            },
            {
              "id": "transparency_class",
              "question": "Is pricing transparent, partial, quote-only or unknown?",
              "support": "partial",
              "answer": "Source licensing is transparent; a complete all-in hosted/support/inference tariff is not included in this self-hosted offer.",
              "evidenceIds": [
                "librechat:librechat:license",
                "librechat:librechat:firstchat"
              ]
            }
          ],
          "limitations": [
            "cancellation: An operator can stop running the application; this does not cancel its separately purchased cloud/model services or establish deletion of all copies.",
            "local_invoicing: Can it be invoiced in CHF or EUR from a European entity? CHF/EUR commercial invoicing from a European entity was not established for optional project services.",
            "transparency_class: Source licensing is transparent; a complete all-in hosted/support/inference tariff is not included in this self-hosted offer."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:license",
            "librechat:librechat:local",
            "librechat:librechat:firstchat"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:VEN-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Commercial platform rights are proprietary and time-limited.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "licence_type",
              "question": "Which licence applies to each component?",
              "support": "partial",
              "answer": "Terms grant a nonexclusive/nontransferable contract-term right, not an OSI source licence. Component-level connector/client licences are not enumerated.",
              "evidenceIds": [
                "langdock:langdock:terms"
              ]
            },
            {
              "id": "branding_restrictions",
              "question": "Do licence terms restrict branding or user counts?",
              "support": "partial",
              "answer": "Terms prohibit removing proprietary notices and reselling platform access; admin branding options do not transfer platform IP.",
              "evidenceIds": [
                "langdock:langdock:terms"
              ]
            },
            {
              "id": "enterprise_features_closed",
              "question": "Are enterprise features in a separate closed edition?",
              "support": "unknown",
              "answer": "Are enterprise features in a separate closed edition? Unknown. A public component-by-component source licence/current revision and distinct open/closed enterprise edition mapping were not established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "licence_type: Terms grant a nonexclusive/nontransferable contract-term right, not an OSI source licence. Component-level connector/client licences are not enumerated.",
            "branding_restrictions: Terms prohibit removing proprietary notices and reselling platform access; admin branding options do not transfer platform IP.",
            "Unverified enterprise_features_closed: A public component-by-component source licence/current revision and distinct open/closed enterprise edition mapping were not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:terms"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:VEN-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "The pinned main repository is MIT licensed; no user-count or product-branding clause appears in that licence.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "os": [],
            "surfaces": [
              {
                "id": "self-hosted-web",
                "name": "Customer-operated web application and server",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "licence_type",
              "question": "Which licence applies to each component?",
              "support": "supported",
              "answer": "The main client/server repository at v0.8.8 is MIT. Separate Code Interpreter, admin-panel, connector or hosted-service components need their own licence review.",
              "evidenceIds": [
                "librechat:librechat:license"
              ]
            },
            {
              "id": "branding_restrictions",
              "question": "Do licence terms restrict branding or user counts?",
              "support": "supported",
              "answer": "The MIT grant permits use/modification/distribution subject to retaining its copyright and permission notice; it includes no 50-user cap or mandatory UI branding clause.",
              "evidenceIds": [
                "librechat:librechat:license"
              ]
            },
            {
              "id": "enterprise_features_closed",
              "question": "Are enterprise features in a separate closed edition?",
              "support": "partial",
              "answer": "The project documents a separate preview admin panel and optional code services. A closed enterprise-edition boundary for the main repository was not established.",
              "evidenceIds": [
                "librechat:librechat:admin",
                "librechat:librechat:code",
                "librechat:librechat:license"
              ]
            }
          ],
          "limitations": [
            "enterprise_features_closed: The project documents a separate preview admin panel and optional code services. A closed enterprise-edition boundary for the main repository was not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:license",
            "librechat:librechat:admin",
            "librechat:librechat:code"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:VEN-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Enterprise dedicated resource/configuration and conversation-content APIs document exports. A complete source/index/ACL workspace exit bundle has not been established.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "api"
            ],
            "version": "Public documentation checked 2026-10-26",
            "plan": "Enterprise dedicated deployment: administrative and resource APIs plus separately enabled Compliance API; Business Cloud outside this finding",
            "addOns": [
              "Dedicated Enterprise deployment and relevant API scopes; Compliance API deployment enablement"
            ],
            "deploymentMode": "dedicated-instance",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              },
              {
                "id": "api",
                "name": "Langdock public APIs and agent MCP server",
                "type": "api"
              }
            ]
          },
          "questions": [
            {
              "id": "chat_export",
              "question": "Can admins export all chats?",
              "support": "partial",
              "answer": "The dedicated-deployment Compliance API documents paginated conversation/message exports. include_message_content=true adds messages; both it and include_action_results=true add tool arguments and outputs. A scoped key is required. Cloud workspaces need separate enablement and no Business Cloud entitlement is inferred.",
              "evidenceIds": [
                "langdock:langdock:compliance-rev2-20261026"
              ]
            },
            {
              "id": "assistant_export",
              "question": "Can assistants and prompts be exported in a reusable format?",
              "support": "partial",
              "answer": "Agent API Get/Create migration exports configuration; attachments/skills must be handled separately and some fields/ownership do not transfer.",
              "evidenceIds": [
                "langdock:langdock:migration"
              ]
            },
            {
              "id": "knowledge_export",
              "question": "Can knowledge bases and their sources be exported?",
              "support": "partial",
              "answer": "Knowledge Folder API can retrieve/list files; a complete original-source/index/ACL export bundle was not demonstrated.",
              "evidenceIds": [
                "langdock:langdock:knowledge",
                "langdock:langdock:knowledge-20261026"
              ]
            },
            {
              "id": "export_format",
              "question": "Are formats documented and machine-readable?",
              "support": "partial",
              "answer": "Agent and Compliance API JSON plus usage CSV/JSON are documented; this is not a one-click complete workspace export.",
              "evidenceIds": [
                "langdock:langdock:compliance-rev2",
                "langdock:langdock:migration",
                "langdock:langdock:exports",
                "langdock:langdock:exports-20261026"
              ]
            },
            {
              "id": "post_termination_window",
              "question": "How long can data be retrieved after termination?",
              "support": "supported",
              "answer": "DPA permits exports during contract and until deletion, which occurs no later than30 days after termination subject to legal retention.",
              "evidenceIds": [
                "langdock:langdock:dpa"
              ]
            }
          ],
          "limitations": [
            "Configuration/file APIs are separate from conversation export. Dedicated Compliance API availability does not establish a Business Cloud entitlement."
          ],
          "checkedAt": "2026-10-26",
          "crossCheckedAt": "2026-10-26",
          "nextCheckAt": "2026-12-25",
          "evidenceIds": [
            "langdock:langdock:compliance-rev2",
            "langdock:langdock:migration",
            "langdock:langdock:knowledge",
            "langdock:langdock:exports",
            "langdock:langdock:dpa",
            "langdock:langdock:compliance-rev2-20261026",
            "langdock:langdock:migration-20261026",
            "langdock:langdock:knowledge-20261026",
            "langdock:langdock:exports-20261026",
            "langdock:langdock:dpa-20261026"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:VEN-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Users can export conversations in machine-readable formats; organization-wide Agent/knowledge exit completeness remains unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "partial",
              "answer": "Pinned client code exports a user-selected conversation, including optional branches/options. A documented admin bulk export of every user’s chats was not established.",
              "evidenceIds": [
                "librechat:librechat:export-pin"
              ]
            },
            {
              "id": "assistant_export",
              "question": "Can assistants and prompts be exported in a reusable format?",
              "support": "partial",
              "answer": "Beta management APIs expose Agent/Skill objects, but a reusable complete assistant/prompt export fixture was not verified.",
              "evidenceIds": [
                "librechat:librechat:api"
              ]
            },
            {
              "id": "knowledge_export",
              "question": "Can knowledge bases and their sources be exported?",
              "support": "unknown",
              "answer": "knowledge_export: Can knowledge bases and their sources be exported? No admin exit fixture, knowledge-source/index portability test or commercial post-termination retrieval window was verified; infrastructure backups are operator-owned.",
              "evidenceIds": []
            },
            {
              "id": "export_format",
              "question": "Are formats documented and machine-readable?",
              "support": "supported",
              "answer": "Conversation export code supports JSON, CSV, Markdown and text. This establishes format availability, not complete organization-data portability.",
              "evidenceIds": [
                "librechat:librechat:export-pin"
              ]
            },
            {
              "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 exit fixture, knowledge-source/index portability test or commercial post-termination retrieval window was verified; infrastructure backups are operator-owned.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "chat_export: Pinned client code exports a user-selected conversation, including optional branches/options. A documented admin bulk export of every user’s chats was not established.",
            "assistant_export: Beta management APIs expose Agent/Skill objects, but a reusable complete assistant/prompt export fixture was not verified.",
            "knowledge_export: Can knowledge bases and their sources be exported? No admin exit fixture, knowledge-source/index portability test or commercial post-termination retrieval window was verified; infrastructure backups are operator-owned.",
            "post_termination_window: How long can data be retrieved after termination? No admin exit fixture, knowledge-source/index portability test or commercial post-termination retrieval window was verified; infrastructure backups are operator-owned."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:export-pin",
            "librechat:librechat:api"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:VEN-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Berlin vendor support, public status history and a 99% monthly availability term are documented.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "support_channels",
              "question": "Which support channels are available on each plan?",
              "support": "partial",
              "answer": "Support email is documented; Enterprise has custom account management/support, and rollout programmes have shared Teams/Slack channels.",
              "evidenceIds": [
                "langdock:langdock:billing",
                "langdock:langdock:playbook"
              ]
            },
            {
              "id": "support_languages",
              "question": "Is support available in German, French or Italian?",
              "support": "partial",
              "answer": "The imprint says users and authorities can contact support@langdock.com in German and English. It does not specify contractual French or Italian support, hours or response times.",
              "evidenceIds": [
                "langdock:langdock:imprint-20261026"
              ]
            },
            {
              "id": "regional_presence",
              "question": "Is there a DACH or Swiss entity, team or partner?",
              "support": "supported",
              "answer": "Langdock GmbH contracts from Berlin, Germany.",
              "evidenceIds": [
                "langdock:langdock:terms"
              ]
            },
            {
              "id": "uptime_sla",
              "question": "Is there an uptime SLA with credits?",
              "support": "partial",
              "answer": "Terms promise at least99% monthly availability with defined exclusions and up to5h scheduled maintenance/month. Statutory remedy/credit procedure exists, but no fixed percentage-credit schedule is published.",
              "evidenceIds": [
                "langdock:langdock:terms"
              ]
            },
            {
              "id": "status_page",
              "question": "Is there a public status page with history?",
              "support": "supported",
              "answer": "Public status separates app/API/Workflow/Integration history.",
              "evidenceIds": [
                "langdock:langdock:status"
              ]
            }
          ],
          "limitations": [
            "support_channels: Support email is documented; Enterprise has custom account management/support, and rollout programmes have shared Teams/Slack channels.",
            "uptime_sla: Terms promise at least99% monthly availability with defined exclusions and up to5h scheduled maintenance/month. Statutory remedy/credit procedure exists, but no fixed percentage-credit schedule is published.",
            "Unverified support_languages: Contractual DE/FR/IT support languages, full hours/timezone and dedicated response/credit schedules were not established."
          ],
          "checkedAt": "2026-10-26",
          "crossCheckedAt": "2026-10-26",
          "nextCheckAt": "2026-12-25",
          "evidenceIds": [
            "langdock:langdock:billing",
            "langdock:langdock:playbook",
            "langdock:langdock:terms",
            "langdock:langdock:status",
            "langdock:langdock:imprint-20261026",
            "langdock:langdock:terms-20261026",
            "langdock:langdock:status-20261026"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:VEN-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Public project/community channels are available; a binding business support SLA was not established.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "partial",
              "answer": "Public GitHub issue reporting and community channels are documented; a supported enterprise channel/response-time matrix was not established for MIT self-hosting.",
              "evidenceIds": [
                "librechat:librechat:logging",
                "librechat:librechat:firstchat"
              ]
            },
            {
              "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? No DE/FR/IT support coverage, CH/DACH legal/partner presence, priced uptime credits or product-service incident-history contract was verified in the public docs, site and release 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? No DE/FR/IT support coverage, CH/DACH legal/partner presence, priced uptime credits or product-service incident-history contract was verified in the public docs, site and release pass.",
              "evidenceIds": []
            },
            {
              "id": "uptime_sla",
              "question": "Is there an uptime SLA with credits?",
              "support": "unknown",
              "answer": "uptime_sla: Is there an uptime SLA with credits? No DE/FR/IT support coverage, CH/DACH legal/partner presence, priced uptime credits or product-service incident-history contract was verified in the public docs, site and release pass.",
              "evidenceIds": []
            },
            {
              "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? No DE/FR/IT support coverage, CH/DACH legal/partner presence, priced uptime credits or product-service incident-history contract was verified in the public docs, site and release pass.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "support_channels: Public GitHub issue reporting and community channels are documented; a supported enterprise channel/response-time matrix was not established for MIT self-hosting.",
            "support_languages: Is support available in German, French or Italian? No DE/FR/IT support coverage, CH/DACH legal/partner presence, priced uptime credits or product-service incident-history contract was verified in the public docs, site and release pass.",
            "regional_presence: Is there a DACH or Swiss entity, team or partner? No DE/FR/IT support coverage, CH/DACH legal/partner presence, priced uptime credits or product-service incident-history contract was verified in the public docs, site and release pass.",
            "uptime_sla: Is there an uptime SLA with credits? No DE/FR/IT support coverage, CH/DACH legal/partner presence, priced uptime credits or product-service incident-history contract was verified in the public docs, site and release pass.",
            "status_page: Is there a public status page with history? No DE/FR/IT support coverage, CH/DACH legal/partner presence, priced uptime credits or product-service incident-history contract was verified in the public docs, site and release pass."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:logging",
            "librechat:librechat:firstchat"
          ]
        }
      ]
    },
    {
      "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": "langdock",
          "claimId": "langdock:VEN-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Rollout support starts at 250 licences; public learning material and champion guidance are available.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Business Chat & Agents; included models unless BYOK or Enterprise is explicitly named",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Azure EU default, with admin-enabled global model exceptions",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Langdock hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "onboarding_service",
              "question": "Is guided onboarding included?",
              "support": "partial",
              "answer": "Dedicated rollout/workshops/shared channels are available from250 seats; exact included versus chargeable services depends on contract.",
              "evidenceIds": [
                "langdock:langdock:playbook"
              ]
            },
            {
              "id": "user_training",
              "question": "Is end-user training offered, in which languages?",
              "support": "partial",
              "answer": "Public workshops have recordings/slides; the complete delivery-language and included-live-training matrix is not specified.",
              "evidenceIds": [
                "langdock:langdock:training"
              ]
            },
            {
              "id": "use_case_library",
              "question": "Are role-based use cases and templates provided?",
              "support": "supported",
              "answer": "Playbook recommends role-specific prompts/agents and gives structured use-case discovery material.",
              "evidenceIds": [
                "langdock:langdock:playbook"
              ]
            },
            {
              "id": "adoption_programme",
              "question": "Is there a champion or adoption programme?",
              "support": "supported",
              "answer": "Playbook includes department champions, follow-ups, hackathons and AI challenges.",
              "evidenceIds": [
                "langdock:langdock:playbook"
              ]
            },
            {
              "id": "service_cost",
              "question": "Which services cost extra?",
              "support": "partial",
              "answer": "Enterprise custom onboarding/support is quote-based; public per-workshop fees were not found.",
              "evidenceIds": [
                "langdock:langdock:billing"
              ]
            }
          ],
          "limitations": [
            "onboarding_service: Dedicated rollout/workshops/shared channels are available from250 seats; exact included versus chargeable services depends on contract.",
            "user_training: Public workshops have recordings/slides; the complete delivery-language and included-live-training matrix is not specified.",
            "service_cost: Enterprise custom onboarding/support is quote-based; public per-workshop fees were not found."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "langdock:langdock:playbook",
            "langdock:langdock:training",
            "langdock:langdock:billing"
          ]
        },
        {
          "productId": "librechat",
          "claimId": "librechat:VEN-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Self-hosting and Agent use have public setup guides; vendor-led training/adoption packages were not verified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "self-hosted-web"
            ],
            "version": "Public documentation retrieved 2026-10-21; inspected source v0.8.8 / e8f3be08623663d4ad7f7241e693c94469b63bb0",
            "plan": "MIT customer-operated LibreChat; optional separately deployed services identified per answer",
            "addOns": [],
            "deploymentMode": "on-premise",
            "region": "Customer-selected infrastructure; model, OCR, search, observability and support services separately scoped",
            "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": "unknown",
              "answer": "onboarding_service: Is guided onboarding included? No included guided rollout, local-language end-user training, champion programme, change-management service or professional-service price list was established from the official documentation and site.",
              "evidenceIds": []
            },
            {
              "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 included guided rollout, local-language end-user training, champion programme, change-management service or professional-service price list was established from the official documentation and site.",
              "evidenceIds": []
            },
            {
              "id": "use_case_library",
              "question": "Are role-based use cases and templates provided?",
              "support": "partial",
              "answer": "The Agent and setup guides include examples and tutorials; a role-based enterprise training/use-case program was not established.",
              "evidenceIds": [
                "librechat:librechat:agents",
                "librechat:librechat:firstchat"
              ]
            },
            {
              "id": "adoption_programme",
              "question": "Is there a champion or adoption programme?",
              "support": "unknown",
              "answer": "adoption_programme: Is there a champion or adoption programme? No included guided rollout, local-language end-user training, champion programme, change-management service or professional-service price list was established from the official documentation and site.",
              "evidenceIds": []
            },
            {
              "id": "service_cost",
              "question": "Which services cost extra?",
              "support": "unknown",
              "answer": "service_cost: Which services cost extra? No included guided rollout, local-language end-user training, champion programme, change-management service or professional-service price list was established from the official documentation and site.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "onboarding_service: Is guided onboarding included? No included guided rollout, local-language end-user training, champion programme, change-management service or professional-service price list was established from the official documentation and site.",
            "user_training: Is end-user training offered, in which languages? No included guided rollout, local-language end-user training, champion programme, change-management service or professional-service price list was established from the official documentation and site.",
            "use_case_library: The Agent and setup guides include examples and tutorials; a role-based enterprise training/use-case program was not established.",
            "adoption_programme: Is there a champion or adoption programme? No included guided rollout, local-language end-user training, champion programme, change-management service or professional-service price list was established from the official documentation and site.",
            "service_cost: Which services cost extra? No included guided rollout, local-language end-user training, champion programme, change-management service or professional-service price list was established from the official documentation and site."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "librechat:librechat:agents",
            "librechat:librechat:firstchat"
          ]
        }
      ]
    }
  ],
  "sources": [
    {
      "id": "langdock:langdock:models",
      "productId": "langdock",
      "kind": "vendor-claimed",
      "url": "https://langdock.com/models",
      "title": "AI Models | Langdock",
      "locator": "Provider tables",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Public model table lists current text models and EUR metered prices."
    },
    {
      "id": "langdock:langdock:model-guide",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/models-and-limits/models.md",
      "title": "Model Guide",
      "locator": "Selecting a Model, Auto and Thinking",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Users select models or Auto routing; reasoning levels vary by model."
    },
    {
      "id": "librechat:librechat:custom",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/quick_start/custom_endpoints",
      "title": "Custom endpoints",
      "locator": "Endpoint setup; API key; base URL; model list",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Operators configure compatible endpoints and customer-held keys, including local and hosted services."
    },
    {
      "id": "librechat:librechat:azure",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/librechat_yaml/ai_endpoints/azure",
      "title": "Azure OpenAI configuration",
      "locator": "Deployment groups; API credentials",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Azure OpenAI uses customer deployment groups, instance names and credentials."
    },
    {
      "id": "librechat:librechat:bedrock",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/librechat_yaml/object_structure/aws_bedrock",
      "title": "AWS Bedrock object structure",
      "locator": "Region; credentials; model selection",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Bedrock routes use customer AWS configuration and region selection."
    },
    {
      "id": "librechat:librechat:vertex",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/librechat_yaml/object_structure/anthropic_vertex",
      "title": "Anthropic Vertex AI configuration",
      "locator": "Project and region configuration",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Claude can run through customer Google Vertex AI credentials and regions."
    },
    {
      "id": "librechat:librechat:modelspec",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/librechat_yaml/object_structure/model_specs",
      "title": "Model specifications",
      "locator": "enforce; preset; modelSelect; addedEndpoints",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Administrators can enforce configured model presets and defaults; available endpoints still depend on customer credentials."
    },
    {
      "id": "librechat:librechat:agents",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/agents",
      "title": "Agents",
      "locator": "Builder; Capabilities; Version history; Sharing; Activity; tool approval",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Agents combine instructions, models, files, tools, skills and sharing permissions, with visible execution and configurable approval."
    },
    {
      "id": "librechat:librechat:ocr",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/ocr",
      "title": "OCR for documents",
      "locator": "File Context; Upload as Text; Optional OCR; Limitations",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "OCR can augment text extraction, or files can be sent to compatible provider APIs; format and model limitations remain."
    },
    {
      "id": "librechat:librechat:releases",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://github.com/LibreChat-AI/LibreChat/releases/tag/v0.8.8",
      "title": "LibreChat v0.8.8 release",
      "locator": "Highlights, 2026-10-01",
      "sourceDate": "2026-10-01",
      "retrievedAt": "2026-10-21",
      "finding": "The stable release documents agent controls, current model updates and explicitly experimental schedules/workspaces and beta Agents API."
    },
    {
      "id": "langdock:langdock:changes",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://langdock.com/changelog",
      "title": "Product Changelog | Langdock",
      "locator": "13 October 2026 model release; 15/10 September feature releases",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Dated releases document model additions, desktop apps and per-agent confirmations."
    },
    {
      "id": "langdock:langdock:billing",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/billing/pricing.md",
      "title": "https://docs.langdock.com/en/admin/billing/pricing.md",
      "locator": "Products, volume tiers, Enterprise and API",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Business covers up to 1000 users, BYOK separates model costs, workflows/API are metered and Enterprise is quoted."
    },
    {
      "id": "langdock:langdock:byok",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/byok/byok.md",
      "title": "https://docs.langdock.com/en/admin/byok/byok.md",
      "locator": "Options, requirements, setup and usage export",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "BYOK replaces completion, embedding and image routes; missing model categories break relevant features."
    },
    {
      "id": "langdock:langdock:byok-routes",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/byok/setup-guides.md",
      "title": "Setup Guides",
      "locator": "Provider setup tabs and OpenAI-compatible endpoints",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Named BYOK routes include cloud providers, Vercel Gateway and self-hosted OpenAI-compatible HTTPS endpoints."
    },
    {
      "id": "langdock:langdock:research",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/chat/tools/deep-research.md",
      "title": "Deep Research",
      "locator": "Model configuration, limitations and usage",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Deep Research creates cited public-web reports and has a 15-per-30-days cap for standard keys."
    },
    {
      "id": "librechat:librechat:firstchat",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/quick_start/first_chat",
      "title": "Your first chat",
      "locator": "Software you host yourself; endpoint credentials; public demo",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "LibreChat ships without a model key; the public demo is for evaluation rather than private or durable data."
    },
    {
      "id": "librechat:librechat:code",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/code_interpreter",
      "title": "Code Interpreter API",
      "locator": "Setup; self-hosted service; workspace permissions; generated files",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "A separate code execution service supports multiple languages and downloadable generated files; stateful/attached modes are experimental."
    },
    {
      "id": "librechat:librechat:license",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://raw.githubusercontent.com/LibreChat-AI/LibreChat/e8f3be08623663d4ad7f7241e693c94469b63bb0/LICENSE",
      "title": "LibreChat v0.8.8 MIT licence",
      "locator": "LICENSE, permission grant and notice requirement",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The pinned repository is MIT licensed with copyright/permission notice preservation and an as-is disclaimer."
    },
    {
      "id": "langdock:langdock:terms",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://langdock.com/terms",
      "title": "Terms of Use | Langdock",
      "locator": "Sections 6/7/9/12/15/16/19 and Appendix 1",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Terms 2.1 prohibit training and describe provider-specific residency and retention agreements, proprietary use rights and contract defaults."
    },
    {
      "id": "langdock:langdock:byok-models",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/byok/adding-models.md",
      "title": "How to add your own models",
      "locator": "Custom model setup and deployment configuration",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Admins configure completion, image and embedding models, deployments, capability flags and USD accounting rates."
    },
    {
      "id": "librechat:librechat:ragcfg",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/rag_api",
      "title": "RAG API configuration",
      "locator": "Embedding providers; lite image; full image",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "OpenAI, Hugging Face and Ollama embedding configurations are documented; image choice affects local embedding support."
    },
    {
      "id": "langdock:langdock:pricing",
      "productId": "langdock",
      "kind": "vendor-claimed",
      "url": "https://langdock.com/pricing",
      "title": "Pricing Plans | Langdock",
      "locator": "Chat & Agents, price breakdown, add-ons and API",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Business headline prices, annual discounts, workflow packages and Governance promotion are public."
    },
    {
      "id": "langdock:langdock:workspace",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/workspace/workspace.md",
      "title": "Workspace Settings",
      "locator": "Product Settings, Models, Analytics and Customizations",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Workspace settings define retention, model defaults, EU-only default enablement, analytics and product controls."
    },
    {
      "id": "langdock:langdock:limits",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/models-and-limits/fair-usage-policy.md",
      "title": "Usage Limits",
      "locator": "Usage windows and exhaustion",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Five-hour and weekly usage windows trigger extra usage or a fallback; spam protection caps 250 messages per three hours."
    },
    {
      "id": "langdock:langdock:extra",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/manage-usage/extra-usage.md",
      "title": "Extra Usage",
      "locator": "Enabling extra usage, spend limits and API exceptions",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Extra usage has workspace/plan/user caps and fallback behavior with possible final-response overshoot."
    },
    {
      "id": "librechat:librechat:access",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/access_control",
      "title": "Granular access control",
      "locator": "Feature permissions; Resource ACLs; System grants; Groups",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Roles, groups and resource ACLs govern features and sharing, with Entra groups synchronized at sign-in."
    },
    {
      "id": "librechat:librechat:admin",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/admin_panel",
      "title": "LibreChat Admin Panel",
      "locator": "Status Preview; separate service; admin APIs",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "A separate browser management panel is available for testing and uses the underlying LibreChat admin APIs."
    },
    {
      "id": "librechat:librechat:balance",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/librechat_yaml/object_structure/balance",
      "title": "Balance configuration",
      "locator": "enabled; startBalance; refill configuration",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Optional token-credit balances initialize and refill user credits; tracking is disabled by default."
    },
    {
      "id": "librechat:librechat:mod",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/mod_system",
      "title": "Automated moderation",
      "locator": "Violation scoring and limits",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Moderation scores abusive login/registration/message activity and may ban users; it is not a documented content DLP classifier."
    },
    {
      "id": "librechat:librechat:balance-pin",
      "productId": "librechat",
      "kind": "source-inspected",
      "url": "https://raw.githubusercontent.com/LibreChat-AI/LibreChat/e8f3be08623663d4ad7f7241e693c94469b63bb0/packages/api/src/middleware/checkBalance.ts",
      "title": "LibreChat balance admission implementation",
      "locator": "packages/api/src/middleware/checkBalance.ts, checkBalance",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The pinned middleware reserves user credits and throws a TOKEN_BALANCE error when the reservation cannot be admitted.",
      "commit": "e8f3be08623663d4ad7f7241e693c94469b63bb0",
      "path": "packages/api/src/middleware/checkBalance.ts"
    },
    {
      "id": "langdock:langdock:files",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/troubleshooting/faq/supported-file-types.md",
      "title": "Which file types does Langdock support?",
      "locator": "Format/size tables and processing limits",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Supported files have different type-specific size limits and processing restrictions."
    },
    {
      "id": "langdock:langdock:file-count",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/troubleshooting/faq/file-limit.md",
      "title": "What are the file limits in the chat and in agents?",
      "locator": "Chat and agent attachment limits",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Web message uploads allow 50 files, mobile five; agent knowledge and knowledge bases have separate limits."
    },
    {
      "id": "langdock:langdock:retrieval",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/guides/knowledge/knowledge-basics.md",
      "title": "Knowledge Basics",
      "locator": "Direct context and embedding search",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Direct file previews differ from semantic search over 2000-character chunks, returning up to 50 passages."
    },
    {
      "id": "librechat:librechat:rag",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/rag_api",
      "title": "RAG API",
      "locator": "Architecture; document indexing; embeddings; semantic search",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "A separate RAG API indexes uploaded content in PostgreSQL/PGVector for retrieval."
    },
    {
      "id": "librechat:librechat:text",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/upload_as_text",
      "title": "Upload files as text",
      "locator": "Full text extraction and context",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Text upload injects extracted file content rather than relying only on vector retrieval."
    },
    {
      "id": "librechat:librechat:filecfg",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/librechat_yaml/object_structure/file_config",
      "title": "File configuration",
      "locator": "File limits; MIME patterns; provider routes",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "File limits and formats are configurable by endpoint and file processing route."
    },
    {
      "id": "librechat:librechat:r4-spreadsheet-parser",
      "productId": "librechat",
      "kind": "source-inspected",
      "url": "https://github.com/LibreChat-AI/LibreChat/blob/a378657583567310c841d652b0f6b00c83e2bd6b/packages/api/src/files/documents/crud.ts",
      "title": "LibreChat spreadsheet text parser",
      "locator": "getParserForMimeType; excelSheetToText, lines 109-129",
      "sourceDate": "2026-10-24",
      "retrievedAt": "2026-10-26",
      "finding": "The built-in parser accepts XLSX/XLS/ODS and serializes each sheet as its name followed by CSV values. It does not establish preserved workbook layout, recalculated formulas or fixture accuracy.",
      "commit": "a378657583567310c841d652b0f6b00c83e2bd6b",
      "path": "packages/api/src/files/documents/crud.ts"
    },
    {
      "id": "librechat:librechat:r4-text-current",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/upload_as_text",
      "title": "LibreChat current Upload as Text guide",
      "locator": "Built-in parser; supported documents; truncation",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "The development guide lists XLSX/XLS/ODS parsing up to 15 MB and token-bounded text injection, not a formatted spreadsheet editor."
    },
    {
      "id": "langdock:langdock:knowledge",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/library/knowledge-bases.md",
      "title": "Knowledge bases",
      "locator": "Creation, sharing, limits and agent use",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Persistent shareable knowledge bases accept up to 1000 text documents, search chunks and attach to agents."
    },
    {
      "id": "langdock:langdock:agents",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/agents/configuration.md",
      "title": "Agent Configuration",
      "locator": "Agent configuration, knowledge and source restriction",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Agents combine instructions, files, folders, models, actions, skills and subagents, with optional source-access restrictions."
    },
    {
      "id": "librechat:librechat:projects",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/projects",
      "title": "Projects",
      "locator": "Availability; personal scope; files and instructions",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Projects persist files and instructions across a user’s chats but cannot be shared or transferred."
    },
    {
      "id": "langdock:langdock:sync",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/guides/integrations/folder-sync.md",
      "title": "Folder Sync",
      "locator": "Setup, permission checks, sync behavior and owner removal",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Daily folder sync supports SharePoint, OneDrive, Drive and Confluence, with real-time user access checks."
    },
    {
      "id": "langdock:langdock:integrations",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/integrations/integration-directory.md",
      "title": "Integration Directory",
      "locator": "Native integration directory",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The native directory lists Microsoft, Google, Atlassian, CRM, BI, vector search, DeepL and audio integrations."
    },
    {
      "id": "langdock:langdock:mcp",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/guides/integrations/mcp/mcp.md",
      "title": "Model Context Protocol (MCP)",
      "locator": "Transports, authentication and tool confirmation",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "MCP clients support Streamable HTTP/SSE and several authentication types; new tools do not require confirmation by default."
    },
    {
      "id": "librechat:librechat:sharepoint",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/sharepoint",
      "title": "SharePoint and OneDrive integration",
      "locator": "Prerequisites; delegated permissions; admin consent",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The Microsoft file picker uses Entra token reuse and delegated on-behalf-of downloads to attach files."
    },
    {
      "id": "librechat:librechat:mcp",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/mcp",
      "title": "MCP",
      "locator": "YAML/UI setup; authentication; ownership and selection",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "MCP servers can be configured through YAML or the permission-gated UI, including per-user OAuth."
    },
    {
      "id": "librechat:librechat:mcpcfg",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/librechat_yaml/object_structure/mcp_servers",
      "title": "MCP server configuration",
      "locator": "Transport examples; headers; OAuth",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Configuration includes stdio, SSE and Streamable HTTP transports and server-specific credentials."
    },
    {
      "id": "langdock:langdock:labels",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/manage-integrations/sensitivity-label-policy.md",
      "title": "Sensitivity Label Policy",
      "locator": "Availability, enforcement, exceptions and unsupported areas",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "A request-enabled Purview label policy filters supported integrations, with documented actions and upload exceptions."
    },
    {
      "id": "langdock:langdock:actions",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/manage-integrations/manage-action-access.md",
      "title": "Manage Action Access",
      "locator": "Access settings and native-action exception",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Admins share integrations and actions with users/groups/API keys; native core actions cannot be disabled."
    },
    {
      "id": "librechat:librechat:compose-pin",
      "productId": "librechat",
      "kind": "source-inspected",
      "url": "https://raw.githubusercontent.com/LibreChat-AI/LibreChat/e8f3be08623663d4ad7f7241e693c94469b63bb0/docker-compose.yml",
      "title": "LibreChat Docker service configuration",
      "locator": "docker-compose.yml, api/mongodb/vectordb/rag_api services",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The pinned example runs a MongoDB primary store and a separate PGVector/RAG service with customer-mounted data.",
      "commit": "e8f3be08623663d4ad7f7241e693c94469b63bb0",
      "path": "docker-compose.yml"
    },
    {
      "id": "langdock:langdock:chat",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/chat/functionalities.md",
      "title": "Basic Chat functionalities",
      "locator": "Model selector and tool availability",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Chat supports model selection and governed tools; memory, deep research and agent tool conditions differ."
    },
    {
      "id": "langdock:langdock:account",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/account/account.md",
      "title": "Account Settings",
      "locator": "Preferences, shared chats, custom instructions and memory",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Account settings include five UI languages, personal controls and temporary 72-hour Support sharing."
    },
    {
      "id": "langdock:langdock:memory",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/chat/tools/memory.md",
      "title": "Memory",
      "locator": "Availability, management and limits",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Memory works in regular chats only, with a 50-memory cap and view/edit/delete controls."
    },
    {
      "id": "librechat:librechat:memory",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/memory",
      "title": "User memory",
      "locator": "Key/value store; controls; disabled by default",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Configured user memory stores cross-chat key/value context with user editing controls; it does not index all past chats."
    },
    {
      "id": "langdock:langdock:roles",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/workspace/roles.md",
      "title": "Roles and extra permissions",
      "locator": "System roles, custom roles and group permissions",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "System roles, up to five custom roles and delegated group permissions are configurable."
    },
    {
      "id": "librechat:librechat:images",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/image_gen",
      "title": "Image generation and editing",
      "locator": "OpenAI Image Tools; provider setup; admin configuration",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Agents can use configured image tools for generation/editing; provider credentials and model parameters are separate."
    },
    {
      "id": "langdock:langdock:web",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/chat/tools/web-search.md",
      "title": "Web Search",
      "locator": "Search behavior and source inspection",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Web search returns inspectable citations and has a separate open-URL tool."
    },
    {
      "id": "librechat:librechat:web",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/web_search",
      "title": "Web search",
      "locator": "Provider, scraper and reranker configuration",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Search can use Serper, SearXNG, Tavily or Keenable, with independently configured scraping and optional reranking."
    },
    {
      "id": "langdock:langdock:workflows",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/workflows/introduction.md",
      "title": "Introduction to Workflows",
      "locator": "Introduction and activation",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Workflows chain agents, integrations and logic with form, schedule and event triggers after admin activation."
    },
    {
      "id": "librechat:librechat:schedule",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/scheduled_chats",
      "title": "Scheduled Chats",
      "locator": "Experimental and disabled by default; runtime and permissions",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Opt-in experimental schedules execute saved Agents with cron/time zones and recheck access and balance before running."
    },
    {
      "id": "librechat:librechat:api",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/agents_api",
      "title": "Agents API beta",
      "locator": "Inference; management; Agent Events; authentication",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The beta API exposes chat/Responses inference, Agent/Skill management and authenticated event delivery."
    },
    {
      "id": "langdock:langdock:hitl",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/workflows/fundamentals/human-in-the-loop.md",
      "title": "Human in the Loop",
      "locator": "Approval and action confirmation",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Workflow runs can pause for editor approval or per-action confirmation."
    },
    {
      "id": "langdock:langdock:excel",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/microsoft-add-ins/excel.md",
      "title": "Excel Add-in",
      "locator": "Install, workbook operations and edit permissions",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The Excel add-in reads and writes workbooks with default edit confirmation and named version prerequisites."
    },
    {
      "id": "langdock:langdock:outlook-rev2",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/microsoft-add-ins/outlook.md",
      "title": "Outlook Add-in",
      "locator": "Installation and Exchange Online prerequisites; edit permissions; HTTP200 Markdown re-read2026-10-21",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The Outlook add-in requires workspace-admin access and Exchange Online; edits ask by default and sending requires an explicit requested and confirmed action."
    },
    {
      "id": "langdock:langdock:outlook-marketplace",
      "productId": "langdock",
      "kind": "vendor-claimed",
      "url": "https://marketplace.microsoft.com/en-us/product/WA200011534?tab=Overview",
      "title": "Langdock for Outlook, by Langdock GmbH",
      "locator": "Overview and eligibility sentence",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Vendor listing offers the add-in to every paid Langdock plan and trials, with draft review before sending."
    },
    {
      "id": "langdock:langdock:outlook-rev2-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/microsoft-add-ins/outlook.md",
      "title": "Outlook Add-in",
      "locator": "Installation and Exchange Online prerequisites; edit permissions; HTTP200 Markdown re-read2026-10-21",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "The Outlook add-in requires workspace-admin access and Exchange Online; edits ask by default and sending requires an explicit requested and confirmed action."
    },
    {
      "id": "langdock:langdock:pricing-20261026",
      "productId": "langdock",
      "kind": "vendor-claimed",
      "url": "https://langdock.com/pricing",
      "title": "Pricing Plans | Langdock",
      "locator": "Chat & Agents, price breakdown, add-ons and API",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "Business headline prices, annual discounts, workflow packages and Governance promotion are public."
    },
    {
      "id": "langdock:langdock:changes-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://langdock.com/changelog",
      "title": "Product Changelog | Langdock",
      "locator": "13 October 2026 model release; 15/10 September feature releases",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "Dated releases document model additions, desktop apps and per-agent confirmations."
    },
    {
      "id": "langdock:langdock:outlook-admin-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/manage-integrations/add-in-setup-guides/outlook.md",
      "title": "Outlook Add-in setup",
      "locator": "Availability and access settings",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "Admins set Outlook add-in access to Nobody, Everyone or Specific members and groups; Outlook Email and Calendar integrations have separate access/scopes."
    },
    {
      "id": "langdock:langdock:agents-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/agents/configuration.md",
      "title": "Agent Configuration",
      "locator": "Agent configuration, knowledge and source restriction",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "Agents combine instructions, files, folders, models, actions, skills and subagents, with optional source-access restrictions."
    },
    {
      "id": "langdock:langdock:research-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/chat/tools/deep-research.md",
      "title": "Deep Research",
      "locator": "Model configuration, limitations and usage",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "Deep Research creates cited public-web reports and has a 15-per-30-days cap for standard keys."
    },
    {
      "id": "langdock:langdock:hitl-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/workflows/fundamentals/human-in-the-loop.md",
      "title": "Human in the Loop",
      "locator": "Approval and action confirmation",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "Workflow runs can pause for editor approval or per-action confirmation."
    },
    {
      "id": "langdock:langdock:mcp-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/guides/integrations/mcp/mcp.md",
      "title": "Model Context Protocol (MCP)",
      "locator": "Transports, authentication and tool confirmation",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "MCP clients support Streamable HTTP/SSE and several authentication types; new tools do not require confirmation by default."
    },
    {
      "id": "langdock:langdock:excel-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/microsoft-add-ins/excel.md",
      "title": "Excel Add-in",
      "locator": "Install, workbook operations and edit permissions",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "The Excel add-in reads and writes workbooks with default edit confirmation and named version prerequisites."
    },
    {
      "id": "langdock:langdock:mcp-server",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/guides/integrations/mcp/langdock-agent-mcp-server.md",
      "title": "Langdock Agent MCP Server",
      "locator": "Endpoint, authentication and tools",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "A public MCP endpoint exposes workspace agents under Agent API scope."
    },
    {
      "id": "langdock:langdock:desktop-rev2",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/desktop-app/deploy.md",
      "title": "Enterprise Guide for Langdock Desktop",
      "locator": "Windows machine-wide MSIX/Intune; macOS PKG/DMG/Jamf/Kandji; HTTP200 Markdown re-read2026-10-21",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Managed desktop rollout supports machine-wide Windows packages and signed/notarized macOS installers; these installation instructions do not change subscription entitlements."
    },
    {
      "id": "langdock:langdock:mobile-rev2",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/mobile-app/introduction.md",
      "title": "Mobile App",
      "locator": "Download routes",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "HTTP200 Markdown introduction links official Apple App Store and Google Play mobile clients."
    },
    {
      "id": "langdock:langdock:desktop-product",
      "productId": "langdock",
      "kind": "vendor-claimed",
      "url": "https://langdock.com/products/desktop",
      "title": "Langdock Desktop",
      "locator": "Downloads and Q&A",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Windows/macOS desktop clients use the same workspace and approved models as web."
    },
    {
      "id": "langdock:langdock:mobile-product",
      "productId": "langdock",
      "kind": "vendor-claimed",
      "url": "https://langdock.com/mobile",
      "title": "Langdock Mobile",
      "locator": "App Store/Google Play links and Q&A",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Vendor mobile page offers iOS/Android clients using the workspace-approved models."
    },
    {
      "id": "librechat:librechat:retention",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/temporary_chat",
      "title": "Temporary chat and data retention",
      "locator": "Default 30-day temporary retention; all/ephemeral; deadlines; memories",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Operators configure expiry for chats/messages/files/shared links; normal chats do not expire by default and memories are excluded."
    },
    {
      "id": "librechat:librechat:insights",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/insights",
      "title": "Admin Insights",
      "locator": "Opt-in; capabilities; metrics; tenant scope",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Insights reports persisted MongoDB activity and identifiable recent conversations; it is not monetary billing analytics."
    },
    {
      "id": "librechat:librechat:local",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/local/docker",
      "title": "Docker installation",
      "locator": "Installation; configuration; updating",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Docker self-installation runs LibreChat with its configured service dependencies."
    },
    {
      "id": "langdock:langdock:teams",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/guides/chatbots/teams-bot.md",
      "title": "How to use the Teams Bot",
      "locator": "Private chats, channels and admin install",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Teams has personal bot chats and channel threads with team participation."
    },
    {
      "id": "langdock:langdock:teams-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/guides/chatbots/teams-bot.md",
      "title": "How to use the Teams Bot",
      "locator": "Installation note; Two Ways to Use the Teams Bot; Private Chat; Using Langdock in Channels; Limitations",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "The public Markdown guide was retrieved with HTTP 200. A workspace admin installs the Teams app, which supports private bot chat and channel threads using @Langdock; it is separate from the web chat history."
    },
    {
      "id": "langdock:langdock:editor",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/chat/document-editor.md",
      "title": "Document Editor",
      "locator": "Editor, AI edits, export and limitations",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Document Editor replaces Canvas and exports Markdown, Word and PDF; imported Word/PDF cannot be edited directly there."
    },
    {
      "id": "langdock:langdock:images",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/chat/tools/image-generation.md",
      "title": "Image Generation",
      "locator": "Generating images and model choice",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Chat invokes configured image-generation models with a user model selector."
    },
    {
      "id": "librechat:librechat:speech",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/librechat_yaml/object_structure/speech",
      "title": "Speech configuration",
      "locator": "Speech-to-text and text-to-speech engines",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Administrators configure audio provider engines and models separately from text generation."
    },
    {
      "id": "librechat:librechat:speech-conversation-r2",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/stt_tts",
      "title": "LibreChat conversation-mode speech settings",
      "locator": "Speech Tab: conversationMode, autoTranscribeAudio, autoSendText, automaticPlayback; engine and allowedAddresses settings",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Conversation mode chains transcription, auto-send and TTS playback for hands-free turns after microphone activation; engines and audio routing are separately configured."
    },
    {
      "id": "langdock:langdock:analysis",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/guides/data-analysis.md",
      "title": "Using Langdock for Data Analysis",
      "locator": "Analysis procedure and outputs",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Tabular analysis produces charts and downloadable spreadsheet and document formats."
    },
    {
      "id": "librechat:librechat:artifacts",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/artifacts",
      "title": "Artifacts",
      "locator": "React, HTML and Mermaid previews",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Artifacts render generated React, HTML and Mermaid content in the chat interface."
    },
    {
      "id": "langdock:langdock:projects",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/chat/projects.md",
      "title": "Projects",
      "locator": "Project sharing and permissions",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Shared projects expose all project chats/files to members and can be shared with users/groups, not the whole workspace."
    },
    {
      "id": "librechat:librechat:share",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/shareable_links",
      "title": "Shareable links",
      "locator": "Authentication defaults; file snapshots; continuation",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Shared links publish a transcript branch and optional file snapshots independently of the owner’s live file ACL."
    },
    {
      "id": "librechat:librechat:i18n-pin",
      "productId": "librechat",
      "kind": "source-inspected",
      "url": "https://raw.githubusercontent.com/LibreChat-AI/LibreChat/e8f3be08623663d4ad7f7241e693c94469b63bb0/client/src/locales/i18n.ts",
      "title": "LibreChat locale registration",
      "locator": "client/src/locales/i18n.ts, language resources",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The pinned client registers English, German, French and Italian translations among its supported locales.",
      "commit": "e8f3be08623663d4ad7f7241e693c94469b63bb0",
      "path": "client/src/locales/i18n.ts"
    },
    {
      "id": "langdock:langdock:saml",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/security/saml/saml.md",
      "title": "https://docs.langdock.com/en/admin/security/saml/saml.md",
      "locator": "Checklist, supported IdPs, external authentication and MFA",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "SAML 2.0 requires a verified domain; MFA comes from the IdP rather than standalone Langdock MFA."
    },
    {
      "id": "librechat:librechat:auth",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/authentication",
      "title": "Authentication system",
      "locator": "Required two-factor authentication; Registration; User scripts",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Local/LDAP accounts can be required to use TOTP; federated MFA belongs to the identity provider and account creation/deletion scripts are documented."
    },
    {
      "id": "librechat:librechat:openid",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/authentication/OAuth2-OIDC",
      "title": "OAuth2 and OIDC",
      "locator": "Supported providers; setup",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "LibreChat documents OAuth2/OIDC providers including Microsoft Entra, Google, Keycloak and Auth0."
    },
    {
      "id": "librechat:librechat:saml",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/authentication/SAML",
      "title": "SAML authentication",
      "locator": "Overview and requirements",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "SAML is a documented authentication option for the self-hosted application."
    },
    {
      "id": "librechat:librechat:entra",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/authentication/OAuth2-OIDC/azure",
      "title": "Azure Entra authentication",
      "locator": "Group claims; token reuse; Microsoft Graph integration",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Entra OIDC supports group-based admission and Graph integration using configured scopes and token reuse."
    },
    {
      "id": "langdock:langdock:scim",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/security/scim/scim.md",
      "title": "https://docs.langdock.com/en/admin/security/scim/scim.md",
      "locator": "Overview and prerequisites",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "SCIM 2.0 supports Entra provisioning after SAML setup and domain verification."
    },
    {
      "id": "langdock:langdock:scim-entra",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/security/scim/entra.md",
      "title": "https://docs.langdock.com/en/admin/security/scim/entra.md",
      "locator": "Target Object Actions and optional group synchronization",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Entra target actions control provisioning/deactivation and group synchronization."
    },
    {
      "id": "langdock:langdock:leaver",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/manage-agents/unassign-agents.md",
      "title": "Unassign Agents",
      "locator": "Unassigned agents and reassignment",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Agents whose owner is deactivated keep functioning but cannot be edited until reassigned."
    },
    {
      "id": "langdock:langdock:exports",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/compliance-and-governance/usage-exports.md",
      "title": "Usage Exports",
      "locator": "Export data types, limits and user-level data",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Usage CSV exports span users, agents, keys, projects, models and workflows, with user-detail privacy controls."
    },
    {
      "id": "librechat:librechat:tokens",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/token_usage",
      "title": "Token usage",
      "locator": "Context cost; transactions; per-endpoint token rates",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Usage and estimated costs use recorded tokens and configured provider rates; transactions are distinct from balance enforcement."
    },
    {
      "id": "langdock:langdock:byok-limits",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/manage-usage/byok/usage-limits.md",
      "title": "Usage and spend limits",
      "locator": "Scope, unpriced models and spend limits",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "BYOK cost limits depend on configured prices and exclude backbone, workflows and workspace API usage."
    },
    {
      "id": "langdock:langdock:workflow-limits",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/manage-workflows/spend-limits.md",
      "title": "Workflow limits",
      "locator": "Spend limits and execution step cap",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Workflow AI use has a separate workspace EUR limit and per-workflow USD limits that block new runs."
    },
    {
      "id": "langdock:langdock:audit",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/developer/audit-logs-api/intro-to-audit-logs-api.md",
      "title": "Audit Logs API Overview",
      "locator": "Event schema, retention and prerequisites",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Audit events retain 90 days and are retrievable by a dedicated-scope admin API for SIEM ingestion."
    },
    {
      "id": "langdock:langdock:compliance-rev2",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/developer/compliance-api/export-tool-results.md",
      "title": "Export tool parameters and outputs",
      "locator": "Before You Start, parameters and conversation endpoints; HTTP200 Markdown re-read2026-10-21",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Cloud Compliance API is workspace-enable­ment gated; dedicated deployments serve it unless disabled. Conversation exports include messages and tool inputs/outputs only with both explicit flags."
    },
    {
      "id": "langdock:langdock:compliance-rev2-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/developer/compliance-api/export-tool-results.md",
      "title": "Export tool parameters and outputs",
      "locator": "Before You Start, parameters and conversation endpoints; HTTP200 Markdown re-read2026-10-21",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "Cloud Compliance API is workspace-enable­ment gated; dedicated deployments serve it unless disabled. Conversation exports include messages and tool inputs/outputs only with both explicit flags."
    },
    {
      "id": "langdock:langdock:audit-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/developer/audit-logs-api/intro-to-audit-logs-api.md",
      "title": "Audit Logs API Overview",
      "locator": "Event schema, retention and prerequisites",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "Audit events retain 90 days and are retrievable by a dedicated-scope admin API for SIEM ingestion."
    },
    {
      "id": "langdock:langdock:workspace-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/workspace/workspace.md",
      "title": "Workspace Settings",
      "locator": "Product Settings, Models, Analytics and Customizations",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "Workspace settings define retention, model defaults, EU-only default enablement, analytics and product controls."
    },
    {
      "id": "librechat:librechat:logging",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/logging",
      "title": "Logging",
      "locator": "Error/debug logs; rotation; external tools",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Backend operational logs are written to customer files and can feed external tools; the guide describes 14-day rotation rather than a compliance archive."
    },
    {
      "id": "librechat:librechat:r4-content-filter",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/librechat_yaml/object_structure/message_filter",
      "title": "LibreChat development content-filter configuration",
      "locator": "Source-Aware Filters; Pattern Configuration; Redaction; File Fields",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "Opt-in base-YAML policies inspect selected message/file content; block and audit differ from limited Agent text redaction. This is development documentation, not a hosted DLP assurance."
    },
    {
      "id": "librechat:librechat:r4-pii-runtime",
      "productId": "librechat",
      "kind": "source-inspected",
      "url": "https://github.com/LibreChat-AI/LibreChat/blob/a378657583567310c841d652b0f6b00c83e2bd6b/packages/api/src/protection/runtime.ts",
      "title": "LibreChat content-inspection runtime",
      "locator": "createConfiguredContentInspector; source rule configuration",
      "sourceDate": "2026-10-24",
      "retrievedAt": "2026-10-26",
      "finding": "Source-aware configured inspection executes in the LibreChat API. Missing policy disables that scope; configured actions and fields bound inspection.",
      "commit": "a378657583567310c841d652b0f6b00c83e2bd6b",
      "path": "packages/api/src/protection/runtime.ts"
    },
    {
      "id": "librechat:librechat:r4-patterns",
      "productId": "librechat",
      "kind": "source-inspected",
      "url": "https://github.com/LibreChat-AI/LibreChat/blob/a378657583567310c841d652b0f6b00c83e2bd6b/packages/api/src/protection/detectors/pattern.ts",
      "title": "LibreChat pattern detector",
      "locator": "STARTER_PATTERNS; configured RE2JS rules",
      "sourceDate": "2026-10-24",
      "retrievedAt": "2026-10-26",
      "finding": "Default starter patterns detect credential-shaped tokens/headers. Operator custom patterns use bounded regular expressions; a generic comprehensive PII classifier is not established.",
      "commit": "a378657583567310c841d652b0f6b00c83e2bd6b",
      "path": "packages/api/src/protection/detectors/pattern.ts"
    },
    {
      "id": "librechat:librechat:r4-private-submission",
      "productId": "librechat",
      "kind": "source-inspected",
      "url": "https://github.com/LibreChat-AI/LibreChat/blob/a378657583567310c841d652b0f6b00c83e2bd6b/packages/api/src/protection/private/submission.ts",
      "title": "LibreChat private text submission",
      "locator": "createPrivateTextIngress; fresh Agent text and clientRequestId checks",
      "sourceDate": "2026-10-24",
      "retrievedAt": "2026-10-26",
      "finding": "The private text ingress permits configured redaction only on eligible fresh interactive Agent text. Original content is encrypted; edit/resume/file paths do not gain blanket redaction.",
      "commit": "a378657583567310c841d652b0f6b00c83e2bd6b",
      "path": "packages/api/src/protection/private/submission.ts"
    },
    {
      "id": "librechat:librechat:r4-filter-middleware",
      "productId": "librechat",
      "kind": "source-inspected",
      "url": "https://github.com/LibreChat-AI/LibreChat/blob/a378657583567310c841d652b0f6b00c83e2bd6b/packages/api/src/middleware/messageFilterPii.ts",
      "title": "LibreChat API content-filter middleware",
      "locator": "createMessageFilterPii; contentFilterBlockResponse; uninspectable response",
      "sourceDate": "2026-10-24",
      "retrievedAt": "2026-10-26",
      "finding": "The server middleware applies configured inspection and rejects blocked/uninspectable requests with HTTP 400. No deployment or detection fixture was run.",
      "commit": "a378657583567310c841d652b0f6b00c83e2bd6b",
      "path": "packages/api/src/middleware/messageFilterPii.ts"
    },
    {
      "id": "librechat:librechat:r4-config-1318",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/changelog/config_v1.3.18",
      "title": "LibreChat config v1.3.18 changelog",
      "locator": "October 22, 2026; opt-in PII redaction; retention mode",
      "sourceDate": "2026-10-22",
      "retrievedAt": "2026-10-26",
      "finding": "Dated development config changes add limited Agent text redaction and ephemeral retention mode. These are not a promise of universal redaction or a vendor zero-retention contract."
    },
    {
      "id": "langdock:langdock:gov",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/governance/compliance-rules.md",
      "title": "Compliance Rules",
      "locator": "Rule operation, failures and analytics",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Custom agent compliance checks produce pass/fail and severity results with per-rule analytics."
    },
    {
      "id": "librechat:librechat:interface",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/configuration/librechat_yaml/object_structure/interface",
      "title": "Interface configuration",
      "locator": "Feature permissions; custom welcome and terms",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Administrators configure UI feature permissions and usage terms in the self-hosted deployment."
    },
    {
      "id": "langdock:langdock:security",
      "productId": "langdock",
      "kind": "vendor-claimed",
      "url": "https://langdock.com/security",
      "title": "security",
      "locator": "Deployment, security, BYOK and certifications",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Default Azure EU SaaS, managed dedicated from 2000 and customer-cloud/on-premise from 5000 seats are advertised."
    },
    {
      "id": "langdock:langdock:dpa",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://langdock.com/dpa",
      "title": "Data Processing Agreement | Langdock",
      "locator": "Sections 7-12 and Appendices 1/2",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "DPA 2.1 defines third-country instructions, subprocessor notice and deletion/export rules, with an embedded provider table."
    },
    {
      "id": "librechat:librechat:remote",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/remote",
      "title": "Remote hosting",
      "locator": "Hosting options; security considerations",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The application can be deployed on customer-selected remote servers with operator-managed security."
    },
    {
      "id": "librechat:librechat:demo",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/demo/terms",
      "title": "LibreChat Demo terms",
      "locator": "Evaluation scope; retention; disclaimer",
      "sourceDate": "2026-03-12",
      "retrievedAt": "2026-10-21",
      "finding": "The free hosted Demo is offered as-is with possible data cleanups and no durable business-service guarantee."
    },
    {
      "id": "langdock:langdock:terms-rev2",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://langdock.com/terms",
      "title": "Terms of Use | Langdock",
      "locator": "Section9 and Appendix1 Microsoft Azure service terms",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Microsoft Azure routes use Modified Abuse Monitoring, disabling provider prompt/output retention and human abuse review. Other provider/model routes require separate assessment."
    },
    {
      "id": "langdock:langdock:retention",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/troubleshooting/faq/data-retention-for-files.md",
      "title": "How long are files saved in Langdock?",
      "locator": "Retention by object type",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Deleted chats are immediately unavailable and unreferenced files are cleaned overnight; shared file references survive."
    },
    {
      "id": "librechat:librechat:settings",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/docs/features/settings",
      "title": "Personal settings",
      "locator": "Language; speech; data controls",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Users configure interface language, audio and personal data controls."
    },
    {
      "id": "librechat:librechat:owner",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://clickhouse.com/blog/clickhouse-acquires-librechat",
      "title": "ClickHouse acquisition of LibreChat",
      "locator": "Announcement, November 4, 2025",
      "sourceDate": "2025-11-04",
      "retrievedAt": "2026-10-21",
      "finding": "ClickHouse announced the acquisition of LibreChat and that Danny Avila and the team joined ClickHouse."
    },
    {
      "id": "langdock:langdock:legal",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/compliance-and-governance/legal-compliance.md",
      "title": "https://docs.langdock.com/en/admin/compliance-and-governance/legal-compliance.md",
      "locator": "Legal and compliance links",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "DPA applies automatically and a Professional Secrecy Addendum and certificates are linked from the Trust Center."
    },
    {
      "id": "langdock:langdock:ip",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/security/ip-restrictions.md",
      "title": "IP Restrictions",
      "locator": "Prerequisites and enforcement",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "CIDR allowlists immediately block unauthorized network access when enabled."
    },
    {
      "id": "librechat:librechat:siteprivacy",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/privacy",
      "title": "LibreChat website privacy policy",
      "locator": "Scope and exclusions",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Website, demo and self-hosted software are distinct privacy scopes; website terms do not establish a customer deployment DPA."
    },
    {
      "id": "librechat:librechat:secrecy-message-pin",
      "productId": "librechat",
      "kind": "source-inspected",
      "url": "https://raw.githubusercontent.com/LibreChat-AI/LibreChat/e8f3be08623663d4ad7f7241e693c94469b63bb0/packages/data-schemas/src/schema/message.ts",
      "title": "LibreChat v0.8.8 message storage schema",
      "locator": "packages/data-schemas/src/schema/message.ts, text at lines 55-58 and content at lines 139-143",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The pinned Mongoose schema declares message text as a String and content as mixed fields; this source does not establish operator exclusion from live content.",
      "commit": "e8f3be08623663d4ad7f7241e693c94469b63bb0",
      "path": "packages/data-schemas/src/schema/message.ts"
    },
    {
      "id": "librechat:librechat:secrecy-demo-policy",
      "productId": "librechat",
      "kind": "documented",
      "url": "https://www.librechat.ai/demo/privacy",
      "title": "LibreChat Demo privacy policy",
      "locator": "Scope; section 4 Third-Party AI Model Providers; section 6 Data Sharing and Sub-Processors",
      "sourceDate": "2026-03-12",
      "retrievedAt": "2026-10-21",
      "finding": "The Demo policy describes model-provider transmission and contractual processor instruction/security duties for the Demo; it does not cover a customer self-hosted deployment."
    },
    {
      "id": "langdock:langdock:pricing-rev2",
      "productId": "langdock",
      "kind": "vendor-claimed",
      "url": "https://langdock.com/pricing",
      "title": "Pricing Plans | Langdock",
      "locator": "Business/Enterprise cards; price breakdown; product add-ons",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The page maps Business to up to1000 users and Enterprise to1000+; the Standard headline and breakdown disagree, so no applicable Standard/BYOK tariff is established here."
    },
    {
      "id": "langdock:langdock:ecb-fx",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.xml",
      "title": "ECB historical euro reference rates, 20 October 2026",
      "locator": "Cube time=2026-10-20, USD and CHF currency entries",
      "sourceDate": "2026-10-20",
      "retrievedAt": "2026-10-21",
      "finding": "ECB2026-10-20 reference rates:EUR1=USD1.1215=CHF0.9237, implying USD1=EUR0.89166206."
    },
    {
      "id": "librechat:librechat:cost-vm",
      "productId": "librechat",
      "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": "librechat:librechat:cost-pg",
      "productId": "librechat",
      "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": "librechat:librechat:cost-fx",
      "productId": "librechat",
      "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": "librechat:librechat:cost-model",
      "productId": "librechat",
      "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": "librechat:librechat:cost-effort",
      "productId": "librechat",
      "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": "langdock:langdock:migration",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/developer/agents-api/agent-migration.md",
      "title": "Agent Migration Guide",
      "locator": "Prerequisites, exported settings and field mapping",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Agent API export/import preserves selected configuration; files/skills and some fields require separate migration."
    },
    {
      "id": "langdock:langdock:dpa-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://langdock.com/dpa",
      "title": "Data Processing Agreement | Langdock",
      "locator": "Sections 7-12 and Appendices 1/2",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "DPA 2.1 defines third-country instructions, subprocessor notice and deletion/export rules, with an embedded provider table."
    },
    {
      "id": "langdock:langdock:migration-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/developer/agents-api/agent-migration.md",
      "title": "Agent Migration Guide",
      "locator": "Prerequisites, exported settings and field mapping",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "Agent API export/import preserves selected configuration; files/skills and some fields require separate migration."
    },
    {
      "id": "langdock:langdock:knowledge-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/library/knowledge-bases.md",
      "title": "Knowledge bases",
      "locator": "Create a Knowledge base and add documents, API upload; Share search access; Convert a Knowledge base to a folder",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "The public Markdown guide was retrieved with HTTP 200. The Knowledge Folder API can upload, update, delete, retrieve and search files; Viewer supports retrieval, while writes need Editor. This does not establish a complete index/ACL workspace export bundle."
    },
    {
      "id": "langdock:langdock:exports-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/compliance-and-governance/usage-exports.md",
      "title": "Usage Exports",
      "locator": "Accessing Usage Exports; Export Limits; Export Data Structure; Usage Exports; Data Retention",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "The public Markdown guide was retrieved with HTTP 200. Workspace administrators can export usage analytics as CSV or through the Usage Export API, with up to 12 months of history and JSON-valued mapping fields. Usage analytics are distinct from a complete chat/knowledge export."
    },
    {
      "id": "librechat:librechat:export-pin",
      "productId": "librechat",
      "kind": "source-inspected",
      "url": "https://raw.githubusercontent.com/LibreChat-AI/LibreChat/e8f3be08623663d4ad7f7241e693c94469b63bb0/client/src/hooks/Conversations/useExportConversation.ts",
      "title": "LibreChat conversation export implementation",
      "locator": "client/src/hooks/Conversations/useExportConversation.ts, export dispatch",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The pinned user conversation exporter supports JSON, CSV, Markdown and text, plus screenshot export.",
      "commit": "e8f3be08623663d4ad7f7241e693c94469b63bb0",
      "path": "client/src/hooks/Conversations/useExportConversation.ts"
    },
    {
      "id": "langdock:langdock:playbook",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/admin/ai-adoption-and-rollout/getting-started/rollout-playbook.md",
      "title": "Rollout Playbook",
      "locator": "Programme qualification and rollout phases",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Dedicated rollout support/workshops start at 250 licences and include a champion approach."
    },
    {
      "id": "langdock:langdock:status",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://status.langdock.com/",
      "title": "status",
      "locator": "Components and history",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The public status page covers the app, APIs, Workflows and Integrations with history."
    },
    {
      "id": "langdock:langdock:terms-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://langdock.com/terms",
      "title": "Terms of Use | Langdock",
      "locator": "Sections 6/7/9/12/15/16/19 and Appendix 1",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "Terms 2.1 prohibit training and describe provider-specific residency and retention agreements, proprietary use rights and contract defaults."
    },
    {
      "id": "langdock:langdock:imprint-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://langdock.com/imprint",
      "title": "Langdock imprint and contact point",
      "locator": "Contact Point for Users and Authorities",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "Users and authorities can contact support@langdock.com in German and English; the imprint identifies Langdock GmbH in Berlin."
    },
    {
      "id": "langdock:langdock:status-20261026",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://status.langdock.com/",
      "title": "status",
      "locator": "Components and history",
      "sourceDate": null,
      "retrievedAt": "2026-10-26",
      "finding": "The public status page covers the app, APIs, Workflows and Integrations with history."
    },
    {
      "id": "langdock:langdock:training",
      "productId": "langdock",
      "kind": "documented",
      "url": "https://docs.langdock.com/en/using-langdock/resources/langdock-workshops.md",
      "title": "Langdock Workshops",
      "locator": "Workshop catalogue",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Official workshop recordings/slides cover chat, skills, integrations, agents and workflows."
    }
  ]
}
