{
  "schemaVersion": 1,
  "rubricVersion": "1.1",
  "kind": "pair",
  "slug": "librechat-vs-omnifact",
  "canonicalUrl": "https://onaihq.com/compare/agents/librechat-vs-omnifact/",
  "markdownUrl": "https://onaihq.com/compare/agents/librechat-vs-omnifact/index.md",
  "dataUrl": "https://onaihq.com/compare/agents/librechat-vs-omnifact/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": "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"
    },
    {
      "id": "omnifact",
      "name": "Omnifact",
      "website": "https://omnifact.ai",
      "repository": null,
      "pageUrl": "https://onaihq.com/compare/agents/products/omnifact/",
      "lifecycle": {
        "status": "unknown",
        "note": null
      },
      "surfaces": [
        {
          "id": "web",
          "name": "Omnifact hosted workspace",
          "type": "web-app"
        },
        {
          "id": "api",
          "name": "Omnifact Published Spaces, Public API and Enterprise AI Gateway",
          "type": "api"
        },
        {
          "id": "self-managed",
          "name": "Omnifact Enterprise customer-cloud/on-premise",
          "type": "self-hosted-server"
        },
        {
          "id": "widget",
          "name": "Omnifact example embeddable widget",
          "type": "browser-widget"
        },
        {
          "id": "cli",
          "name": "Omnifact document/chat CLI and XWiki sync",
          "type": "cli"
        }
      ],
      "sourcedClaimCount": 49,
      "statedByVendorCount": 0,
      "crossCheckedClaimCount": 49,
      "sourcedOnlyClaimCount": 0,
      "oldestCheckedAt": "2026-10-21",
      "lastCheckedAt": "2026-10-21"
    }
  ],
  "coverage": {
    "totalCriteria": 51,
    "sharedCrossCheckedCriteria": 45,
    "sharedSourcedCriteria": 45,
    "crossCheckedCriteriaByProduct": {
      "librechat": 47,
      "omnifact": 49
    },
    "sourcedOnlyCriteriaByProduct": {
      "librechat": 0,
      "omnifact": 0
    },
    "sourcedCriteriaByProduct": {
      "librechat": 47,
      "omnifact": 49
    },
    "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:MOD-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Manual selection spans OpenAI, Anthropic, Google and Mistral with EU/direct routes and tier controls.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro/Enterprise managed model catalogue; customer API keys and custom/self-hosted endpoints require Enterprise BYOK",
            "addOns": [
              "Enterprise BYOK for custom provider endpoints"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "providers",
              "question": "Which model providers are available?",
              "support": "partial",
              "answer": "Pro/Enterprise managed provider options include OpenAI/AzureOpenAI, Anthropic, Google/Vertex and Mistral subject to workspace configuration. Customer API keys, custom OpenAI-compatible endpoints and self-hosted model connections require Enterprise BYOK. Optional DPA-listed Groq is not treated as a currently selectable managed model.",
              "evidenceIds": [
                "omnifact:omnifact:providers-rev2",
                "omnifact:omnifact:pricing-rev2",
                "omnifact:omnifact:models"
              ]
            },
            {
              "id": "current_models",
              "question": "Which current models are selectable on this plan?",
              "support": "partial",
              "answer": "Public text catalogue: GPT6Sol/Luna,5.6Sol/Terra/Luna,5.5,5.4/mini,5.2,5.1,5/mini/nano,4.1/mini/nano,4o/mini,4,3.5; Claude Opus5.5/5/4.8/4.7/4.6/4.5/4.1/4, Sonnet5.5/5/4.6/4.5/4, Haiku5.5/4.5; Gemini4Argon,3.8/3.7/3.6/3.5Flash,3.5Flash Lite,3.1Pro/Flash Lite,3Pro,2.5Pro/Flash,2.0Flash/Flash Lite; Mistral Medium3.5/3, Large3, Small4, Nemo, Ministral8B, Pixtral Large, Codestral, Devstral Small. Each is subject to admin enablement, tier, route and provider availability; not independently tested in picker.",
              "evidenceIds": [
                "omnifact:omnifact:models"
              ]
            },
            {
              "id": "user_choice",
              "question": "Can users pick the model per chat?",
              "support": "supported",
              "answer": "Picker changes before/within a conversation and shows provider logo, model name and region flag. Reasoning effort has Low/Medium/High/Extra High depending on model.",
              "evidenceIds": [
                "omnifact:omnifact:select"
              ]
            },
            {
              "id": "auto_routing",
              "question": "Does the product route between models automatically, and is the chosen model shown?",
              "support": "unknown",
              "answer": "Does the product route between models automatically, and is the chosen model shown? Unknown. No documented automatic cross-model routing strategy or chosen-model display after automatic routing was established; autonomous tool selection is separate from model routing.",
              "evidenceIds": []
            },
            {
              "id": "multimodal_input",
              "question": "Which models accept images, audio or files?",
              "support": "partial",
              "answer": "Image input only for capable selected models; experimental audio uploads need audio-capable models. Extracted document text and code tools are separate paths; no complete model-by-model native audio matrix was established.",
              "evidenceIds": [
                "omnifact:omnifact:files",
                "omnifact:omnifact:groups-rev2"
              ]
            }
          ],
          "limitations": [
            "current_models: Public text catalogue: GPT6Sol/Luna,5.6Sol/Terra/Luna,5.5,5.4/mini,5.2,5.1,5/mini/nano,4.1/mini/nano,4o/mini,4,3.5; Claude Opus5.5/5/4.8/4.7/4.6/4.5/4.1/4, Sonnet5.5/5/4.6/4.5/4, Haiku5.5/4.5; Gemini4Argon,3.8/3.7/3.6/3.5Flash,3.5Flash Lite,3.1Pro/Flash Lite,3Pro,2.5Pro/Flash,2.0Flash/Flash Lite; Mistral Medium3.5/3, Large3, Small4, Nemo, Ministral8B, Pixtral Large, Codestral, Devstral Small. Each is subject to admin enablement, tier, route and provider availability; not independently tested in picker.",
            "multimodal_input: Image input only for capable selected models; experimental audio uploads need audio-capable models. Extracted document text and code tools are separate paths; no complete model-by-model native audio matrix was established.",
            "Unverified auto_routing: No documented automatic cross-model routing strategy or chosen-model display after automatic routing was established; autonomous tool selection is separate from model routing."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:providers-rev2",
            "omnifact:omnifact:dpa-rev2",
            "omnifact:omnifact:models",
            "omnifact:omnifact:select",
            "omnifact:omnifact:files",
            "omnifact:omnifact:groups-rev2",
            "omnifact:omnifact:pricing-rev2"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:MOD-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Dated model/feature changelog exists; exact release lag and fixed deprecation policy are unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact 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. Last-three major releases per provider were not reconciled against provider GA dates; no binding removal notice or Saa S version-pinning guarantee was established.",
              "evidenceIds": []
            },
            {
              "id": "changelog",
              "question": "Is there a dated public model changelog?",
              "support": "supported",
              "answer": "Monthly release notes updated2026-10-20; individual feature posts date Gemini4Argon October 13, Haiku5.5 October 8, Sonnet5.5 September 28 and GPT6/Opus5.5 September 22.",
              "evidenceIds": [
                "omnifact:omnifact:changes",
                "omnifact:omnifact:blog"
              ]
            },
            {
              "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. Last-three major releases per provider were not reconciled against provider GA dates; no binding removal notice or Saa S version-pinning guarantee 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. Last-three major releases per provider were not reconciled against provider GA dates; no binding removal notice or Saa S version-pinning guarantee was established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Unverified release_lag_days, deprecation_notice, version_pinning: Last-three major releases per provider were not reconciled against provider GA dates; no binding removal notice or Saa S version-pinning guarantee was established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:changes",
            "omnifact:omnifact:blog"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:MOD-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Enterprise BYOK supports own provider accounts and custom OpenAI-compatible connections.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Enterprise BYOK, customer provider contracts",
            "addOns": [
              "Customer provider charges separate"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "own_api_keys",
              "question": "Can the customer use its own provider API keys?",
              "support": "supported",
              "answer": "Enterprise only; connects own provider API keys, charges provider account and bypasses standard Omnifact rate limits.",
              "evidenceIds": [
                "omnifact:omnifact:providers"
              ]
            },
            {
              "id": "own_cloud_contract",
              "question": "Can it use its own Azure OpenAI, Bedrock or Vertex deployment?",
              "support": "partial",
              "answer": "Supported environments include Azure OpenAI, Vertex Anthropic/Vertex Google; model settings mention AWSBedrock via custom endpoints. Customer deployment/contract setup details not fully specified.",
              "evidenceIds": [
                "omnifact:omnifact:providers",
                "omnifact:omnifact:model-settings"
              ]
            },
            {
              "id": "custom_endpoint",
              "question": "Can an admin add any OpenAI-compatible endpoint?",
              "support": "supported",
              "answer": "Custom provider supports OpenAI-compatible endpoints; self-hosted connection enabled with support.",
              "evidenceIds": [
                "omnifact:omnifact:providers",
                "omnifact:omnifact:terms"
              ]
            },
            {
              "id": "byo_pricing",
              "question": "Does BYO change the licence price?",
              "support": "partial",
              "answer": "BYOK moves model costs to customer account/negotiated rates; Enterprise licence adjustment is quote-only.",
              "evidenceIds": [
                "omnifact:omnifact:providers"
              ]
            },
            {
              "id": "byo_restrictions",
              "question": "Which features stop working with BYO?",
              "support": "unknown",
              "answer": "Which features stop working with BYO? Unknown. No complete BYOK-specific feature failure/parity matrix or public licence discount was established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "own_cloud_contract: Supported environments include Azure OpenAI, Vertex Anthropic/Vertex Google; model settings mention AWSBedrock via custom endpoints. Customer deployment/contract setup details not fully specified.",
            "byo_pricing: BYOK moves model costs to customer account/negotiated rates; Enterprise licence adjustment is quote-only.",
            "Unverified byo_restrictions: No complete BYOK-specific feature failure/parity matrix or public licence discount was established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:providers",
            "omnifact:omnifact:model-settings",
            "omnifact:omnifact:terms"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:MOD-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Enterprise can integrate customer-hosted models; embedding and tool parity remain unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Enterprise self-hosted model connection",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "self_hosted_chat",
              "question": "Can chat use a customer-hosted model?",
              "support": "supported",
              "answer": "Enterprise lists self-hosted LLMs; terms6.4 requires coordination with support and custom provider endpoints are documented.",
              "evidenceIds": [
                "omnifact:omnifact:pricing",
                "omnifact:omnifact:providers",
                "omnifact:omnifact:terms"
              ]
            },
            {
              "id": "self_hosted_embeddings",
              "question": "Can retrieval use customer-hosted embeddings?",
              "support": "unknown",
              "answer": "Can retrieval use customer-hosted embeddings? Unknown. No documented customer-hosted embedding route or exhaustive feature-parity matrix was established; on-premise platform availability alone does not prove either.",
              "evidenceIds": []
            },
            {
              "id": "feature_parity",
              "question": "Which features fail with self-hosted models?",
              "support": "unknown",
              "answer": "Which features fail with self-hosted models? Unknown. No documented customer-hosted embedding route or exhaustive feature-parity matrix was established; on-premise platform availability alone does not prove either.",
              "evidenceIds": []
            },
            {
              "id": "vendor_hosted_open_models",
              "question": "Does the vendor host open-weight models in EU/CH?",
              "support": "partial",
              "answer": "Mistral family appears with EU flags; the operating party and infrastructure for every open-weight route are not fully mapped. It is not proof of Swiss hosting.",
              "evidenceIds": [
                "omnifact:omnifact:models"
              ]
            }
          ],
          "limitations": [
            "vendor_hosted_open_models: Mistral family appears with EU flags; the operating party and infrastructure for every open-weight route are not fully mapped. It is not proof of Swiss hosting.",
            "Unverified self_hosted_embeddings, feature_parity: No documented customer-hosted embedding route or exhaustive feature-parity matrix was established; on-premise platform availability alone does not prove either."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:pricing",
            "omnifact:omnifact:providers",
            "omnifact:omnifact:terms",
            "omnifact:omnifact:models"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:MOD-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Groups add model-tier/capability permissions while organization settings control concrete models/routes.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "model_allowlist_by_group",
              "question": "Can admins limit models per group?",
              "support": "partial",
              "answer": "Groups add Base/Standard/Premium-tier and US-hosted-model access. Everyone and overlapping groups union grants; no deny overrides. Concrete model enablement is organization-wide, not an arbitrary per-group model list.",
              "evidenceIds": [
                "omnifact:omnifact:groups",
                "omnifact:omnifact:model-settings"
              ]
            },
            {
              "id": "data_bound_models",
              "question": "Can admins restrict which models receive connector or knowledge content?",
              "support": "partial",
              "answer": "Admins disable providers/models globally; DPA annexes also describe per-Space provider approval. No tested classifier routes knowledge content to distinct allowed models automatically.",
              "evidenceIds": [
                "omnifact:omnifact:model-settings",
                "omnifact:omnifact:dpa"
              ]
            },
            {
              "id": "default_model",
              "question": "Can admins set the default model?",
              "support": "partial",
              "answer": "October notes set Haiku5.5 as fast default for new organizations. Image default and Published Space model are configurable; universal organization text-default setting not established.",
              "evidenceIds": [
                "omnifact:omnifact:changes",
                "omnifact:omnifact:model-settings",
                "omnifact:omnifact:published"
              ]
            },
            {
              "id": "user_limits",
              "question": "What per-user message or token limits apply, and are they published?",
              "support": "partial",
              "answer": "Plan-determined per-user24-hour rolling message quotas show remaining count/reset. Numeric plan quotas are not public; pooled credit and page limits are separate.",
              "evidenceIds": [
                "omnifact:omnifact:chat"
              ]
            },
            {
              "id": "limit_behaviour",
              "question": "What happens when a limit is reached?",
              "support": "supported",
              "answer": "Daily message exhaustion disables new sends until reset. Monthly credit exhaustion greys premium models and chat falls back; Gateway returns credit error for all models without fallback.",
              "evidenceIds": [
                "omnifact:omnifact:chat",
                "omnifact:omnifact:limits",
                "omnifact:omnifact:gateway"
              ]
            }
          ],
          "limitations": [
            "model_allowlist_by_group: Groups add Base/Standard/Premium-tier and US-hosted-model access. Everyone and overlapping groups union grants; no deny overrides. Concrete model enablement is organization-wide, not an arbitrary per-group model list.",
            "data_bound_models: Admins disable providers/models globally; DPA annexes also describe per-Space provider approval. No tested classifier routes knowledge content to distinct allowed models automatically.",
            "default_model: October notes set Haiku5.5 as fast default for new organizations. Image default and Published Space model are configurable; universal organization text-default setting not established.",
            "user_limits: Plan-determined per-user24-hour rolling message quotas show remaining count/reset. Numeric plan quotas are not public; pooled credit and page limits are separate."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:groups",
            "omnifact:omnifact:model-settings",
            "omnifact:omnifact:dpa",
            "omnifact:omnifact:changes",
            "omnifact:omnifact:published",
            "omnifact:omnifact:chat",
            "omnifact:omnifact:limits",
            "omnifact:omnifact:gateway"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:KNOW-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Broad attachment formats and published limits exist; indexing uses OCR/chunks while workbook fidelity is untested.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "formats",
              "question": "Which formats are accepted?",
              "support": "supported",
              "answer": "PDF, Word, Excel, Power Point, Open Document text/presentation, TXT, JSON, Markdown, CSV, SVG; images PNG/JPEG/Web P/HEIC/HEIF/AVIF/BMP/GIF/ICO/TIFF/SVG; audio examples MP3/WAV/AAC/FLAC with group/model restriction.",
              "evidenceIds": [
                "omnifact:omnifact:files"
              ]
            },
            {
              "id": "limits",
              "question": "What size and count limits apply per file and chat?",
              "support": "partial",
              "answer": "10 attachments/message;8000 text characters/message;20MB/image;25MB/audio. Space Uploaded Files FAQ says no individual/aggregate file-size limit; ordinary document/chat count ceilings not fully specified.",
              "evidenceIds": [
                "omnifact:omnifact:files",
                "omnifact:omnifact:uploads"
              ]
            },
            {
              "id": "ocr",
              "question": "Are scanned PDFs read?",
              "support": "partial",
              "answer": "Space upload pipeline documents Apache Tika OCR for scanned PDFs/images; no accuracy fixture.",
              "evidenceIds": [
                "omnifact:omnifact:uploads"
              ]
            },
            {
              "id": "spreadsheets",
              "question": "Are Excel tables read with structure intact?",
              "support": "partial",
              "answer": "Spreadsheet inputs can be processed with executed Python and native XLSX formulas; structure/merged cells/formula preservation not tested.",
              "evidenceIds": [
                "omnifact:omnifact:documents"
              ]
            },
            {
              "id": "full_vs_chunked",
              "question": "Is the whole file used or only retrieved parts, and does the user see which?",
              "support": "partial",
              "answer": "Space documents are extracted/chunked/embedded and relevant sections retrieved with progress/citation displays. Exact direct-attachment full-text thresholds were not established.",
              "evidenceIds": [
                "omnifact:omnifact:uploads",
                "omnifact:omnifact:retrieval"
              ]
            }
          ],
          "limitations": [
            "limits: 10 attachments/message;8000 text characters/message;20MB/image;25MB/audio. Space Uploaded Files FAQ says no individual/aggregate file-size limit; ordinary document/chat count ceilings not fully specified.",
            "ocr: Space upload pipeline documents Apache Tika OCR for scanned PDFs/images; no accuracy fixture.",
            "spreadsheets: Spreadsheet inputs can be processed with executed Python and native XLSX formulas; structure/merged cells/formula preservation not tested.",
            "full_vs_chunked: Space documents are extracted/chunked/embedded and relevant sections retrieved with progress/citation displays. Exact direct-attachment full-text thresholds were not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:files",
            "omnifact:omnifact:uploads",
            "omnifact:omnifact:documents",
            "omnifact:omnifact:retrieval"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:KNOW-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Spaces persist and share uploaded/connected knowledge. The applicable Pro page quota remains unknown; Enterprise advertises unlimited pages.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro up to50users and Enterprise Spaces; actual Pro page quota unverified",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "persistent_collections",
              "question": "Can users keep document collections across chats?",
              "support": "supported",
              "answer": "Uploaded Files and connected folders persist in a Space for multiple conversations; message attachments remain specific to their conversation.",
              "evidenceIds": [
                "omnifact:omnifact:spaces"
              ]
            },
            {
              "id": "sharing_scope",
              "question": "Can collections be shared with users, groups or the whole organisation?",
              "support": "supported",
              "answer": "Organization users/groups including Everyone; Admin/Editor manage, Member queries. Groups receive view-only membership; edit grants are individual.",
              "evidenceIds": [
                "omnifact:omnifact:share"
              ]
            },
            {
              "id": "size_limits",
              "question": "What are the collection limits?",
              "support": "partial",
              "answer": "Enterprise pricing advertises unlimited knowledge pages. Actual Pro page quota is unknown because pricing says25000 while Billing says5000; neither is asserted as an independently applicable limit. The Connected Sources documentation says synced files currently do not count against the manual-upload page quota.",
              "evidenceIds": [
                "omnifact:omnifact:pricing-rev2",
                "omnifact:omnifact:billing",
                "omnifact:omnifact:sync"
              ]
            },
            {
              "id": "assistant_binding",
              "question": "Can collections be bound to an assistant?",
              "support": "supported",
              "answer": "Space agent uses its own instructions and isolated Uploaded Files/Connected Sources knowledge.",
              "evidenceIds": [
                "omnifact:omnifact:spaces"
              ]
            }
          ],
          "limitations": [
            "Pro page quota is excluded from verified limits until the applicable offer is identified. Connected-source and manual-upload accounting are separate."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:spaces",
            "omnifact:omnifact:share",
            "omnifact:omnifact:pricing-rev2",
            "omnifact:omnifact:billing",
            "omnifact:omnifact:sync"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:KNOW-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Cloud document sync and live first-party MCP integrations cover different system/action scopes.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "api",
              "cli"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro/Enterprise cloud document connectors; separately run API-enabled XWiki importer documented at pinned revision",
            "addOns": [
              "Customer-run XWiki sync tool; API access and source credentials required"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              },
              {
                "id": "api",
                "name": "Omnifact Published Spaces, Public API and Enterprise AI Gateway",
                "type": "api"
              },
              {
                "id": "cli",
                "name": "Omnifact document/chat CLI and XWiki sync",
                "type": "cli"
              }
            ]
          },
          "questions": [
            {
              "id": "microsoft_365",
              "question": "Which M365 sources (SharePoint, OneDrive, Outlook, Teams) are connected?",
              "support": "partial",
              "answer": "SharePoint, OneDrive Business and personal OneDrive document access/sync. No verified native Outlook/Teams connector in current catalogue.",
              "evidenceIds": [
                "omnifact:omnifact:integrations"
              ]
            },
            {
              "id": "google_workspace",
              "question": "Which Google sources are connected?",
              "support": "supported",
              "answer": "Drive document sync plus MCP Drive, Docs, Sheets, Slides, Gmail, Calendar, Chat tools.",
              "evidenceIds": [
                "omnifact:omnifact:integrations"
              ]
            },
            {
              "id": "atlassian",
              "question": "Confluence and Jira?",
              "support": "supported",
              "answer": "Atlassian official MCP for Jira/Confluence search and updates.",
              "evidenceIds": [
                "omnifact:omnifact:directory"
              ]
            },
            {
              "id": "other_systems",
              "question": "Which other business systems?",
              "support": "partial",
              "answer": "Slack, Zoom, Notion, Hub Spot, Zendesk, Box, Egnyte, Asana, Click Up, Linear, Airtable, Canva, Miro, Lucid, Stripe, Pay Pal, Git Hub/Git Lab, Sentry, PostHog, Supabase, Neon, Webflow, Todoist; official XWiki importer is separate unsupported CLI.",
              "evidenceIds": [
                "omnifact:omnifact:integrations",
                "omnifact:omnifact:xwiki-sync-rev2"
              ]
            },
            {
              "id": "on_prem_sources",
              "question": "Can on-prem file shares or databases be connected?",
              "support": "partial",
              "answer": "Custom MCP can expose internal systems but cloud deployment blocks private IP/loopback/subnets by default. XWiki REST importer runs where customer executes it; native file-share/database network support is not established.",
              "evidenceIds": [
                "omnifact:omnifact:mcp-rev2",
                "omnifact:omnifact:xwiki-sync-rev2"
              ]
            },
            {
              "id": "connector_provider",
              "question": "Who builds and maintains each connector?",
              "support": "partial",
              "answer": "Catalogue MCP servers are supplied by listed software vendors; Omnifact manages installation/governance. Document connectors and XWiki tool are Omnifact; support scope varies.",
              "evidenceIds": [
                "omnifact:omnifact:directory",
                "omnifact:omnifact:integrations",
                "omnifact:omnifact:xwiki-sync-rev2"
              ]
            }
          ],
          "limitations": [
            "XWiki behavior is documented in a pinned README, with no support/guarantee. It was not implementation-inspected or executed in this pass."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:integrations",
            "omnifact:omnifact:directory",
            "omnifact:omnifact:xwiki-sync-rev2",
            "omnifact:omnifact:mcp-rev2"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:KNOW-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Personal OAuth tools honor source-account rights; synced content is scoped to Space membership, without a verified per-user ACL mirror.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "source_permissions_respected",
              "question": "Are source permissions enforced per user?",
              "support": "partial",
              "answer": "OAuth MCP executes only within each user account rights. Space indexed knowledge is available under shared Space membership; per-recipient source ACL enforcement was not established.",
              "evidenceIds": [
                "omnifact:omnifact:mcp",
                "omnifact:omnifact:retrieval",
                "omnifact:omnifact:sync"
              ]
            },
            {
              "id": "enforcement_point",
              "question": "Does the source system, a mirrored index or nothing enforce them?",
              "support": "partial",
              "answer": "Live OAuth uses source account access. Space retrieval is indexed and checks Space membership; this is not documented as a source-ACL recheck on every query.",
              "evidenceIds": [
                "omnifact:omnifact:mcp",
                "omnifact:omnifact:retrieval",
                "omnifact:omnifact:sync"
              ]
            },
            {
              "id": "revocation_delay",
              "question": "How quickly does a removed permission take effect?",
              "support": "partial",
              "answer": "Removing Space/group membership immediately revokes those grants; source document/ACL revocation timing beyond deletion sync was not tested.",
              "evidenceIds": [
                "omnifact:omnifact:share",
                "omnifact:omnifact:groups"
              ]
            },
            {
              "id": "admin_scope_controls",
              "question": "Can admins exclude sites, folders or labels?",
              "support": "partial",
              "answer": "Space admins select connected folders; organization enables/removes connectors and tools. No sensitivity-label classifier was established.",
              "evidenceIds": [
                "omnifact:omnifact:sync",
                "omnifact:omnifact:integrations"
              ]
            },
            {
              "id": "sensitivity_labels",
              "question": "Are Microsoft Purview or similar labels respected?",
              "support": "unknown",
              "answer": "Are Microsoft Purview or similar labels respected? Unknown. No cross-group source-ACL/revocation fixture or Microsoft Purview sensitivity-label implementation was established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "source_permissions_respected: OAuth MCP executes only within each user account rights. Space indexed knowledge is available under shared Space membership; per-recipient source ACL enforcement was not established.",
            "enforcement_point: Live OAuth uses source account access. Space retrieval is indexed and checks Space membership; this is not documented as a source-ACL recheck on every query.",
            "revocation_delay: Removing Space/group membership immediately revokes those grants; source document/ACL revocation timing beyond deletion sync was not tested.",
            "admin_scope_controls: Space admins select connected folders; organization enables/removes connectors and tools. No sensitivity-label classifier was established.",
            "Unverified sensitivity_labels: No cross-group source-ACL/revocation fixture or Microsoft Purview sensitivity-label implementation was established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:mcp",
            "omnifact:omnifact:retrieval",
            "omnifact:omnifact:sync",
            "omnifact:omnifact:share",
            "omnifact:omnifact:groups",
            "omnifact:omnifact:integrations"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:KNOW-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Connected documents are indexed on a five-minute cycle; live MCP queries remain separate.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "api",
              "cli"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro/Enterprise cloud document connectors; separately run API-enabled XWiki importer documented at pinned revision",
            "addOns": [
              "Customer-run XWiki sync tool; API access and source credentials required"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              },
              {
                "id": "api",
                "name": "Omnifact Published Spaces, Public API and Enterprise AI Gateway",
                "type": "api"
              },
              {
                "id": "cli",
                "name": "Omnifact document/chat CLI and XWiki sync",
                "type": "cli"
              }
            ]
          },
          "questions": [
            {
              "id": "live_or_indexed",
              "question": "Is content searched live or copied into an index?",
              "support": "supported",
              "answer": "Connected Sources index selected cloud files; MCP tools query source systems live. XWiki CLI uploads converted Markdown on customer-run sync.",
              "evidenceIds": [
                "omnifact:omnifact:sync",
                "omnifact:omnifact:integrations",
                "omnifact:omnifact:xwiki-sync-rev2"
              ]
            },
            {
              "id": "sync_interval",
              "question": "How often does an index refresh?",
              "support": "supported",
              "answer": "Connected Sources checks every five minutes; initial indexing may take minutes. XWiki tool is one-shot and requires external cron/systemd/Kubernetes scheduling.",
              "evidenceIds": [
                "omnifact:omnifact:sync",
                "omnifact:omnifact:xwiki-sync-rev2"
              ]
            },
            {
              "id": "deletion_propagation",
              "question": "How quickly does a deleted document disappear?",
              "support": "supported",
              "answer": "Cloud deletions removed on next five-minute cycle; disconnect permanently removes that source index from Space. XWiki importer tracks deleted/excluded pages on next run.",
              "evidenceIds": [
                "omnifact:omnifact:sync",
                "omnifact:omnifact:xwiki-sync-rev2"
              ]
            },
            {
              "id": "index_location",
              "question": "Where is indexed content stored?",
              "support": "partial",
              "answer": "DPA maps prefilter files/indexing to Azure Saa S Germany/Frankfurt storage; model embeddings/summaries have provider-dependent paths not fully mapped.",
              "evidenceIds": [
                "omnifact:omnifact:dpa-rev2"
              ]
            }
          ],
          "limitations": [
            "XWiki behavior is documented in a pinned README, with no support/guarantee. It was not implementation-inspected or executed in this pass."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:sync",
            "omnifact:omnifact:integrations",
            "omnifact:omnifact:xwiki-sync-rev2",
            "omnifact:omnifact:dpa-rev2"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:KNOW-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Passage citations and controllable strict grounding are documented; retrieval quality remains unmeasured.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "citations",
              "question": "Are answers linked to specific sources?",
              "support": "supported",
              "answer": "Source references identify uploaded document or cloud filename/provider and direct original link; progress shows retrieved document count.",
              "evidenceIds": [
                "omnifact:omnifact:retrieval",
                "omnifact:omnifact:sync"
              ]
            },
            {
              "id": "citation_accuracy",
              "question": "Do the cited passages support the answer?",
              "support": "unknown",
              "answer": "Do the cited passages support the answer? Unknown. No DE/FR/EN corpus fixture, citation entailment, cross-language retrieval measurement or observed score was run.",
              "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 DE/FR/EN corpus fixture, citation entailment, cross-language retrieval measurement or observed score was run.",
              "evidenceIds": []
            },
            {
              "id": "no_answer_behaviour",
              "question": "Does it say when the corpus has no answer?",
              "support": "partial",
              "answer": "Space instructions can require answers only from uploaded documents and explicit missing-information statements; default guaranteed abstention is not established.",
              "evidenceIds": [
                "omnifact:omnifact:retrieval"
              ]
            },
            {
              "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 DE/FR/EN corpus fixture, citation entailment, cross-language retrieval measurement or observed score was run.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "no_answer_behaviour: Space instructions can require answers only from uploaded documents and explicit missing-information statements; default guaranteed abstention is not established.",
            "Unverified citation_accuracy, cross_language, observed_accuracy: No DE/FR/EN corpus fixture, citation entailment, cross-language retrieval measurement or observed score was run."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:retrieval",
            "omnifact:omnifact:sync"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:KNOW-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Persistent personal instructions exist; automatic cross-chat memory was not established.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "custom_instructions",
              "question": "Can users set persistent instructions?",
              "support": "supported",
              "answer": "Personalization stores role/context and response tone/style/format and sends them in every conversation. These fields bypass the Privacy Filter.",
              "evidenceIds": [
                "omnifact:omnifact:account"
              ]
            },
            {
              "id": "cross_chat_memory",
              "question": "Does the product remember facts across chats?",
              "support": "unknown",
              "answer": "Does the product remember facts across chats? Unknown. No automatic fact-memory feature or administrator memory-disable setting was established in account, Space and release documentation. Conversation history is not itself cross-chat memory.",
              "evidenceIds": []
            },
            {
              "id": "user_memory_controls",
              "question": "Can users view, edit and delete memories?",
              "support": "partial",
              "answer": "Users edit/remove their supplied personalization fields. This is not documentation of viewing/deleting automatically learned memories.",
              "evidenceIds": [
                "omnifact:omnifact:account"
              ]
            },
            {
              "id": "admin_memory_controls",
              "question": "Can admins turn memory off?",
              "support": "unknown",
              "answer": "Can admins turn memory off? Unknown. No automatic fact-memory feature or administrator memory-disable setting was established in account, Space and release documentation. Conversation history is not itself cross-chat memory.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "user_memory_controls: Users edit/remove their supplied personalization fields. This is not documentation of viewing/deleting automatically learned memories.",
            "Unverified cross_chat_memory, admin_memory_controls: No automatic fact-memory feature or administrator memory-disable setting was established in account, Space and release documentation. Conversation history is not itself cross-chat memory."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:account"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:AGT-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Space agents combine custom instructions, knowledge and shared access with starter prompts.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "create_assistants",
              "question": "Can users create assistants with instructions, knowledge and tools?",
              "support": "supported",
              "answer": "Members create Spaces, become Space Admin and set instructions/examples/knowledge. Workspace-level tool availability is governed separately.",
              "evidenceIds": [
                "omnifact:omnifact:create",
                "omnifact:omnifact:users"
              ]
            },
            {
              "id": "creator_permissions",
              "question": "Can admins limit who creates them?",
              "support": "partial",
              "answer": "Member role includes Space creation; group permissions control file/code/features. An explicit deny-Space-creation privilege was not established.",
              "evidenceIds": [
                "omnifact:omnifact:users",
                "omnifact:omnifact:groups"
              ]
            },
            {
              "id": "sharing_scope",
              "question": "Can assistants be shared with users, groups or everyone?",
              "support": "supported",
              "answer": "Users or organization groups including Everyone; group membership grants Member only.",
              "evidenceIds": [
                "omnifact:omnifact:share"
              ]
            },
            {
              "id": "catalogue",
              "question": "Is there an internal assistant directory?",
              "support": "supported",
              "answer": "All/Favorite Spaces directory shows accessible agents with pin/favorite navigation.",
              "evidenceIds": [
                "omnifact:omnifact:spaces"
              ]
            },
            {
              "id": "prompt_library",
              "question": "Are shared prompt templates available?",
              "support": "partial",
              "answer": "Space Starters/template previews and example prompts provide shared starting points; a separate centrally managed standalone prompt-library product was not established.",
              "evidenceIds": [
                "omnifact:omnifact:create",
                "omnifact:omnifact:changes"
              ]
            }
          ],
          "limitations": [
            "creator_permissions: Member role includes Space creation; group permissions control file/code/features. An explicit deny-Space-creation privilege was not established.",
            "prompt_library: Space Starters/template previews and example prompts provide shared starting points; a separate centrally managed standalone prompt-library product was not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:create",
            "omnifact:omnifact:users",
            "omnifact:omnifact:groups",
            "omnifact:omnifact:share",
            "omnifact:omnifact:spaces",
            "omnifact:omnifact:changes"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:AGT-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Remote MCP has explicit tool policies, personal OAuth and teamwide static-credential access.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro/Enterprise managed remote MCP; workspace-admin setup and chosen tool policy required",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "builtin_tools",
              "question": "Which tools are built in?",
              "support": "partial",
              "answer": "Web search/browse, Space retrieval, image tools and curated MCP business actions are documented for the scoped workspace. Eligibility for the separate Experimental Execute code and its Python/Office outputs is unknown because the documentation does not map it to Pro or Enterprise.",
              "evidenceIds": [
                "omnifact:omnifact:web",
                "omnifact:omnifact:retrieval",
                "omnifact:omnifact:images",
                "omnifact:omnifact:documents",
                "omnifact:omnifact:integrations",
                "omnifact:omnifact:groups-rev2"
              ]
            },
            {
              "id": "custom_actions",
              "question": "Can admins add API actions?",
              "support": "partial",
              "answer": "Admins add custom remote MCP URL and discovered tools. Arbitrary non-MCP REST wrappers require an external server.",
              "evidenceIds": [
                "omnifact:omnifact:mcp-rev2"
              ]
            },
            {
              "id": "mcp_client",
              "question": "Can it use remote MCP servers, and with what admin control?",
              "support": "supported",
              "answer": "Remote HTTP MCP supports OAuth, APIkey, Bearer, customheader ornone. Destination validation blocks private/subnet/metadata endpoints by default.",
              "evidenceIds": [
                "omnifact:omnifact:mcp-rev2"
              ]
            },
            {
              "id": "tool_auth",
              "question": "Do tools act as the user or as a shared account?",
              "support": "partial",
              "answer": "OAuth requires personal sign-in; static APIkey/Bearer/header/none is central and immediately available teamwide, with no current per-user/group permission for those types.",
              "evidenceIds": [
                "omnifact:omnifact:mcp-rev2"
              ]
            },
            {
              "id": "tool_approval",
              "question": "Can admins approve or block tools, and can users confirm actions before they run?",
              "support": "partial",
              "answer": "Admins explicitly configure each tool as Always, Approval or Disable. Approval displays the exact request payload with Allow/Deny; later refresh adds new tools disabled. Initial-discovery default is unknown because setup and security sections disagree, so no safe or permissive initial default is asserted.",
              "evidenceIds": [
                "omnifact:omnifact:mcp-rev2"
              ]
            }
          ],
          "limitations": [
            "Configured policies are documented; initial-discovery defaults remain unknown. Static credentials are shared teamwide as documented and do not provide personal source authorization.",
            "Experimental code/output entitlement is unknown; generic Enterprise early-access wording does not identify an eligible Execute code tier."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:web",
            "omnifact:omnifact:retrieval",
            "omnifact:omnifact:images",
            "omnifact:omnifact:documents",
            "omnifact:omnifact:integrations",
            "omnifact:omnifact:mcp-rev2",
            "omnifact:omnifact:groups-rev2"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:AGT-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Web research is cited and group-controlled; Brave handles public search.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "web_search",
              "question": "Is web search available?",
              "support": "supported",
              "answer": "Automatically triggered when needed or explicitly requested; URL reader caps2MB and excludes login/paywall/captcha pages.",
              "evidenceIds": [
                "omnifact:omnifact:web"
              ]
            },
            {
              "id": "admin_toggle",
              "question": "Can admins disable it per organisation or group?",
              "support": "supported",
              "answer": "Groups grant web search/browsing additively; remove grant from Everyone/allgroups to disable for targeted users.",
              "evidenceIds": [
                "omnifact:omnifact:groups"
              ]
            },
            {
              "id": "search_provider",
              "question": "Which search provider handles queries, and where?",
              "support": "partial",
              "answer": "DPA names Brave Software US as web-search processor; exact request-processing datacentre is not specified. Masked-sensitive queries are blocked before search.",
              "evidenceIds": [
                "omnifact:omnifact:dpa",
                "omnifact:omnifact:web"
              ]
            },
            {
              "id": "deep_research",
              "question": "Is multi-step research with a report available?",
              "support": "partial",
              "answer": "Agents can perform multi-step browsing/research; no separately bounded Deep Research report product or benchmark was established.",
              "evidenceIds": [
                "omnifact:omnifact:changes",
                "omnifact:omnifact:web"
              ]
            },
            {
              "id": "web_citations",
              "question": "Are web sources cited?",
              "support": "supported",
              "answer": "Numbered citations and original source links accompany search/browse results.",
              "evidenceIds": [
                "omnifact:omnifact:web"
              ]
            }
          ],
          "limitations": [
            "search_provider: DPA names Brave Software US as web-search processor; exact request-processing datacentre is not specified. Masked-sensitive queries are blocked before search.",
            "deep_research: Agents can perform multi-step browsing/research; no separately bounded Deep Research report product or benchmark was established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:web",
            "omnifact:omnifact:groups",
            "omnifact:omnifact:dpa",
            "omnifact:omnifact:changes"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:AGT-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "External n8n nodes support automation; a native scheduled workflow builder is not established.",
          "availability": "generally-available",
          "delivery": "official-integration",
          "scope": {
            "surfaceIds": [
              "web",
              "api",
              "cli"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro/Enterprise Published Spaces/Documents API when enabled; AI Gateway nodes require Enterprise; external n8n runs separately",
            "addOns": [
              "External n8n community-node installation; customer-run scheduler/XWiki importer"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              },
              {
                "id": "api",
                "name": "Omnifact Published Spaces, Public API and Enterprise AI Gateway",
                "type": "api"
              },
              {
                "id": "cli",
                "name": "Omnifact document/chat CLI and XWiki sync",
                "type": "cli"
              }
            ]
          },
          "questions": [
            {
              "id": "workflow_builder",
              "question": "Is there a workflow or chain builder?",
              "support": "partial",
              "answer": "Vendor-owned repository publishes n8n community nodes for Gateway completions/model list, Published Space chat and document CRUD. The visual builder is external n8n, not an established native Omnifact builder.",
              "evidenceIds": [
                "omnifact:omnifact:n8n-nodes-omnifact-rev2"
              ]
            },
            {
              "id": "scheduled_tasks",
              "question": "Can prompts or assistants run on a schedule?",
              "support": "partial",
              "answer": "XWiki importer explicitly uses external cron/systemd/Kubernetes Cron Job. Native scheduled prompts/agents were not established.",
              "evidenceIds": [
                "omnifact:omnifact:xwiki-sync-rev2"
              ]
            },
            {
              "id": "event_triggers",
              "question": "Can external events start a workflow?",
              "support": "unknown",
              "answer": "Can external events start a workflow? Unknown. Native schedule/webhook/event-trigger support was not established from docs, index, changelog and automation integrations.",
              "evidenceIds": []
            },
            {
              "id": "builder_audience",
              "question": "Is building aimed at business users, IT or developers?",
              "support": "partial",
              "answer": "n8n community-node/API integrations and CLI sync target technical integrators; Space instructions target business users.",
              "evidenceIds": [
                "omnifact:omnifact:n8n-nodes-omnifact-rev2",
                "omnifact:omnifact:create"
              ]
            }
          ],
          "limitations": [
            "These integrations are pinned README documentation, not executed or source-inspected implementation. A native Omnifact workflow builder/scheduler is not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:n8n-nodes-omnifact-rev2",
            "omnifact:omnifact:xwiki-sync-rev2",
            "omnifact:omnifact:create"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:AGT-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Agentic chat plans tools and streams progress with configurable approvals and Stop.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "agent_mode",
              "question": "Is there an agent mode for multi-step tasks?",
              "support": "supported",
              "answer": "August release rebuilt chat around multi-step agents with automatic tool selection; API optionally enables agentic workflow.",
              "evidenceIds": [
                "omnifact:omnifact:changes",
                "omnifact:omnifact:api-chat"
              ]
            },
            {
              "id": "visible_steps",
              "question": "Are steps and tool calls shown?",
              "support": "partial",
              "answer": "Tool/search/retrieval progress and expandable reasoning show activity; exact full execution trace was not independently inspected.",
              "evidenceIds": [
                "omnifact:omnifact:select",
                "omnifact:omnifact:retrieval",
                "omnifact:omnifact:web"
              ]
            },
            {
              "id": "side_effect_confirmation",
              "question": "Must the user confirm actions with side effects?",
              "support": "partial",
              "answer": "Curated actions wait for confirmation by default; admins choose Always/Approval/Disable. It is not unconditional confirmation for every write under all configurations.",
              "evidenceIds": [
                "omnifact:omnifact:directory",
                "omnifact:omnifact:mcp"
              ]
            },
            {
              "id": "stop_control",
              "question": "Can the user stop a running task?",
              "support": "partial",
              "answer": "Send becomes Stop while response generates; clicking halts generation. Cancellation of already committed external side effects is not established.",
              "evidenceIds": [
                "omnifact:omnifact:stop"
              ]
            }
          ],
          "limitations": [
            "visible_steps: Tool/search/retrieval progress and expandable reasoning show activity; exact full execution trace was not independently inspected.",
            "side_effect_confirmation: Curated actions wait for confirmation by default; admins choose Always/Approval/Disable. It is not unconditional confirmation for every write under all configurations.",
            "stop_control: Send becomes Stop while response generates; clicking halts generation. Cancellation of already committed external side effects is not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:changes",
            "omnifact:omnifact:api-chat",
            "omnifact:omnifact:select",
            "omnifact:omnifact:retrieval",
            "omnifact:omnifact:web",
            "omnifact:omnifact:directory",
            "omnifact:omnifact:mcp",
            "omnifact:omnifact:stop"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:AGT-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Spaces/document API and Enterprise Gateway use organization keys with different filtering/credit behavior.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "api"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro published Spaces advertised but support enablement needed; Gateway Enterprise opt-in",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "api",
                "name": "Omnifact Published Spaces, Public API and Enterprise AI Gateway",
                "type": "api"
              }
            ]
          },
          "questions": [
            {
              "id": "chat_api",
              "question": "Is there an API for chat and assistants?",
              "support": "partial",
              "answer": "Published Spaces chat JSON/SSE with source/agentic headers; Enterprise Gateway OpenAI-compatible completions. Gateway V1 explicitly lacks tool calls and structured outputs.",
              "evidenceIds": [
                "omnifact:omnifact:api-chat",
                "omnifact:omnifact:gateway"
              ]
            },
            {
              "id": "knowledge_api",
              "question": "Can documents be loaded through an API?",
              "support": "partial",
              "answer": "Document upload, list, inspect, rename/delete with Space scope and async ingestion; no agent-configuration CRUD endpoint established.",
              "evidenceIds": [
                "omnifact:omnifact:api-docs"
              ]
            },
            {
              "id": "api_governance",
              "question": "Do audit, budgets and model rules apply to API use?",
              "support": "partial",
              "answer": "Org-level revocable key, enabled-modelcontrols and shared credit budget apply. Gateway hard-stops on exhaustion; Published Space API disables Privacy Filter. Fine-grained API-key scopes/end-user identities/audit parity were not established.",
              "evidenceIds": [
                "omnifact:omnifact:developer",
                "omnifact:omnifact:gateway",
                "omnifact:omnifact:published",
                "omnifact:omnifact:model-settings"
              ]
            },
            {
              "id": "mcp_server",
              "question": "Does the product expose itself to other agents over MCP?",
              "support": "unknown",
              "answer": "Does the product expose itself to other agents over MCP? Unknown. No first-party Omnifact MCP server exposing platform agents was established; inbound MCP client integrations are distinct.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "chat_api: Published Spaces chat JSON/SSE with source/agentic headers; Enterprise Gateway OpenAI-compatible completions. Gateway V1 explicitly lacks tool calls and structured outputs.",
            "knowledge_api: Document upload, list, inspect, rename/delete with Space scope and async ingestion; no agent-configuration CRUD endpoint established.",
            "api_governance: Org-level revocable key, enabled-modelcontrols and shared credit budget apply. Gateway hard-stops on exhaustion; Published Space API disables Privacy Filter. Fine-grained API-key scopes/end-user identities/audit parity were not established.",
            "Unverified mcp_server: No first-party Omnifact MCP server exposing platform agents was established; inbound MCP client integrations are distinct."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:api-chat",
            "omnifact:omnifact:gateway",
            "omnifact:omnifact:api-docs",
            "omnifact:omnifact:developer",
            "omnifact:omnifact:published",
            "omnifact:omnifact:model-settings"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:WORK-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Browser and mobile web access are advertised; native and managed clients remain unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "web",
              "question": "Is a full web client available?",
              "support": "supported",
              "answer": "Full Saa S browser client provides chat and Spaces.",
              "evidenceIds": [
                "omnifact:omnifact:home"
              ]
            },
            {
              "id": "desktop_apps",
              "question": "Windows and macOS apps?",
              "support": "unknown",
              "answer": "Windows and mac OS apps? Unknown. No verified Windows/mac OS native app, browser extension/sidebar or MDM client rollout guide was found. Vendor internal MDM in DPA is not customer client deployment.",
              "evidenceIds": []
            },
            {
              "id": "mobile_apps",
              "question": "iOS and Android apps with SSO?",
              "support": "partial",
              "answer": "Pricing lists Mobile Web App and model picker adapts to small screens; no native i OS/Android app with SSO was established.",
              "evidenceIds": [
                "omnifact:omnifact:pricing",
                "omnifact:omnifact:select"
              ]
            },
            {
              "id": "browser_extension",
              "question": "Is there a browser extension or sidebar?",
              "support": "unknown",
              "answer": "Is there a browser extension or sidebar? Unknown. No verified Windows/mac OS native app, browser extension/sidebar or MDM client rollout guide was found. Vendor internal MDM in DPA is not customer client deployment.",
              "evidenceIds": []
            },
            {
              "id": "managed_deployment",
              "question": "Can IT deploy and configure clients through MDM?",
              "support": "unknown",
              "answer": "Can IT deploy and configure clients through MDM? Unknown. No verified Windows/mac OS native app, browser extension/sidebar or MDM client rollout guide was found. Vendor internal MDM in DPA is not customer client deployment.",
              "evidenceIds": []
            },
            {
              "id": "client_feature_gaps",
              "question": "Which features are missing on mobile?",
              "support": "partial",
              "answer": "Mobile effort picker is inline rather than flyout; broader mobile feature parity is not specified.",
              "evidenceIds": [
                "omnifact:omnifact:select"
              ]
            }
          ],
          "limitations": [
            "mobile_apps: Pricing lists Mobile Web App and model picker adapts to small screens; no native i OS/Android app with SSO was established.",
            "client_feature_gaps: Mobile effort picker is inline rather than flyout; broader mobile feature parity is not specified.",
            "Unverified desktop_apps, browser_extension, managed_deployment: No verified Windows/mac OS native app, browser extension/sidebar or MDM client rollout guide was found. Vendor internal MDM in DPA is not customer client deployment."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:home",
            "omnifact:omnifact:pricing",
            "omnifact:omnifact:select"
          ]
        }
      ]
    },
    {
      "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": "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": []
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:WORK-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Office files and live Google connectors exist; embedded office/Teams apps are unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "word_excel_powerpoint",
              "question": "Does it work inside Word, Excel and PowerPoint?",
              "support": "partial",
              "answer": "Generates DOCX/XLSX/PPTX and modifies uploaded files, but this does not establish in-Word/Excel/Power Point add-ins.",
              "evidenceIds": [
                "omnifact:omnifact:documents"
              ]
            },
            {
              "id": "outlook",
              "question": "Does it work inside Outlook?",
              "support": "unknown",
              "answer": "Does it work inside Outlook? Unknown. No current native Outlook add-in or Teams chat app/bot was established in documentation/catalogue.",
              "evidenceIds": []
            },
            {
              "id": "teams",
              "question": "Is there a Teams app or bot?",
              "support": "unknown",
              "answer": "Is there a Teams app or bot? Unknown. No current native Outlook add-in or Teams chat app/bot was established in documentation/catalogue.",
              "evidenceIds": []
            },
            {
              "id": "google_workspace_apps",
              "question": "Does it work inside Docs, Sheets or Gmail?",
              "support": "partial",
              "answer": "Google Docs/Sheets/Slides/Gmail/Calendar/Chat MCP actions run from Omnifact after personal OAuth; embedded add-ons were not established.",
              "evidenceIds": [
                "omnifact:omnifact:integrations"
              ]
            },
            {
              "id": "licence_prerequisites",
              "question": "Which licences or consents are needed?",
              "support": "partial",
              "answer": "Microsoft document access may require tenantwide admin consent; all OAuth integrations need individual authorized source accounts and third-party entitlements. Exact office-suite licence matrix not established.",
              "evidenceIds": [
                "omnifact:omnifact:sync",
                "omnifact:omnifact:integrations"
              ]
            }
          ],
          "limitations": [
            "word_excel_powerpoint: Generates DOCX/XLSX/PPTX and modifies uploaded files, but this does not establish in-Word/Excel/Power Point add-ins.",
            "google_workspace_apps: Google Docs/Sheets/Slides/Gmail/Calendar/Chat MCP actions run from Omnifact after personal OAuth; embedded add-ons were not established.",
            "licence_prerequisites: Microsoft document access may require tenantwide admin consent; all OAuth integrations need individual authorized source accounts and third-party entitlements. Exact office-suite licence matrix not established.",
            "Unverified outlook, teams: No current native Outlook add-in or Teams chat app/bot was established in documentation/catalogue."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:documents",
            "omnifact:omnifact:integrations",
            "omnifact:omnifact:sync"
          ]
        }
      ]
    },
    {
      "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": "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": []
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:WORK-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Persistent style instructions support writing; specialized document translation is unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "document_translation",
              "question": "Can whole documents be translated with formatting kept?",
              "support": "unknown",
              "answer": "Can whole documents be translated with formatting kept? Unknown. Formatting-preserving full-document translation, named engine and company glossary were not established in docs, model catalogue or integrations.",
              "evidenceIds": []
            },
            {
              "id": "translation_engine",
              "question": "Which engine translates?",
              "support": "unknown",
              "answer": "Which engine translates? Unknown. Formatting-preserving full-document translation, named engine and company glossary were not established in docs, model catalogue or integrations.",
              "evidenceIds": []
            },
            {
              "id": "glossaries",
              "question": "Are company glossaries supported?",
              "support": "unknown",
              "answer": "Are company glossaries supported? Unknown. Formatting-preserving full-document translation, named engine and company glossary were not established in docs, model catalogue or integrations.",
              "evidenceIds": []
            },
            {
              "id": "formality_and_variants",
              "question": "Can formality and regional variants (de-CH) be set?",
              "support": "partial",
              "answer": "Personal response instructions can request formal/casual tone and style. Specific de-CH controls or terminology enforcement were not documented.",
              "evidenceIds": [
                "omnifact:omnifact:account"
              ]
            },
            {
              "id": "writing_tools",
              "question": "Are dedicated rewrite and proofreading tools available?",
              "support": "partial",
              "answer": "Chat supports drafting and rewriting via instructions and document generation; a dedicated proofreading/translation toolbar was not established.",
              "evidenceIds": [
                "omnifact:omnifact:account",
                "omnifact:omnifact:documents"
              ]
            }
          ],
          "limitations": [
            "formality_and_variants: Personal response instructions can request formal/casual tone and style. Specific de-CH controls or terminology enforcement were not documented.",
            "writing_tools: Chat supports drafting and rewriting via instructions and document generation; a dedicated proofreading/translation toolbar was not established.",
            "Unverified document_translation, translation_engine, glossaries: Formatting-preserving full-document translation, named engine and company glossary were not established in docs, model catalogue or integrations."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:account",
            "omnifact:omnifact:documents"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:WORK-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Image generation and edits use configured OpenAI/Google models under group permission.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "image_generation",
              "question": "Can users generate images, with which models?",
              "support": "partial",
              "answer": "Model Settings lists GPTImage2/1.5/1/1Mini, Nano Banana/Pro/2; September notes add GPTImage2.5Flare/Sunburst and October Nano Banana2.1 direct Google. EU generation remains Nano Banana2 because2.1 is not on Google Cloud EU.",
              "evidenceIds": [
                "omnifact:omnifact:model-settings",
                "omnifact:omnifact:changes"
              ]
            },
            {
              "id": "image_editing",
              "question": "Can users edit uploaded images?",
              "support": "supported",
              "answer": "Uploaded reference images can be transformed with text instructions; results appear in gallery and download.",
              "evidenceIds": [
                "omnifact:omnifact:images"
              ]
            },
            {
              "id": "admin_control",
              "question": "Can admins restrict image generation?",
              "support": "partial",
              "answer": "Generate Images is group-granted; model enablement/default is organization-wide. Image/audio contents bypass PII masking and retain route constraints.",
              "evidenceIds": [
                "omnifact:omnifact:groups",
                "omnifact:omnifact:model-settings",
                "omnifact:omnifact:privacy"
              ]
            },
            {
              "id": "usage_terms",
              "question": "What usage rights apply to output?",
              "support": "unknown",
              "answer": "What usage rights apply to output? Unknown. Model-specific output licence/commercial rights were not established; general software rights do not define image-output ownership.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "image_generation: Model Settings lists GPTImage2/1.5/1/1Mini, Nano Banana/Pro/2; September notes add GPTImage2.5Flare/Sunburst and October Nano Banana2.1 direct Google. EU generation remains Nano Banana2 because2.1 is not on Google Cloud EU.",
            "admin_control: Generate Images is group-granted; model enablement/default is organization-wide. Image/audio contents bypass PII masking and retain route constraints.",
            "Unverified usage_terms: Model-specific output licence/commercial rights were not established; general software rights do not define image-output ownership."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:model-settings",
            "omnifact:omnifact:changes",
            "omnifact:omnifact:images",
            "omnifact:omnifact:groups",
            "omnifact:omnifact:privacy"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:WORK-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Experimental dictation/audio input exists; meeting bot/live voice coverage is unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "dictation",
              "question": "Can users dictate prompts?",
              "support": "partial",
              "answer": "Experimental Dictate Messages requires enabled Azure OpenAI; audio bypasses filtering and speech is converted to text.",
              "evidenceIds": [
                "omnifact:omnifact:groups"
              ]
            },
            {
              "id": "read_aloud",
              "question": "Can answers be read aloud?",
              "support": "unknown",
              "answer": "Can answers be read aloud? Unknown. No live voice conversation, read-aloud capability or Swiss German recognition/quality fixture was established.",
              "evidenceIds": []
            },
            {
              "id": "voice_conversation",
              "question": "Is a live voice mode available?",
              "support": "unknown",
              "answer": "Is a live voice mode available? Unknown. No live voice conversation, read-aloud capability or Swiss German recognition/quality fixture was established.",
              "evidenceIds": []
            },
            {
              "id": "meeting_summaries",
              "question": "Are meetings transcribed and summarised?",
              "support": "partial",
              "answer": "Uploaded meeting transcripts can be summarized and Zoom integration searches/recaps recordings; no native automatic meeting-joining/transcription bot was established.",
              "evidenceIds": [
                "omnifact:omnifact:directory",
                "omnifact:omnifact:documents"
              ]
            },
            {
              "id": "swiss_german_speech",
              "question": "Is Swiss German speech recognised?",
              "support": "unknown",
              "answer": "Is Swiss German speech recognised? Unknown. No live voice conversation, read-aloud capability or Swiss German recognition/quality fixture was established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "dictation: Experimental Dictate Messages requires enabled Azure OpenAI; audio bypasses filtering and speech is converted to text.",
            "meeting_summaries: Uploaded meeting transcripts can be summarized and Zoom integration searches/recaps recordings; no native automatic meeting-joining/transcription bot was established.",
            "Unverified read_aloud, voice_conversation, swiss_german_speech: No live voice conversation, read-aloud capability or Swiss German recognition/quality fixture was established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:groups",
            "omnifact:omnifact:directory",
            "omnifact:omnifact:documents"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:WORK-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": "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:WORK-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Shared Spaces organize agents/knowledge; multi-user conversations and complete source-safe redistribution are unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "share_chats",
              "question": "Can chats be shared inside the organisation?",
              "support": "unknown",
              "answer": "Can chats be shared inside the organisation? Unknown. Sharing individual chat links and simultaneous group conversation were not explicitly established; shared Space access alone is insufficient evidence.",
              "evidenceIds": []
            },
            {
              "id": "team_spaces",
              "question": "Are shared projects or workspaces available?",
              "support": "supported",
              "answer": "Space instructions, knowledge and membership are shared with users/groups; conversations remain organized under the Space.",
              "evidenceIds": [
                "omnifact:omnifact:spaces",
                "omnifact:omnifact:share"
              ]
            },
            {
              "id": "group_chat",
              "question": "Can several people chat together with the AI?",
              "support": "unknown",
              "answer": "Can several people chat together with the AI? Unknown. Sharing individual chat links and simultaneous group conversation were not explicitly established; shared Space access alone is insufficient evidence.",
              "evidenceIds": []
            },
            {
              "id": "share_permission_boundary",
              "question": "Does sharing respect the recipient's access to sources?",
              "support": "partial",
              "answer": "Space members can see referenced uploaded knowledge. Personal OAuth MCP follows each source account, but Space source-ACL rechecking and generated-answer resharing boundaries were not tested.",
              "evidenceIds": [
                "omnifact:omnifact:share",
                "omnifact:omnifact:mcp",
                "omnifact:omnifact:sync"
              ]
            }
          ],
          "limitations": [
            "share_permission_boundary: Space members can see referenced uploaded knowledge. Personal OAuth MCP follows each source account, but Space source-ACL rechecking and generated-answer resharing boundaries were not tested.",
            "Unverified share_chats, group_chat: Sharing individual chat links and simultaneous group conversation were not explicitly established; shared Space access alone is insufficient evidence."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:spaces",
            "omnifact:omnifact:share",
            "omnifact:omnifact:mcp",
            "omnifact:omnifact:sync"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:WORK-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "English and German UI are documented; language quality and accessibility are untested.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "ui_languages",
              "question": "Which UI languages are offered?",
              "support": "supported",
              "answer": "Account language selector offers English/German, otherwise browser-language default.",
              "evidenceIds": [
                "omnifact:omnifact: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 DE/FR/IT UI-quality fixture or WCAG conformance statement was obtained. French/Italian UI is not in the documented EN/DE selector.",
              "evidenceIds": []
            },
            {
              "id": "accessibility_statement",
              "question": "Is there a WCAG conformance statement?",
              "support": "unknown",
              "answer": "Is there a WCAG conformance statement? Unknown. No DE/FR/IT UI-quality fixture or WCAG conformance statement was obtained. French/Italian UI is not in the documented EN/DE selector.",
              "evidenceIds": []
            },
            {
              "id": "admin_ui_languages",
              "question": "Is the admin interface available in German?",
              "support": "partial",
              "answer": "A separate German admin documentation tree is published; this does not verify complete German in-app admin translation.",
              "evidenceIds": [
                "omnifact:omnifact:account"
              ]
            }
          ],
          "limitations": [
            "admin_ui_languages: A separate German admin documentation tree is published; this does not verify complete German in-app admin translation.",
            "Unverified dach_language_quality, accessibility_statement: No DE/FR/IT UI-quality fixture or WCAG conformance statement was obtained. French/Italian UI is not in the documented EN/DE selector."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:account"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:ADM-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Enterprise SAML2.0 uses identity-provider MFA and conditional-access policies; nativeTOTP entitlement is outside this finding.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Enterprise SAML/SSO only; nativeTOTP entitlement excluded",
            "addOns": [
              "Enterprise SSO enablement; identity-provider MFA/conditional access"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "sso_protocols",
              "question": "Which SSO protocols and identity providers work?",
              "support": "supported",
              "answer": "SAML2.0 via SSO Ready; Entra ID, Okta, Keycloak and SAML-compatible Id Ps. OIDC was not established.",
              "evidenceIds": [
                "omnifact:omnifact:users",
                "omnifact:omnifact:sso-blog",
                "omnifact:omnifact:public-sector"
              ]
            },
            {
              "id": "sso_plan",
              "question": "Which plan includes SSO?",
              "support": "supported",
              "answer": "SSO/SCIM exclusive to Enterprise and support-enabled configuration.",
              "evidenceIds": [
                "omnifact:omnifact:users"
              ]
            },
            {
              "id": "mfa",
              "question": "Can MFA be enforced?",
              "support": "partial",
              "answer": "For Enterprise SAML/SSO users, authentication and MFA are controlled by the identity provider; Omnifact native2FA setup is hidden. No nativeTOTP entitlement for Pro or Enterprise is asserted.",
              "evidenceIds": [
                "omnifact:omnifact:security-rev2",
                "omnifact:omnifact:sso-blog"
              ]
            },
            {
              "id": "conditional_access",
              "question": "Do Entra conditional-access policies apply?",
              "support": "partial",
              "answer": "SSO announcement says existing Id P conditional access/MFA/password rules apply; Entra device/location combinations were not tested.",
              "evidenceIds": [
                "omnifact:omnifact:sso-blog"
              ]
            },
            {
              "id": "domain_capture",
              "question": "Can the company claim its email domain?",
              "support": "unknown",
              "answer": "Can the company claim its email domain? Unknown. No verified company-domain capture/ownership process was established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "The supported MFA path here is the Enterprise identity provider. Native password/TOTP accounts require separate plan verification."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:users",
            "omnifact:omnifact:sso-blog",
            "omnifact:omnifact:public-sector",
            "omnifact:omnifact:security-rev2",
            "omnifact:omnifact:auth"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:ADM-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Enterprise SCIM synchronizes users/groups; deactivation blocks login while detailed asset disposition remains unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "scim",
              "question": "Is SCIM provisioning supported?",
              "support": "supported",
              "answer": "Dedicated sso-sync creates, updates anddeactivates users automatically; manual creation/profile/role/CSV changes are locked under SCIM.",
              "evidenceIds": [
                "omnifact:omnifact:users"
              ]
            },
            {
              "id": "group_sync",
              "question": "Are identity-provider groups synced?",
              "support": "supported",
              "answer": "Entra, Okta or Google Workspace groups mirror into immutable-membership Synced Groups with Omnifact-managed permissions.",
              "evidenceIds": [
                "omnifact:omnifact:groups"
              ]
            },
            {
              "id": "jit_provisioning",
              "question": "Are users created at first login?",
              "support": "partial",
              "answer": "Provisioned status includes SSO/SCIM-created accounts before first login; invitations are skipped for SSO. Exact just-in-time account trigger not specified.",
              "evidenceIds": [
                "omnifact:omnifact:users"
              ]
            },
            {
              "id": "deprovisioning",
              "question": "What happens to a removed user's data and shared assets?",
              "support": "partial",
              "answer": "Deactivated users cannot log in; only unaccepted invitees can be permanently deleted from user list. Space removal keeps prior contributions; full leaver private data/agent ownership effects unspecified.",
              "evidenceIds": [
                "omnifact:omnifact:users",
                "omnifact:omnifact:share"
              ]
            },
            {
              "id": "seat_assignment",
              "question": "Can admins assign and reclaim seats?",
              "support": "partial",
              "answer": "Active and invited users count as seats; adding prorates cost, removal credits next invoice. Deactivated-seat billing treatment not fully specified.",
              "evidenceIds": [
                "omnifact:omnifact:billing"
              ]
            }
          ],
          "limitations": [
            "jit_provisioning: Provisioned status includes SSO/SCIM-created accounts before first login; invitations are skipped for SSO. Exact just-in-time account trigger not specified.",
            "deprovisioning: Deactivated users cannot log in; only unaccepted invitees can be permanently deleted from user list. Space removal keeps prior contributions; full leaver private data/agent ownership effects unspecified.",
            "seat_assignment: Active and invited users count as seats; adding prorates cost, removal credits next invoice. Deactivated-seat billing treatment not fully specified."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:users",
            "omnifact:omnifact:groups",
            "omnifact:omnifact:share",
            "omnifact:omnifact:billing"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:ADM-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Owner/Admin/Member and Space roles combine with additive groups.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "admin_roles",
              "question": "Which admin roles exist, and can admin rights be delegated?",
              "support": "supported",
              "answer": "Owner includes Admin/Member, Admin includes Member; Admin manages team users/settings except Owner. Space Admin/Editor is separate, with optional Knowledge Base Manager in DPA.",
              "evidenceIds": [
                "omnifact:omnifact:users",
                "omnifact:omnifact:share",
                "omnifact:omnifact:dpa"
              ]
            },
            {
              "id": "groups",
              "question": "Can permissions be set per group?",
              "support": "supported",
              "answer": "Everyone, SCIM-synced andmanual groups; permissions union rather than deny.",
              "evidenceIds": [
                "omnifact:omnifact:groups"
              ]
            },
            {
              "id": "feature_toggles",
              "question": "Which features can be switched on or off per group?",
              "support": "supported",
              "answer": "Group grants file/image uploads, audio, web, imagegeneration, code, dictation, modeltiers, USmodels, filterexemption; organization models/features must also be enabled.",
              "evidenceIds": [
                "omnifact:omnifact:groups"
              ]
            },
            {
              "id": "multi_entity",
              "question": "Can subsidiaries or departments be separated within one contract?",
              "support": "partial",
              "answer": "Organization tenant separation and department Space/group boundaries are described; terms prohibit multiple accounts for one company and usage beyond own personnel without agreement. Multi-subsidiary contract rights were not established.",
              "evidenceIds": [
                "omnifact:omnifact:dpa",
                "omnifact:omnifact:terms",
                "omnifact:omnifact:share"
              ]
            }
          ],
          "limitations": [
            "multi_entity: Organization tenant separation and department Space/group boundaries are described; terms prohibit multiple accounts for one company and usage beyond own personnel without agreement. Multi-subsidiary contract rights were not established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:users",
            "omnifact:omnifact:share",
            "omnifact:omnifact:dpa",
            "omnifact:omnifact:groups",
            "omnifact:omnifact:terms"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:ADM-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Enterprise adoption analytics show active users and message counts; deeper breakdown/export controls are unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Enterprise Usage Analytics & Insights; Pro excluded",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "adoption_dashboard",
              "question": "Is there an adoption dashboard?",
              "support": "supported",
              "answer": "Analytics provides date-range totals and daily active-user/message charts with interactive metric toggles; Enterprise-only in pricing.",
              "evidenceIds": [
                "omnifact:omnifact:analytics-rev2",
                "omnifact:omnifact:pricing-rev2"
              ]
            },
            {
              "id": "breakdowns",
              "question": "Can usage be broken down by group, model, feature and assistant?",
              "support": "partial",
              "answer": "Documented dashboard is organization/day level. Model, group, feature andassistant breakdown matrix was not established.",
              "evidenceIds": [
                "omnifact:omnifact:analytics-rev2"
              ]
            },
            {
              "id": "export",
              "question": "Can usage data be exported?",
              "support": "unknown",
              "answer": "Can usage data be exported? Unknown. No documented analytics export/API or configurable individual-reporting controls were established. Direct HTML retrieval returned403; public cached official page was retrieved through the web tool.",
              "evidenceIds": []
            },
            {
              "id": "privacy_modes",
              "question": "Can per-person reporting be limited or pseudonymised?",
              "support": "partial",
              "answer": "DPA describes anonymized PostHog feature-use analytics without individual attribution; separate customer-visible reporting privacy toggles were not established.",
              "evidenceIds": [
                "omnifact:omnifact:dpa-rev2"
              ]
            }
          ],
          "limitations": [
            "Dashboard scope is organization/day level; additional model/group/assistant breakdowns and export remain unverified."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:analytics-rev2",
            "omnifact:omnifact:pricing-rev2",
            "omnifact:omnifact:dpa-rev2"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:ADM-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Shared pooled credits and model permissions constrain spend; individual financial allocation is unspecified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "cost_visibility",
              "question": "Can admins see cost or consumption per user and group?",
              "support": "partial",
              "answer": "Billing shows pooled real-time consumption andforecast; Enterprise detailed real-time dashboard is described as forthcoming, while total used is available.",
              "evidenceIds": [
                "omnifact:omnifact:billing"
              ]
            },
            {
              "id": "budgets",
              "question": "Can budgets be set per user or group?",
              "support": "partial",
              "answer": "Organization pooled allowance and manual additional-credit recharge. Model-tier and USroute access can be group-controlled, but per-user/group monetary hard caps were not established.",
              "evidenceIds": [
                "omnifact:omnifact:billing",
                "omnifact:omnifact:groups"
              ]
            },
            {
              "id": "budget_enforcement",
              "question": "Does reaching a budget alert, block or downgrade?",
              "support": "supported",
              "answer": "Monthly budget: chat downgrades to enabled fallbacks; Gateway hard-blocks all calls on exhausted credits. Daily message quota disables send until reset.",
              "evidenceIds": [
                "omnifact:omnifact:limits",
                "omnifact:omnifact:gateway",
                "omnifact:omnifact:chat"
              ]
            },
            {
              "id": "chargeback",
              "question": "Can costs be exported per cost centre?",
              "support": "unknown",
              "answer": "Can costs be exported per cost centre? Unknown. No cost-centre chargeback export or complete cost-per-user/group allocation interface was established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "cost_visibility: Billing shows pooled real-time consumption andforecast; Enterprise detailed real-time dashboard is described as forthcoming, while total used is available.",
            "budgets: Organization pooled allowance and manual additional-credit recharge. Model-tier and USroute access can be group-controlled, but per-user/group monetary hard caps were not established.",
            "Unverified chargeback: No cost-centre chargeback export or complete cost-per-user/group allocation interface was established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:billing",
            "omnifact:omnifact:groups",
            "omnifact:omnifact:limits",
            "omnifact:omnifact:gateway",
            "omnifact:omnifact:chat"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:ADM-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "DPA documents append-only admin logs for at least 90 days; content compliance export is unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "admin_events",
              "question": "Are admin and security events logged?",
              "support": "supported",
              "answer": "TOM2.5 records user-status changes/resource deletions with user attribution, UTC timestamps, encrypted transport/storage and append-only protection; event coverage can expand.",
              "evidenceIds": [
                "omnifact:omnifact:dpa"
              ]
            },
            {
              "id": "content_logging",
              "question": "Can prompts and answers be retained for compliance, and is it configurable?",
              "support": "unknown",
              "answer": "Can prompts and answers be retained for compliance, and is it configurable? Unknown. No full prompts/answers archive configuration, SIEM streaming/export or e Discovery/legal hold interface was established. Id P authentication logs are distinct from platform audit exports.",
              "evidenceIds": []
            },
            {
              "id": "siem_export",
              "question": "Can logs stream to a SIEM or be exported?",
              "support": "unknown",
              "answer": "Can logs stream to a SIEM or be exported? Unknown. No full prompts/answers archive configuration, SIEM streaming/export or e Discovery/legal hold interface was established. Id P authentication logs are distinct from platform audit exports.",
              "evidenceIds": []
            },
            {
              "id": "ediscovery",
              "question": "Are eDiscovery and legal hold supported?",
              "support": "unknown",
              "answer": "Are e Discovery and legal hold supported? Unknown. No full prompts/answers archive configuration, SIEM streaming/export or e Discovery/legal hold interface was established. Id P authentication logs are distinct from platform audit exports.",
              "evidenceIds": []
            },
            {
              "id": "log_retention",
              "question": "How long are logs kept?",
              "support": "partial",
              "answer": "Administrative logs retained at least 90 days; content retention is customer-configured but not a published compliance archive.",
              "evidenceIds": [
                "omnifact:omnifact:dpa"
              ]
            }
          ],
          "limitations": [
            "log_retention: Administrative logs retained at least 90 days; content retention is customer-configured but not a published compliance archive.",
            "Unverified content_logging, siem_export, ediscovery: No full prompts/answers archive configuration, SIEM streaming/export or e Discovery/legal hold interface was established. Id P authentication logs are distinct from platform audit exports."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:dpa"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:ADM-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Default Privacy Filter combines local NER/regex masking with several explicit bypass paths.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro/Enterprise, filter defaults enabled; user exemptions/advanced feature flags qualified",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "pii_detection",
              "question": "Is personal data detected in prompts and files?",
              "support": "partial",
              "answer": "Names, addresses, email, phone, IPv4, US/German IDs/passports, tax/pensionnumbers, IBAN/BIC/card/routing/account numbers, companies anddocument filenames. Media bytes are not scanned; AHV recognition untested.",
              "evidenceIds": [
                "omnifact:omnifact:dpa",
                "omnifact:omnifact:files",
                "omnifact:omnifact:privacy"
              ]
            },
            {
              "id": "pii_action",
              "question": "Is it redacted, masked, blocked or only warned?",
              "support": "partial",
              "answer": "Detected strings replaced with placeholders then restored in output; web queries containing masked values are blocked. Click-to-Reveal confirms sending individual terms; optional%%exemption defaults off andrequires Support. Group exemptions may disable filtering per agent/Space.",
              "evidenceIds": [
                "omnifact:omnifact:privacy",
                "omnifact:omnifact:web",
                "omnifact:omnifact:groups",
                "omnifact:omnifact:dpa"
              ]
            },
            {
              "id": "custom_patterns",
              "question": "Can admins add custom patterns or terms?",
              "support": "partial",
              "answer": "Vendor detector uses custom-trained  SLMNER andregex, but customer-defined pattern/dictionary UI/API was not established. Optional%%syntax bypasses rather than adds detection.",
              "evidenceIds": [
                "omnifact:omnifact:dpa"
              ]
            },
            {
              "id": "dlp_integration",
              "question": "Does it integrate with an existing DLP product?",
              "support": "unknown",
              "answer": "Does it integrate with an existing DLP product? Unknown. No existing third-party DLP/Purview integration or synthetic AHV/IBAN accuracy fixture was established.",
              "evidenceIds": []
            },
            {
              "id": "filter_location",
              "question": "Where does filtering run?",
              "support": "partial",
              "answer": "DPA places filter within Azure Germany West Central, Frankfurt before external model. MCP arguments/results, code, sandbox, images/audio bytes, personalization and Published Space API bypass filtering by design.",
              "evidenceIds": [
                "omnifact:omnifact:dpa",
                "omnifact:omnifact:privacy",
                "omnifact:omnifact:published",
                "omnifact:omnifact:account"
              ]
            }
          ],
          "limitations": [
            "pii_detection: Names, addresses, email, phone, IPv4, US/German IDs/passports, tax/pensionnumbers, IBAN/BIC/card/routing/account numbers, companies anddocument filenames. Media bytes are not scanned; AHV recognition untested.",
            "pii_action: Detected strings replaced with placeholders then restored in output; web queries containing masked values are blocked. Click-to-Reveal confirms sending individual terms; optional%%exemption defaults off andrequires Support. Group exemptions may disable filtering per agent/Space.",
            "custom_patterns: Vendor detector uses custom-trained  SLMNER andregex, but customer-defined pattern/dictionary UI/API was not established. Optional%%syntax bypasses rather than adds detection.",
            "filter_location: DPA places filter within Azure Germany West Central, Frankfurt before external model. MCP arguments/results, code, sandbox, images/audio bytes, personalization and Published Space API bypass filtering by design.",
            "Unverified dlp_integration: No existing third-party DLP/Purview integration or synthetic AHV/IBAN accuracy fixture was established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:dpa",
            "omnifact:omnifact:files",
            "omnifact:omnifact:privacy",
            "omnifact:omnifact:web",
            "omnifact:omnifact:groups",
            "omnifact:omnifact:published",
            "omnifact:omnifact:account"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:ADM-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Company/Space instructions and privacy/tool governance exist; mandatory policy workflows are unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "org_instructions",
              "question": "Can admins set organisation-wide instructions?",
              "support": "partial",
              "answer": "Teamdescription supplies businesscontext; Spaceinstructions set response behavior and strict grounding. No guaranteed immutable organization safety instruction hierarchy was established.",
              "evidenceIds": [
                "omnifact:omnifact:company",
                "omnifact:omnifact:create",
                "omnifact:omnifact:retrieval"
              ]
            },
            {
              "id": "usage_notice",
              "question": "Can users be required to accept a usage policy?",
              "support": "unknown",
              "answer": "Can users be required to accept a usage policy? Unknown. No mandatory AI-use-policy acknowledgement, admin policy-hit dashboard or configurable general content-filter taxonomy was established.",
              "evidenceIds": []
            },
            {
              "id": "content_filters",
              "question": "Are content filters configurable?",
              "support": "partial",
              "answer": "Organization PIImasking, group capabilities/modelroutes andper-tool approval/block settings are documented. General topic/abusefilter customization was not established.",
              "evidenceIds": [
                "omnifact:omnifact:privacy",
                "omnifact:omnifact:groups",
                "omnifact:omnifact:mcp"
              ]
            },
            {
              "id": "violation_reporting",
              "question": "Are policy hits visible to admins?",
              "support": "unknown",
              "answer": "Are policy hits visible to admins? Unknown. No mandatory AI-use-policy acknowledgement, admin policy-hit dashboard or configurable general content-filter taxonomy was established.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "org_instructions: Teamdescription supplies businesscontext; Spaceinstructions set response behavior and strict grounding. No guaranteed immutable organization safety instruction hierarchy was established.",
            "content_filters: Organization PIImasking, group capabilities/modelroutes andper-tool approval/block settings are documented. General topic/abusefilter customization was not established.",
            "Unverified usage_notice, violation_reporting: No mandatory AI-use-policy acknowledgement, admin policy-hit dashboard or configurable general content-filter taxonomy was established."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:company",
            "omnifact:omnifact:create",
            "omnifact:omnifact:retrieval",
            "omnifact:omnifact:privacy",
            "omnifact:omnifact:groups",
            "omnifact:omnifact:mcp"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:DATA-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Hosted primary workspace storage is in Azure EU. Germany-only processing and complete backup/log/support residency are not established; model and metadata routes differ.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "api"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro/Enterprise hosted Azure platform storage; model and edge-metadata routes separately scoped",
            "addOns": [
              "Enterprise AI Gateway where named; provider/model route and eu/ prefix selected explicitly"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              },
              {
                "id": "api",
                "name": "Omnifact Published Spaces, Public API and Enterprise AI Gateway",
                "type": "api"
              }
            ]
          },
          "questions": [
            {
              "id": "storage_region",
              "question": "Where are chats, files and indexes stored?",
              "support": "partial",
              "answer": "Hosted raw chats/files/indexed workspace content uses Azure infrastructure in the EU. DPA identifies GermanyWestCentral/Frankfurt; the live infrastructure register also names NL/SE/IE. Only EU primary-platform storage is claimed here; a Germany-only deployment footprint is not established.",
              "evidenceIds": [
                "omnifact:omnifact:dpa-rev2",
                "omnifact:omnifact:trust-rev2"
              ]
            },
            {
              "id": "inference_region",
              "question": "Where do model calls run, per provider?",
              "support": "supported",
              "answer": "EU routes include Azure OpenAI, Google Cloud EU for Gemini/Anthropic, and Mistral EU. Direct OpenAI/Anthropic US and Google API global routes also exist. Gateway needs eu/ prefix; unprefixed IDs never use EU backends.",
              "evidenceIds": [
                "omnifact:omnifact:models",
                "omnifact:omnifact:vertex",
                "omnifact:omnifact:gateway",
                "omnifact:omnifact:trust-rev2"
              ]
            },
            {
              "id": "backups_logs_region",
              "question": "Where are backups, logs and telemetry?",
              "support": "unknown",
              "answer": "Unknown per-service backup/log geography for a particular contract. DPA Frankfurt/EU wording and the broader Azure DE/NL/SE/IE register do not map each backup stream. Cloudflare EU/US edge metadata/security logs are separate from platform document storage.",
              "evidenceIds": []
            },
            {
              "id": "support_access_region",
              "question": "From where can vendor staff access data?",
              "support": "partial",
              "answer": "Pricing names German and US service teams; DPA permits justified, time-limited production access. Staff physical access locations by task are not specified.",
              "evidenceIds": [
                "omnifact:omnifact:pricing-rev2",
                "omnifact:omnifact:dpa-rev2"
              ]
            },
            {
              "id": "swiss_hosting",
              "question": "Is Swiss hosting available?",
              "support": "unknown",
              "answer": "Is Swiss hosting available? Unknown. No full Swiss platform/backup/support hosting option was established.",
              "evidenceIds": []
            },
            {
              "id": "residency_plan",
              "question": "Which plan or option provides residency?",
              "support": "partial",
              "answer": "Pro/Enterprise pricing offers EU cloud storage and EU model routes. This does not establish all-service EU residency. Enterprise Gateway requests require eu/ model IDs for EU backends; direct/global model routes and edge metadata have different geography.",
              "evidenceIds": [
                "omnifact:omnifact:pricing-rev2",
                "omnifact:omnifact:gateway",
                "omnifact:omnifact:providers-rev2",
                "omnifact:omnifact:trust-rev2"
              ]
            }
          ],
          "limitations": [
            "The storage finding covers primary workspace content, not every model/edge/support processing path. No Germany-only or whole-service EU-only guarantee is made."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:dpa-rev2",
            "omnifact:omnifact:models",
            "omnifact:omnifact:vertex",
            "omnifact:omnifact:gateway",
            "omnifact:omnifact:trust-rev2",
            "omnifact:omnifact:pricing-rev2",
            "omnifact:omnifact:groups-rev2",
            "omnifact:omnifact:providers-rev2"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:DATA-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Saa S, customer-cloud and on-premise are offered without published private-deployment minimums.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "self-managed"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro/Enterprise Saa S; Enterprise quoted private deployment",
            "addOns": [
              "Deployment/infrastructure/operator costs quoted"
            ],
            "deploymentMode": null,
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              },
              {
                "id": "self-managed",
                "name": "Omnifact Enterprise customer-cloud/on-premise",
                "type": "self-hosted-server"
              }
            ]
          },
          "questions": [
            {
              "id": "multi_tenant_saas",
              "question": "Is a shared SaaS offered?",
              "support": "supported",
              "answer": "Cloud Saa S uses logical organization/client separation.",
              "evidenceIds": [
                "omnifact:omnifact:terms",
                "omnifact:omnifact:dpa"
              ]
            },
            {
              "id": "dedicated_instance",
              "question": "Is a dedicated single-tenant instance offered, from what size?",
              "support": "partial",
              "answer": "Managed, own-cloud and on-premise are advertised; a distinct dedicated Saa S specification and seat threshold were not established.",
              "evidenceIds": [
                "omnifact:omnifact:home"
              ]
            },
            {
              "id": "customer_cloud",
              "question": "Can it run in the customer's own cloud account, from what size?",
              "support": "partial",
              "answer": "Own/private cloud is available on request; minimum seats/spend, operating roles and supported infrastructure are not public.",
              "evidenceIds": [
                "omnifact:omnifact:home",
                "omnifact:omnifact:public-sector"
              ]
            },
            {
              "id": "on_premise",
              "question": "Can the whole platform run on customer infrastructure, from what size?",
              "support": "partial",
              "answer": "Enterprise on-premise option includes municipal datacenters; numeric minimum and architecture requirements are unpublished.",
              "evidenceIds": [
                "omnifact:omnifact:pricing",
                "omnifact:omnifact:public-sector"
              ]
            },
            {
              "id": "air_gapped",
              "question": "Can it run without internet access?",
              "support": "unknown",
              "answer": "Can it run without internet access? Unknown. Air-gapped operation and per-mode feature/egress parity were not established; a general self-hosting article is not a deployment specification.",
              "evidenceIds": []
            },
            {
              "id": "mode_feature_gaps",
              "question": "Which features are missing outside SaaS?",
              "support": "unknown",
              "answer": "Which features are missing outside Saa S? Unknown. Air-gapped operation and per-mode feature/egress parity were not established; a general self-hosting article is not a deployment specification.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "dedicated_instance: Managed, own-cloud and on-premise are advertised; a distinct dedicated Saa S specification and seat threshold were not established.",
            "customer_cloud: Own/private cloud is available on request; minimum seats/spend, operating roles and supported infrastructure are not public.",
            "on_premise: Enterprise on-premise option includes municipal datacenters; numeric minimum and architecture requirements are unpublished.",
            "Unverified air_gapped, mode_feature_gaps: Air-gapped operation and per-mode feature/egress parity were not established; a general self-hosting article is not a deployment specification."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:terms",
            "omnifact:omnifact:dpa",
            "omnifact:omnifact:home",
            "omnifact:omnifact:public-sector",
            "omnifact:omnifact:pricing"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:DATA-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Managed-route documentation promises no model training. Applicable upstream retention, ZDR eligibility and human-review exceptions remain unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "api"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro/Enterprise managed chat routes; AI Gateway statements apply only to the Enterprise API module; actual upstream retention unverified",
            "addOns": [
              "Enterprise AI Gateway enablement where explicitly named; BYOK under customer-provider agreement"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              },
              {
                "id": "api",
                "name": "Omnifact Published Spaces, Public API and Enterprise AI Gateway",
                "type": "api"
              }
            ]
          },
          "questions": [
            {
              "id": "vendor_training",
              "question": "Does the vendor train on customer content?",
              "support": "supported",
              "answer": "Vendor says it never uses customer data to train its own models.",
              "evidenceIds": [
                "omnifact:omnifact:privacy-intro"
              ]
            },
            {
              "id": "provider_training",
              "question": "Do model providers train on it under this product's contracts?",
              "support": "partial",
              "answer": "The vendor promises no underlying-provider training for the Enterprise AI Gateway. BYOK processing is under the customer-provider agreement; no managed-route promise is extended to arbitrary customer keys.",
              "evidenceIds": [
                "omnifact:omnifact:gateway-web",
                "omnifact:omnifact:dpa-rev2"
              ]
            },
            {
              "id": "provider_retention",
              "question": "How long do model providers keep prompts, including for abuse monitoring?",
              "support": "unknown",
              "answer": "Unknown applicable duration per enabled model/provider/project. The Trust register describes typical directOpenAI30-day retention and configuration-dependent Google logging, while EU-route pages advertise ZDR. These are not mapped to an actual customer route/contract, so no model-specific retention guarantee is asserted.",
              "evidenceIds": []
            },
            {
              "id": "zero_retention",
              "question": "Is zero data retention available, and on which plan?",
              "support": "unknown",
              "answer": "Unknown verified ZDR eligibility and scope per Pro/Enterprise model route. Gateway payload handling and EU-route marketing do not establish the upstream provider agreement or every safety/logging exception. Workspace database storage is separate.",
              "evidenceIds": []
            },
            {
              "id": "human_review",
              "question": "Can provider staff review content?",
              "support": "partial",
              "answer": "Provider processing summaries are request-only in Trust Center; human abuse-review exceptions by provider/model were not established.",
              "evidenceIds": [
                "omnifact:omnifact:trust-rev2"
              ]
            }
          ],
          "limitations": [
            "No universal provider ZDR finding is made. The advertised ZDR option is not treated as unsupported; its applicable terms remain a gap."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:privacy-intro",
            "omnifact:omnifact:gateway-web",
            "omnifact:omnifact:dpa-rev2",
            "omnifact:omnifact:trust-rev2",
            "omnifact:omnifact:vertex"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:DATA-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "DPA contract-end return/approved-destruction duties are separate from support-request deletion and backup retention. A guaranteed runtime exit window remains unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro/Enterprise published DPA return/deletion obligations; actual runtime exit and account-deletion timing unverified",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "default_retention",
              "question": "What is retained and for how long by default?",
              "support": "partial",
              "answer": "DPA: database PITR30 days with daily snapshots/continuous WAL; weekly pg_dump fallback; blob soft-delete14 days. Universal default chat/file retention is unspecified.",
              "evidenceIds": [
                "omnifact:omnifact:dpa-rev2"
              ]
            },
            {
              "id": "admin_retention",
              "question": "Can admins set retention periods?",
              "support": "partial",
              "answer": "DPA permits organization administrators to set customer-data retention; UI range and per-object options are not published.",
              "evidenceIds": [
                "omnifact:omnifact:dpa-rev2"
              ]
            },
            {
              "id": "user_deletion",
              "question": "Can users delete their chats and files permanently?",
              "support": "partial",
              "answer": "The Space uploaded-file guide describes permanent deletion of a selected file. Registered-user/profile and whole-organization runtime deletion semantics are not established here; the user-list Delete operation applies to unaccepted invitations.",
              "evidenceIds": [
                "omnifact:omnifact:uploads",
                "omnifact:omnifact:users"
              ]
            },
            {
              "id": "contract_end_deletion",
              "question": "What is deleted at contract end, and when?",
              "support": "partial",
              "answer": "DPA9.2 requires return or controller-approved destruction no later than contract end, except legal retention;9.3 permits proof-of-processing documentation retention. The TOM separately describes support-request organization deletion within30days and backups aging out. No guaranteed post-termination self-service access window or tested runtime completion time is inferred.",
              "evidenceIds": [
                "omnifact:omnifact:dpa-rev2"
              ]
            }
          ],
          "limitations": [
            "The finding states separate contractual and documented operational procedures. It does not turn a support-request clock into an exit grace period."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:dpa-rev2",
            "omnifact:omnifact:users",
            "omnifact:omnifact:uploads"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:DATA-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "DPA defines processor-change notice and transfer safeguards; a complete current contract-specific supplier/entity/country register remains unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro/Enterprise standard hosted DPA; optional model-provider routes only under the applicable contract/instruction",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "subprocessor_list",
              "question": "Is a dated sub-processor list published?",
              "support": "unknown",
              "answer": "Unknown complete current plan-specific processor inventory. DPAAnnex4 and the live Trust register publish different sets; no source establishes a consolidated applicable list or the role of every listed provider for a given contract.",
              "evidenceIds": []
            },
            {
              "id": "subprocessor_countries",
              "question": "Which countries do sub-processors operate in?",
              "support": "unknown",
              "answer": "Unknown complete country/legal-entity matrix for the scoped contract. Azure infrastructure and Cloudflare metadata have different roles, and optional model-provider routes depend on selection. The differing DPA/Trust entries are not combined into one asserted authoritative list.",
              "evidenceIds": []
            },
            {
              "id": "change_notification",
              "question": "Are customers notified of sub-processor changes?",
              "support": "supported",
              "answer": "DPA6.3 requires written/text notice at least 30 days before new/replaced subprocessor and objection opportunity before start.",
              "evidenceIds": [
                "omnifact:omnifact:dpa-rev2"
              ]
            },
            {
              "id": "parent_jurisdiction",
              "question": "Which jurisdiction governs the vendor and its parent?",
              "support": "partial",
              "answer": "Omnifact Gmb H, Frankfurt, Germany, HRB131357. Ultimate parent/shareholding was not established.",
              "evidenceIds": [
                "omnifact:omnifact:imprint"
              ]
            },
            {
              "id": "transfer_mechanism",
              "question": "Which transfer mechanism applies to non-EU/CH processing?",
              "support": "partial",
              "answer": "DPA1.4 permits nonEEA processing after prior information and safeguards under Articles44-49. Optional BYOK/provider routes depend on their applicable agreements. A specific current SCC/DPF basis for every Trust entry was not verified.",
              "evidenceIds": [
                "omnifact:omnifact:dpa-rev2"
              ]
            },
            {
              "id": "government_access_policy",
              "question": "Is there a published government-access or transparency policy?",
              "support": "partial",
              "answer": "DPA11.2 requires seizure/confiscation notice unless prohibited by court/authority; Terms15.3 require advance compelled-disclosure notice where legal. Separate request statistics were not verified.",
              "evidenceIds": [
                "omnifact:omnifact:dpa-rev2",
                "omnifact:omnifact:terms"
              ]
            }
          ],
          "limitations": [
            "Neither public list is silently treated as complete. Ordinary notification/transfer contract terms remain distinct from a verified current processing inventory."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:dpa-rev2",
            "omnifact:omnifact:trust-rev2",
            "omnifact:omnifact:imprint",
            "omnifact:omnifact:terms"
          ]
        }
      ]
    },
    {
      "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": "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": []
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:DATA-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Public GDPR DPA is binding in German; Swiss and sector-specific contract coverage remains incomplete.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "dpa",
              "question": "Is a DPA available, and is it negotiable?",
              "support": "partial",
              "answer": "Article28 DPA accepted at registration. German text prevails; English is a translation. Written amendments are possible but negotiability is not promised.",
              "evidenceIds": [
                "omnifact:omnifact:dpa",
                "omnifact:omnifact:dpa-de"
              ]
            },
            {
              "id": "revdsg_gdpr",
              "question": "Does the DPA cover revDSG and GDPR?",
              "support": "partial",
              "answer": "GDPR is explicit; revised Swiss DSG coverage/addendum and Swiss SCC modifications were not established.",
              "evidenceIds": [
                "omnifact:omnifact:dpa"
              ]
            },
            {
              "id": "governing_law",
              "question": "Which law and court govern the contract?",
              "support": "supported",
              "answer": "German law and Frankfurt exclusive jurisdiction under Terms18; German legal version prevails.",
              "evidenceIds": [
                "omnifact:omnifact:terms"
              ]
            },
            {
              "id": "ai_act_materials",
              "question": "Is EU AI Act documentation provided?",
              "support": "partial",
              "answer": "Public AI Act whitepaper and Academy literacy/certification training are advertised; these are not product conformity attestations.",
              "evidenceIds": [
                "omnifact:omnifact:whitepapers",
                "omnifact:omnifact:pricing"
              ]
            },
            {
              "id": "sector_materials",
              "question": "Are FINMA or other sector materials provided?",
              "support": "partial",
              "answer": "Public-administration, banking and healthcare positioning/private hosting are advertised; actual FINMA/DORA/§203 contract pack was not verified.",
              "evidenceIds": [
                "omnifact:omnifact:home",
                "omnifact:omnifact:public-sector"
              ]
            }
          ],
          "limitations": [
            "dpa: Article28 DPA accepted at registration. German text prevails; English is a translation. Written amendments are possible but negotiability is not promised.",
            "revdsg_gdpr: GDPR is explicit; revised Swiss DSG coverage/addendum and Swiss SCC modifications were not established.",
            "ai_act_materials: Public AI Act whitepaper and Academy literacy/certification training are advertised; these are not product conformity attestations.",
            "sector_materials: Public-administration, banking and healthcare positioning/private hosting are advertised; actual FINMA/DORA/§203 contract pack was not verified."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:dpa",
            "omnifact:omnifact:dpa-de",
            "omnifact:omnifact:terms",
            "omnifact:omnifact:whitepapers",
            "omnifact:omnifact:pricing",
            "omnifact:omnifact:home",
            "omnifact:omnifact:public-sector"
          ]
        }
      ]
    },
    {
      "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": "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": []
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:DATA-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Public ISO27001 certificate verifies platform/Spaces ISMS through 2029-04-06.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "iso_27001",
              "question": "ISO 27001 with scope and validity?",
              "support": "supported",
              "answer": "Prescient Security LLC certificate123228 issue1, ISO/IEC27001:2022, issued/certified 2026-04-07, valid until 2029-04-06 subject to surveillance. Covers ISMS supporting Platform/Spaces, data, Azure infrastructure, software, people and procedures; So A1.4 dated 2026-03-30. All in-scope activities conducted remotely.",
              "evidenceIds": [
                "omnifact:omnifact:iso"
              ]
            },
            {
              "id": "soc2",
              "question": "SOC 2 type, period and covered service?",
              "support": "unknown",
              "answer": "SOC 2 type, period and covered service? Unknown. No Omnifact-specific SOC2 type/period, C5, ISO27701/42001 or TISAX attestation was verified.",
              "evidenceIds": []
            },
            {
              "id": "c5",
              "question": "BSI C5 attestation?",
              "support": "unknown",
              "answer": "BSI C5 attestation? Unknown. No Omnifact-specific SOC2 type/period, C5, ISO27701/42001 or TISAX attestation was verified.",
              "evidenceIds": []
            },
            {
              "id": "other_certifications",
              "question": "Which other certificates (27701, 42001, TISAX)?",
              "support": "unknown",
              "answer": "Which other certificates (27701, 42001, TISAX)? Unknown. No Omnifact-specific SOC2 type/period, C5, ISO27701/42001 or TISAX attestation was verified.",
              "evidenceIds": []
            },
            {
              "id": "report_access",
              "question": "How can customers obtain reports?",
              "support": "supported",
              "answer": "ISO PDF is public and downloadable through Trust Center. Eight AI-provider processing summaries are request-only and were not requested.",
              "evidenceIds": [
                "omnifact:omnifact:trust"
              ]
            },
            {
              "id": "pentest",
              "question": "Are independent penetration test summaries available?",
              "support": "partial",
              "answer": "DPA states annual external pentests with remediation; actual report/period/summary was not verified.",
              "evidenceIds": [
                "omnifact:omnifact:dpa"
              ]
            }
          ],
          "limitations": [
            "pentest: DPA states annual external pentests with remediation; actual report/period/summary was not verified.",
            "Unverified soc2, c5, other_certifications: No Omnifact-specific SOC2 type/period, C5, ISO27701/42001 or TISAX attestation was verified."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:iso",
            "omnifact:omnifact:trust",
            "omnifact:omnifact:dpa"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:DATA-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "AES256/TLS and logical tenant separation are documented; customer-held keys remain unverified.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "encryption_at_rest",
              "question": "Is data encrypted at rest?",
              "support": "supported",
              "answer": "DPA requires AES256 at rest for Postgre SQL, Blob Storage and other persistent Azure services; HTTPS/TLS in transit.",
              "evidenceIds": [
                "omnifact:omnifact:dpa"
              ]
            },
            {
              "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. No customer-managed/held encryption-key configuration was established; sovereignty discussion does not establish key-management functionality.",
              "evidenceIds": []
            },
            {
              "id": "private_networking",
              "question": "Is private connectivity or IP restriction available?",
              "support": "partial",
              "answer": "Vendor internal services use NSGs/Private Endpoints and NetBird JIT VPN for privileged production access; public app is Cloudflare-fronted. A customer private-link/IP-allowlist option was not established.",
              "evidenceIds": [
                "omnifact:omnifact:dpa"
              ]
            },
            {
              "id": "tenant_isolation",
              "question": "How are customers separated in shared SaaS?",
              "support": "supported",
              "answer": "Organization-scoped data/roles, separate production/development/test Azure environments, no customer data in tests. This is logical tenant separation.",
              "evidenceIds": [
                "omnifact:omnifact:dpa"
              ]
            }
          ],
          "limitations": [
            "private_networking: Vendor internal services use NSGs/Private Endpoints and NetBird JIT VPN for privileged production access; public app is Cloudflare-fronted. A customer private-link/IP-allowlist option was not established.",
            "Unverified customer_managed_keys: No customer-managed/held encryption-key configuration was established; sovereignty discussion does not establish key-management functionality."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:dpa"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact: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": []
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:VEN-01",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Pro costs EUR25/user/month annually up to50users. Its binding credit currency/value and recharge tariff remain unknown; Enterprise Gateway costs are outside this offer.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro hosted workspace up to50users; Enterprise/API Gateway quote and markup excluded",
            "addOns": [
              "Optional Academy separately quoted; Enterprise terms require separate offer"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "pricing_unit",
              "question": "What is the pricing unit?",
              "support": "supported",
              "answer": "Pro uses named seats with monthly or annual billing and pooled premium-model credit; this finding covers the hosted Chat/Spaces subscription.",
              "evidenceIds": [
                "omnifact:omnifact:pricing-rev2",
                "omnifact:omnifact:billing"
              ]
            },
            {
              "id": "list_prices",
              "question": "What are list prices per plan, with date and currency?",
              "support": "partial",
              "answer": "Checked2026-10-21: Pro EUR25/user/month billed annually, advertised16% discount versus monthly. Exact monthly rate was not verified. Pro up to50 users; Enterprise custom with unlimited team size. VAT excluded under terms.",
              "evidenceIds": [
                "omnifact:omnifact:pricing-rev2",
                "omnifact:omnifact:terms"
              ]
            },
            {
              "id": "included_usage",
              "question": "What usage is included?",
              "support": "partial",
              "answer": "Unknown applicable monetary allowance currency/value for the contract: pricing statesEUR5/user/month while Billing usesUSD5 examples. Pooling, monthly expiry and continued base-tier access subject to fair-use limits are documented, but no definitive currency-denominated allowance is asserted.",
              "evidenceIds": [
                "omnifact:omnifact:pricing-rev2",
                "omnifact:omnifact:billing"
              ]
            },
            {
              "id": "add_ons",
              "question": "Which features cost extra?",
              "support": "partial",
              "answer": "Academy training is separately quoted. Enterprise is a separate custom offer adding SSO/SCIM, BYOK/self-hosted models, analytics and custom deployment/SLA. No Enterprise Gateway markup is applied to Pro Chat/Spaces pricing.",
              "evidenceIds": [
                "omnifact:omnifact:pricing-rev2"
              ]
            },
            {
              "id": "overage",
              "question": "What do usage beyond limits and premium models cost?",
              "support": "partial",
              "answer": "The Pro billing guide directs admins to discuss additional credits; a public recharge tariff was not established. Base-tier chat remains available after included premium credit is used subject to usage limits. Enterprise Gateway billing/markup is outside this Pro finding.",
              "evidenceIds": [
                "omnifact:omnifact:billing",
                "omnifact:omnifact:pricing-rev2",
                "omnifact:omnifact:limits"
              ]
            }
          ],
          "limitations": [
            "Pro Chat/Spaces pricing is not mixed with Enterprise Gateway billing. The conflicting credit examples remain a named allowance gap."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:pricing-rev2",
            "omnifact:omnifact:billing",
            "omnifact:omnifact:terms",
            "omnifact:omnifact:limits",
            "omnifact:omnifact:users",
            "omnifact:omnifact:gateway",
            "omnifact:omnifact:developer"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:VEN-02",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Shared v1.4 costs remain unknown for200/1000/5000 users because all exceed the50-seat Pro cap.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact 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 for 200 users:Pro caps50 users,so Enterprise licence,allowance and deployment/support quote are required. No quote requested; do not extrapolate EUR25 Pro rate. ALM-14 shared cost assumptions v1.4, 2026-10-21:12 months at public list prices, excluding VAT and invented discounts.60% light at100 messages/user/month,30% regular at400,10% power at1500;3000 input+600 output tokens/message including retrieval context,weighted330 messages and0.99M input/0.198M output per seat/month. Use this token mix only where usage is billed separately. Unknown quoted components remain unknown. ECB2026-10-20 EUR1=USD1.1215=CHF0.9237; USD1=EUR0.89166206. Retrieved2026-10-21.",
              "evidenceIds": [
                "omnifact:omnifact:pricing",
                "omnifact:omnifact:ecb-fx"
              ]
            },
            {
              "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 for 1000 users:Pro caps50 users,so Enterprise licence,allowance and deployment/support quote are required. No quote requested; do not extrapolate EUR25 Pro rate. ALM-14 shared cost assumptions v1.4, 2026-10-21:12 months at public list prices, excluding VAT and invented discounts.60% light at100 messages/user/month,30% regular at400,10% power at1500;3000 input+600 output tokens/message including retrieval context,weighted330 messages and0.99M input/0.198M output per seat/month. Use this token mix only where usage is billed separately. Unknown quoted components remain unknown. ECB2026-10-20 EUR1=USD1.1215=CHF0.9237; USD1=EUR0.89166206. Retrieved2026-10-21.",
              "evidenceIds": [
                "omnifact:omnifact:pricing",
                "omnifact:omnifact:ecb-fx"
              ]
            },
            {
              "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 for 5000 users:Pro caps50 users,so Enterprise licence,allowance and deployment/support quote are required. No quote requested; do not extrapolate EUR25 Pro rate. ALM-14 shared cost assumptions v1.4, 2026-10-21:12 months at public list prices, excluding VAT and invented discounts.60% light at100 messages/user/month,30% regular at400,10% power at1500;3000 input+600 output tokens/message including retrieval context,weighted330 messages and0.99M input/0.198M output per seat/month. Use this token mix only where usage is billed separately. Unknown quoted components remain unknown. ECB2026-10-20 EUR1=USD1.1215=CHF0.9237; USD1=EUR0.89166206. Retrieved2026-10-21.",
              "evidenceIds": [
                "omnifact:omnifact:pricing",
                "omnifact:omnifact:ecb-fx"
              ]
            },
            {
              "id": "variable_share",
              "question": "Which part depends on usage?",
              "support": "partial",
              "answer": "Enterprise base,pooled credit allowance,model/route rates,additional credits and Gateway markup are unknown. Quote base plus usage beyond included credit plus deployment/services; convert known EUR components at0.9237 CHF/EUR. No substitute vendor tariff/model assumed.",
              "evidenceIds": [
                "omnifact:omnifact:pricing",
                "omnifact:omnifact:gateway",
                "omnifact:omnifact:billing",
                "omnifact:omnifact:ecb-fx"
              ]
            },
            {
              "id": "unknown_parts",
              "question": "Which costs could not be priced?",
              "support": "supported",
              "answer": "Enterprise seat/volume rate,minimum spend,credit allowance,recharge tariff,model/route rates,Gateway markup percentage,private hosting and Academy service fees are unknown.",
              "evidenceIds": [
                "omnifact:omnifact:pricing",
                "omnifact:omnifact:gateway",
                "omnifact:omnifact:billing"
              ]
            }
          ],
          "limitations": [
            "ALM-14 shared cost assumptions v1.4, 2026-10-21:12 months at public list prices, excluding VAT and invented discounts.60% light at100 messages/user/month,30% regular at400,10% power at1500;3000 input+600 output tokens/message including retrieval context,weighted330 messages and0.99M input/0.198M output per seat/month. Use this token mix only where usage is billed separately. Unknown quoted components remain unknown.",
            "ECB2026-10-20 EUR1=USD1.1215=CHF0.9237; USD1=EUR0.89166206. Retrieved2026-10-21."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:pricing",
            "omnifact:omnifact:ecb-fx",
            "omnifact:omnifact:gateway",
            "omnifact:omnifact:billing"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:VEN-03",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Ten-day no-card Pro trial is self-serve; enterprise setup is gated.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "free_tier",
              "question": "Is there a free tier for business use?",
              "support": "partial",
              "answer": "Time-limited free trial; billing requires a paid subscription afterward. No permanent business free tier established.",
              "evidenceIds": [
                "omnifact:omnifact:pricing",
                "omnifact:omnifact:billing"
              ]
            },
            {
              "id": "self_serve_trial",
              "question": "Is a self-serve business trial available?",
              "support": "supported",
              "answer": "Ten-day trial, no credit card, teams up to50 users via account signup.",
              "evidenceIds": [
                "omnifact:omnifact:pricing"
              ]
            },
            {
              "id": "trial_scope",
              "question": "Do trials include SSO, connectors and admin features?",
              "support": "partial",
              "answer": "Pro chat, Spaces, Privacy Filter and platform access advertised; terms call trial scope limited. Enterprise SSO/SCIM/BYOK/private deployment and support-enabled APIs are not established trial entitlements.",
              "evidenceIds": [
                "omnifact:omnifact:pricing",
                "omnifact:omnifact:terms",
                "omnifact:omnifact:developer"
              ]
            },
            {
              "id": "sales_gate",
              "question": "Does meaningful evaluation require sales contact?",
              "support": "partial",
              "answer": "Base Pro trial is self-serve; Enterprise quotes, SSO and advanced API activation require vendor interaction. No vendor contact was made.",
              "evidenceIds": [
                "omnifact:omnifact:pricing",
                "omnifact:omnifact:users",
                "omnifact:omnifact:developer"
              ]
            }
          ],
          "limitations": [
            "free_tier: Time-limited free trial; billing requires a paid subscription afterward. No permanent business free tier established.",
            "trial_scope: Pro chat, Spaces, Privacy Filter and platform access advertised; terms call trial scope limited. Enterprise SSO/SCIM/BYOK/private deployment and support-enabled APIs are not established trial entitlements.",
            "sales_gate: Base Pro trial is self-serve; Enterprise quotes, SSO and advanced API activation require vendor interaction. No vendor contact was made."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:pricing",
            "omnifact:omnifact:billing",
            "omnifact:omnifact:terms",
            "omnifact:omnifact:developer",
            "omnifact:omnifact:users"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:VEN-04",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Pro monthly/annual terms are public; Enterprise minimum and CHF invoicing are unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "minimum_commitment",
              "question": "What seat or spend minimum applies?",
              "support": "partial",
              "answer": "Pro maximum 50 users, Enterprise no team-size cap; public Enterprise minimum seat/spend and private-deployment minimum not established.",
              "evidenceIds": [
                "omnifact:omnifact:pricing"
              ]
            },
            {
              "id": "contract_length",
              "question": "What contract lengths are offered?",
              "support": "supported",
              "answer": "Monthly/annual terms; Enterprise flexible agreement. Annual renews yearly, monthly renews monthly.",
              "evidenceIds": [
                "omnifact:omnifact:pricing",
                "omnifact:omnifact:terms"
              ]
            },
            {
              "id": "cancellation",
              "question": "How can the contract be cancelled or reduced?",
              "support": "supported",
              "answer": "Annual notice three months before term end; monthly cancel for following month; text/email accepted. Seat removal gives prorated credit on next invoice per billing doc.",
              "evidenceIds": [
                "omnifact:omnifact:terms",
                "omnifact:omnifact:billing"
              ]
            },
            {
              "id": "local_invoicing",
              "question": "Can it be invoiced in CHF or EUR from a European entity?",
              "support": "partial",
              "answer": "Omnifact Gmb H Frankfurt invoices EUR public prices, supports invoice/SEPA and payment within 14 days. CHF billing not established.",
              "evidenceIds": [
                "omnifact:omnifact:pricing",
                "omnifact:omnifact:terms",
                "omnifact:omnifact:imprint"
              ]
            },
            {
              "id": "transparency_class",
              "question": "Is pricing transparent, partial, quote-only or unknown?",
              "support": "partial",
              "answer": "Partial: public Pro price/credits/team cap but Enterprise, deployment, additional credits and services quote-only; Gateway markup not quantified.",
              "evidenceIds": [
                "omnifact:omnifact:pricing",
                "omnifact:omnifact:gateway"
              ]
            }
          ],
          "limitations": [
            "minimum_commitment: Pro maximum 50 users, Enterprise no team-size cap; public Enterprise minimum seat/spend and private-deployment minimum not established.",
            "local_invoicing: Omnifact Gmb H Frankfurt invoices EUR public prices, supports invoice/SEPA and payment within 14 days. CHF billing not established.",
            "transparency_class: Partial: public Pro price/credits/team cap but Enterprise, deployment, additional credits and services quote-only; Gateway markup not quantified."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:pricing",
            "omnifact:omnifact:terms",
            "omnifact:omnifact:billing",
            "omnifact:omnifact:imprint",
            "omnifact:omnifact:gateway"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:VEN-05",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Platform is proprietary; four inspected public integration/client components have MIT licences.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "api",
              "cli",
              "widget"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro/Enterprise hosted licence; separately MIT-licensed client/integration tools at pinned revisions; API enablement required",
            "addOns": [
              "Customer-run CLI/widget tools; Published Spaces/API access and resource permissions as needed"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              },
              {
                "id": "api",
                "name": "Omnifact Published Spaces, Public API and Enterprise AI Gateway",
                "type": "api"
              },
              {
                "id": "cli",
                "name": "Omnifact document/chat CLI and XWiki sync",
                "type": "cli"
              },
              {
                "id": "widget",
                "name": "Omnifact example embeddable widget",
                "type": "browser-widget"
              }
            ]
          },
          "questions": [
            {
              "id": "licence_type",
              "question": "Which licence applies to each component?",
              "support": "supported",
              "answer": "Terms grant contract-term nontransferable/non-sublicensable software use; platform source excluded unless expressly agreed. CLI, widget, n8n nodes and XWiki sync carry MIT licences at pinned commits; these do not license the hosted platform.",
              "evidenceIds": [
                "omnifact:omnifact:terms",
                "omnifact:omnifact:cli-licence-rev2",
                "omnifact:omnifact:widget-licence-rev2",
                "omnifact:omnifact:n8n-nodes-omnifact-licence-rev2",
                "omnifact:omnifact:xwiki-sync-licence-rev2"
              ]
            },
            {
              "id": "branding_restrictions",
              "question": "Do licence terms restrict branding or user counts?",
              "support": "partial",
              "answer": "Platform use limited to agreed user count/own business personnel. Widget can theme colors/title under MIT notice obligations; MIT integrations do not impose seat limits. Platform branding-removal rules were not fully established.",
              "evidenceIds": [
                "omnifact:omnifact:terms",
                "omnifact:omnifact:widget-rev2",
                "omnifact:omnifact:widget-licence-rev2"
              ]
            },
            {
              "id": "enterprise_features_closed",
              "question": "Are enterprise features in a separate closed edition?",
              "support": "partial",
              "answer": "Enterprise is a commercial feature/deployment tier; no open-core platform edition was established. Source may be included by separate agreement under terms3.3.",
              "evidenceIds": [
                "omnifact:omnifact:pricing-rev2",
                "omnifact:omnifact:terms"
              ]
            }
          ],
          "limitations": [
            "Client/integration capabilities are documented in pinned README/licence files, not implementation-inspected or tested; they do not license the hosted platform."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:terms",
            "omnifact:omnifact:cli-licence-rev2",
            "omnifact:omnifact:widget-licence-rev2",
            "omnifact:omnifact:n8n-nodes-omnifact-licence-rev2",
            "omnifact:omnifact:xwiki-sync-licence-rev2",
            "omnifact:omnifact:widget-rev2",
            "omnifact:omnifact:pricing-rev2"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:VEN-06",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "DPA promises data handover; documented APIs do not establish a complete workspace export.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web",
              "api",
              "cli",
              "widget"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro/Enterprise hosted licence; separately MIT-licensed client/integration tools at pinned revisions; API enablement required",
            "addOns": [
              "Customer-run CLI/widget tools; Published Spaces/API access and resource permissions as needed"
            ],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              },
              {
                "id": "api",
                "name": "Omnifact Published Spaces, Public API and Enterprise AI Gateway",
                "type": "api"
              },
              {
                "id": "cli",
                "name": "Omnifact document/chat CLI and XWiki sync",
                "type": "cli"
              },
              {
                "id": "widget",
                "name": "Omnifact example embeddable widget",
                "type": "browser-widget"
              }
            ]
          },
          "questions": [
            {
              "id": "chat_export",
              "question": "Can admins export all chats?",
              "support": "unknown",
              "answer": "Can admins export all chats? Unknown. No admin export-all-chats or reusable complete Space/agent/prompt export was established. No exit fixture was run.",
              "evidenceIds": []
            },
            {
              "id": "assistant_export",
              "question": "Can assistants and prompts be exported in a reusable format?",
              "support": "unknown",
              "answer": "Can assistants and prompts be exported in a reusable format? Unknown. No admin export-all-chats or reusable complete Space/agent/prompt export was established. No exit fixture was run.",
              "evidenceIds": []
            },
            {
              "id": "knowledge_export",
              "question": "Can knowledge bases and their sources be exported?",
              "support": "partial",
              "answer": "Documents API/CLI list metadata and manage Space files, while native generated files download. Full original-source, index and ACL export bundle was not established.",
              "evidenceIds": [
                "omnifact:omnifact:api-docs",
                "omnifact:omnifact:cli-rev2",
                "omnifact:omnifact:documents"
              ]
            },
            {
              "id": "export_format",
              "question": "Are formats documented and machine-readable?",
              "support": "partial",
              "answer": "Document metadata via JSON; native outputs DOCX/XLSX/PPTX and chart images. Widget stores only its own conversation in browser local Storage; this is not an admin export of platform chats.",
              "evidenceIds": [
                "omnifact:omnifact:api-docs",
                "omnifact:omnifact:documents",
                "omnifact:omnifact:widget-rev2"
              ]
            },
            {
              "id": "post_termination_window",
              "question": "How long can data be retrieved after termination?",
              "support": "partial",
              "answer": "DPA9.2 requires handover or approved destruction at completion/end; no guaranteed post-termination self-service download window specified. TOM gives30-day support organization deletion.",
              "evidenceIds": [
                "omnifact:omnifact:dpa-rev2"
              ]
            }
          ],
          "limitations": [
            "Client/integration capabilities are documented in pinned README/licence files, not implementation-inspected or tested; they do not license the hosted platform."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:api-docs",
            "omnifact:omnifact:cli-rev2",
            "omnifact:omnifact:documents",
            "omnifact:omnifact:widget-rev2",
            "omnifact:omnifact:dpa-rev2"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:VEN-07",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Pro email support and Enterprise custom support are documented; a single applicable platform uptime SLA remains unknown.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro published support terms; Enterprise support and negotiated SLA only under its contract",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "support_channels",
              "question": "Which support channels are available on each plan?",
              "support": "partial",
              "answer": "Pro pricing promises email within 24 hours; terms process M–F usually09–17 and answer within one working day. Enterprise dedicated support/account manager/custom SLA; timezone not specified in terms.",
              "evidenceIds": [
                "omnifact:omnifact:pricing-rev2",
                "omnifact:omnifact:terms"
              ]
            },
            {
              "id": "support_languages",
              "question": "Is support available in German, French or Italian?",
              "support": "unknown",
              "answer": "Is support available in German, French or Italian? Unknown. No verified public incident-history status page or contracted DE/FR/IT support-language matrix was located; status.omnifact.ai did not resolve.",
              "evidenceIds": []
            },
            {
              "id": "regional_presence",
              "question": "Is there a DACH or Swiss entity, team or partner?",
              "support": "partial",
              "answer": "Omnifact Gmb H Frankfurt, Germany; pricing also mentions German and US service teams. No Swiss entity established.",
              "evidenceIds": [
                "omnifact:omnifact:imprint",
                "omnifact:omnifact:pricing-rev2"
              ]
            },
            {
              "id": "uptime_sla",
              "question": "Is there an uptime SLA with credits?",
              "support": "unknown",
              "answer": "Unknown applicable end-to-end service guarantee. Terms7.3 specify99.5% annual pure-network availability while DPA TOM states99.9% system availability, and Enterprise offers a custom SLA. No order-form/service mapping or fixed credit schedule was retrieved, so no single platform SLA is asserted.",
              "evidenceIds": []
            },
            {
              "id": "status_page",
              "question": "Is there a public status page with history?",
              "support": "unknown",
              "answer": "Is there a public status page with history? Unknown. No verified public incident-history status page or contracted DE/FR/IT support-language matrix was located; status.omnifact.ai did not resolve.",
              "evidenceIds": []
            }
          ],
          "limitations": [
            "Network and system availability percentages are not interchangeable. Enterprise SLA terms require the actual contract."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:pricing-rev2",
            "omnifact:omnifact:terms",
            "omnifact:omnifact:imprint",
            "omnifact:omnifact:dpa-rev2"
          ]
        }
      ]
    },
    {
      "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": "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"
          ]
        },
        {
          "productId": "omnifact",
          "claimId": "omnifact:VEN-08",
          "verificationStatus": "agent-cross-checked",
          "support": "partial",
          "answer": "Pro has learning material/webinar; Enterprise workshops and Academy are tailored.",
          "availability": "generally-available",
          "delivery": "native",
          "scope": {
            "surfaceIds": [
              "web"
            ],
            "version": "Public documentation checked 2026-10-21",
            "plan": "Pro Saa S up to50 users; Enterprise/BYOK/API options named per finding; unspecified entitlement where documentation does not map it",
            "addOns": [],
            "deploymentMode": "multi-tenant-saas",
            "region": "Omnifact Azure Germany West Central/Frankfurt storage; model-specific EU/direct routes, not a universal processing residency promise",
            "os": [],
            "surfaces": [
              {
                "id": "web",
                "name": "Omnifact hosted workspace",
                "type": "web-app"
              }
            ]
          },
          "questions": [
            {
              "id": "onboarding_service",
              "question": "Is guided onboarding included?",
              "support": "supported",
              "answer": "Pro onboarding documentation/e-learning and webinar; Enterprise custom onboarding/use-case workshops and account manager.",
              "evidenceIds": [
                "omnifact:omnifact:pricing"
              ]
            },
            {
              "id": "user_training",
              "question": "Is end-user training offered, in which languages?",
              "support": "partial",
              "answer": "Academy offers foundational/advanced courses, individual training and certificate options supporting AI literacy; complete delivery-language/volume entitlement not published.",
              "evidenceIds": [
                "omnifact:omnifact:pricing"
              ]
            },
            {
              "id": "use_case_library",
              "question": "Are role-based use cases and templates provided?",
              "support": "supported",
              "answer": "Space Starter templates include content creation, knowledge queries, professional development; release notes add meeting-minutes/mail-triage/helpdesk template previews.",
              "evidenceIds": [
                "omnifact:omnifact:create",
                "omnifact:omnifact:changes"
              ]
            },
            {
              "id": "adoption_programme",
              "question": "Is there a champion or adoption programme?",
              "support": "partial",
              "answer": "Enterprise rollout/admin enablement/use-case workshops and Academy strategy/governance workshops advertised; a formal champion programme was not established.",
              "evidenceIds": [
                "omnifact:omnifact:home",
                "omnifact:omnifact:pricing"
              ]
            },
            {
              "id": "service_cost",
              "question": "Which services cost extra?",
              "support": "partial",
              "answer": "Academy/additional training separately quoted; terms3.6 generally make installations, instruction/training chargeable under separate agreement.",
              "evidenceIds": [
                "omnifact:omnifact:pricing",
                "omnifact:omnifact:terms"
              ]
            }
          ],
          "limitations": [
            "user_training: Academy offers foundational/advanced courses, individual training and certificate options supporting AI literacy; complete delivery-language/volume entitlement not published.",
            "adoption_programme: Enterprise rollout/admin enablement/use-case workshops and Academy strategy/governance workshops advertised; a formal champion programme was not established.",
            "service_cost: Academy/additional training separately quoted; terms3.6 generally make installations, instruction/training chargeable under separate agreement."
          ],
          "checkedAt": "2026-10-21",
          "crossCheckedAt": "2026-10-21",
          "nextCheckAt": "2026-12-20",
          "evidenceIds": [
            "omnifact:omnifact:pricing",
            "omnifact:omnifact:create",
            "omnifact:omnifact:changes",
            "omnifact:omnifact:home",
            "omnifact:omnifact:terms"
          ]
        }
      ]
    }
  ],
  "sources": [
    {
      "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": "omnifact:omnifact:models",
      "productId": "omnifact",
      "kind": "vendor-claimed",
      "url": "https://omnifact.ai/models",
      "title": "Models: All Leading AI Models on One Platform – Omnifact",
      "locator": "OpenAI, Anthropic, Google and Mistral tables",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Current catalogue lists model families, tiers and EU/global region flags."
    },
    {
      "id": "omnifact:omnifact:select",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/core-features/chats/model-selection",
      "title": "Selecting an AI Model - Omnifact",
      "locator": "Model selector, effort and reasoning trace",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Manual model picker shows provider/model/region and reasoning effort; browser stores per-model effort."
    },
    {
      "id": "omnifact:omnifact:files",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/core-features/chats/attaching-documents",
      "title": "Attaching Documents & Images - Omnifact",
      "locator": "Formats, input limits and privacy",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Attachments have type-specific limits and media bypasses text filtering."
    },
    {
      "id": "omnifact:omnifact:pricing-rev2",
      "productId": "omnifact",
      "kind": "vendor-claimed",
      "url": "https://omnifact.ai/pricing",
      "title": "Pricing Plans – Omnifact",
      "locator": "Pro/Enterprise tier table, annual price and credit footnote",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Pro is EUR25/user/month annually up to50users. Enterprise adds BYOK/self-hosted models, analytics, SSO and custom SLA. The page is not used to establish an eligible Gateway markup or reconcile conflicting credit examples."
    },
    {
      "id": "omnifact:omnifact:providers-rev2",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/providers",
      "title": "Providers - Omnifact",
      "locator": "Supported Providers and Enterprise-only Bring Your Own Key",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Customer keys, custom OpenAI-compatible endpoints and self-hosted model connections require Enterprise BYOK; managed model access is separate."
    },
    {
      "id": "omnifact:omnifact:groups-rev2",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/groups",
      "title": "Group Management - Omnifact",
      "locator": "Execute code (Experimental), tool controls and security note",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "The Python/code execution tool is explicitly Experimental, has internet access and bypasses the Privacy Filter for sandbox inputs."
    },
    {
      "id": "omnifact:omnifact:dpa-rev2",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://omnifact.ai/dpa",
      "title": "Data Processing Agreement – Omnifact",
      "locator": "Sections6.3,9.2/9.3; Annex3 deletion and backups; Annex4 subprocessor terms",
      "sourceDate": "2026-04-21",
      "retrievedAt": "2026-10-21",
      "finding": "DPA states return/approved destruction at contract end, distinct support-request deletion within30days, backup schedules and30-day subprocessor-change notice. This does not resolve runtime/plan-specific implementation or a complete current supplier mapping."
    },
    {
      "id": "omnifact:omnifact:changes",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://omnifact.ai/release-notes",
      "title": "Release Notes – Omnifact",
      "locator": "October–May2026 and earlier entries",
      "sourceDate": "2026-10-20",
      "retrievedAt": "2026-10-21",
      "finding": "Dated release notes through October 20 add models, agents, code, MCP, groups and 2FA."
    },
    {
      "id": "omnifact:omnifact:blog",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://omnifact.ai/blog",
      "title": "Blog – Omnifact",
      "locator": "Current dated feature drops",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Feature announcements include Gemini4Argon October 13 and integrations October 6."
    },
    {
      "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": "omnifact:omnifact:terms",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://omnifact.ai/terms",
      "title": "Terms of Service – Omnifact",
      "locator": "Sections3/6–8/10–11/14–18",
      "sourceDate": "2024-08-01",
      "retrievedAt": "2026-10-21",
      "finding": "Terms define proprietary rights,99.5% annual network availability, support and cancellation."
    },
    {
      "id": "omnifact:omnifact:providers",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/providers",
      "title": "Providers - Omnifact",
      "locator": "Supported Providers, BYOK and connection management",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Enterprise BYOK supports direct providers, Azure/Vertex and custom OpenAI-compatible endpoints."
    },
    {
      "id": "omnifact:omnifact:model-settings",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/models",
      "title": "Model Management - Omnifact",
      "locator": "Availability, Image Models and Model Providers",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Model enablement applies to chat, Published Spaces and Gateway; image defaults and tiers are configurable."
    },
    {
      "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": "omnifact:omnifact:pricing",
      "productId": "omnifact",
      "kind": "vendor-claimed",
      "url": "https://omnifact.ai/pricing",
      "title": "Pricing Plans – Omnifact",
      "locator": "Pro, Enterprise, comparison and footnote1",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Pro annual EUR25 includes pooled EUR5 monthly AI credits per seat up to50 users; Enterprise and Academy are quoted."
    },
    {
      "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": "omnifact:omnifact:dpa",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://omnifact.ai/dpa",
      "title": "Data Processing Agreement – Omnifact",
      "locator": "Sections1/6/9/11, Annex1, TOMs2.1–2.10 and Annex4",
      "sourceDate": "2026-04-21",
      "retrievedAt": "2026-10-21",
      "finding": "DPA includes Frankfurt infrastructure/TOMs, retention, audit requirements and approved subprocessors."
    },
    {
      "id": "omnifact:omnifact:groups",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/groups",
      "title": "Group Management - Omnifact",
      "locator": "Group types, SCIM, permissions and sharing",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Additive groups govern capabilities, model tiers, US routes and filter exemptions; Enterprise SCIM mirrors groups."
    },
    {
      "id": "omnifact:omnifact:gateway",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/ai-gateway",
      "title": "AI Gateway - Omnifact",
      "locator": "Prerequisites, EU routes, constraints, billing and errors",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Enterprise opt-in OpenAI-compatible gateway uses eu/ routing and hard credit enforcement; V1 lacks tools/structured output."
    },
    {
      "id": "omnifact:omnifact:published",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/published-spaces",
      "title": "Published Spaces - Omnifact",
      "locator": "Activation, model management and security",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Support-enabled Published Space APIs disable the Privacy Filter and use secret endpoint URLs."
    },
    {
      "id": "omnifact:omnifact:chat",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/core-features/chats/introduction",
      "title": "Introduction to Chats - Omnifact",
      "locator": "Features, quotas and message limits",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Chat retains conversations and supports document output, sources and daily message quotas."
    },
    {
      "id": "omnifact:omnifact:limits",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/guides/troubleshooting/usage-and-credits",
      "title": "AI Credits and Usage Limits - Omnifact",
      "locator": "Credit exhaustion and fallback models",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Exhausted monthly credits fall back in chat; Gateway blocks all calls without base fallback."
    },
    {
      "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": "omnifact:omnifact:documents",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/core-features/chats/document-creation",
      "title": "Document Creation - Omnifact",
      "locator": "Document types, editing, formulas and sandbox",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Isolated Python code creates XLSX/DOCX/PPTX/charts with internet egress and group controls."
    },
    {
      "id": "omnifact:omnifact:uploads",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/core-features/spaces/managing-uploaded-files",
      "title": "Managing Uploaded Files - Omnifact",
      "locator": "Processing, deletion and FAQ",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Space file pipeline uses Tika OCR, chunking, embeddings and summaries; documents can be deleted permanently."
    },
    {
      "id": "omnifact:omnifact:retrieval",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/core-features/spaces/uploaded-files-retrieval",
      "title": "Uploaded Files Retrieval - Omnifact",
      "locator": "Retrieval and source behavior",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Agents retrieve source passages under Space membership and show citations/progress; strict no-answer grounding is instructed."
    },
    {
      "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": "omnifact:omnifact:billing",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/billing",
      "title": "Billing & Usage - Omnifact",
      "locator": "Seat Management, Monthly Usage Credit and Plan Management",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Billing describes proration, pooled credit and plan changes but uses USD5 examples and5000-page Pro quota."
    },
    {
      "id": "omnifact:omnifact:spaces",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/core-features/spaces/introduction",
      "title": "What are Spaces? - Omnifact",
      "locator": "Concepts, benefits and examples",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Spaces persist instructions/knowledge and conversations with shared member access."
    },
    {
      "id": "omnifact:omnifact:share",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/core-features/spaces/sharing-spaces",
      "title": "Sharing Spaces with Colleagues - Omnifact",
      "locator": "Roles, group sharing and removal",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Organization users/groups share Spaces; group access is view-only and removal is immediate."
    },
    {
      "id": "omnifact:omnifact:sync",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/core-features/spaces/connected-sources",
      "title": "Connected Sources - Omnifact",
      "locator": "Setup, privacy and FAQ",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Connected sources index selected Drive/OneDrive/SharePoint folders every five minutes and remove deleted content next cycle."
    },
    {
      "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": "omnifact:omnifact:integrations",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/integrations",
      "title": "Integrations - Omnifact",
      "locator": "Catalog, integration types and privacy",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Curated first-party MCP and document connectors use separate live-versus-indexed access patterns."
    },
    {
      "id": "omnifact:omnifact:directory",
      "productId": "omnifact",
      "kind": "vendor-claimed",
      "url": "https://omnifact.ai/integrations/catalog",
      "title": "Integrations: Connect the Tools Your Team Uses – Omnifact",
      "locator": "Integration cards and custom MCP",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Current catalogue names cloud storage, Google, Atlassian, CRM, design, communications and developer systems."
    },
    {
      "id": "omnifact:omnifact:xwiki-sync-rev2",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://github.com/OmnifactAI/omnifact-xwiki-sync/blob/599db2ec0c7f28ddb2a22c4a09a9242e5781316b/README.md",
      "title": "omnifact-xwiki-sync pinned README",
      "locator": "Pinned README.md documentation at commit 599db2ec0c7f28ddb2a22c4a09a9242e5781316b; retrieved with GitHub file connector",
      "sourceDate": "2026-08-25",
      "retrievedAt": "2026-10-21",
      "finding": "omnifact-xwiki-sync documents incremental XWiki page/attachment ingestion with delete propagation. This finding is documented at the pinned revision; no implementation behavior was tested or inspected."
    },
    {
      "id": "omnifact:omnifact:mcp-rev2",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/mcp-servers",
      "title": "MCP Servers - Omnifact",
      "locator": "Per-tool policies, authentication and later tool refresh; initial discovery defaults excluded",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Tools have Always/Approval/Disable policies; Approval shows the request payload. Documentation conflicts on initial discovery defaults, which remain unknown."
    },
    {
      "id": "omnifact:omnifact:mcp",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/mcp-servers",
      "title": "MCP Servers - Omnifact",
      "locator": "Setup, policies, OAuth, approvals and privacy boundaries",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Remote MCP has personal OAuth/shared static credentials, per-tool Always/Approval/Disable policies and private-network restrictions."
    },
    {
      "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": "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": "omnifact:omnifact:account",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/core-features/account-settings/user-profile-and-personalization",
      "title": "Account Settings - Omnifact",
      "locator": "Language Preferences and Personalization",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "English/German UI and persistent personal context/instructions are documented; personalization is unfiltered."
    },
    {
      "id": "omnifact:omnifact:users",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/users",
      "title": "User Management - Omnifact",
      "locator": "Roles, statuses, lifecycle and SSO/SCIM",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "User roles and Enterprise SSO/SCIM automate lifecycle while locking manual changes."
    },
    {
      "id": "omnifact:omnifact:create",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/core-features/spaces/creating-spaces",
      "title": "Creating New Spaces - Omnifact",
      "locator": "Space Starters and configuration",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Users create custom Space agents with instructions and starter examples."
    },
    {
      "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": "omnifact:omnifact:images",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/core-features/chats/image-generation",
      "title": "Image Generation - Omnifact",
      "locator": "Generation, reference images and gallery",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Images are generated/edited from references and retained in an Assets gallery."
    },
    {
      "id": "omnifact:omnifact:web",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/core-features/chats/web-search-browsing",
      "title": "Web Search and Browsing - Omnifact",
      "locator": "Search, privacy and limitations",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Web search displays citations and blocks queries with masked sensitive values."
    },
    {
      "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": "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": "omnifact:omnifact:n8n-nodes-omnifact-rev2",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://github.com/OmnifactAI/n8n-nodes-omnifact/blob/7a3947c620206d4e195064421db525aaa4dfb50a/README.md",
      "title": "n8n-nodes-omnifact pinned README",
      "locator": "Pinned README.md documentation at commit 7a3947c620206d4e195064421db525aaa4dfb50a; retrieved with GitHub file connector",
      "sourceDate": "2026-09-10",
      "retrievedAt": "2026-10-21",
      "finding": "n8n-nodes-omnifact documents n8n community nodes for Gateway/chat/documents. This finding is documented at the pinned revision; no implementation behavior was tested or inspected."
    },
    {
      "id": "omnifact:omnifact:api-chat",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/api-reference/published-space-chat",
      "title": "Published Spaces Chat API - Omnifact",
      "locator": "Headers, responses and SSE events",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Published chat provides JSON/SSE and optional inline sources/agentic workflow headers."
    },
    {
      "id": "omnifact:omnifact:stop",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/core-features/chats/stopping-regenerating-responses",
      "title": "Stopping and Regenerating Responses - Omnifact",
      "locator": "How to Stop",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Send changes to a Stop button during response generation."
    },
    {
      "id": "omnifact:omnifact:developer",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/developer-tools",
      "title": "Developer Tools - Omnifact",
      "locator": "Activation and API key management",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "API enablement is gated and organization key regeneration/revocation is centralized."
    },
    {
      "id": "omnifact:omnifact:api-docs",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/api-reference/documents",
      "title": "Documents API - Omnifact",
      "locator": "Endpoints and schema examples",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Document APIs upload/list/inspect/update/delete Space files asynchronously."
    },
    {
      "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": "omnifact:omnifact:home",
      "productId": "omnifact",
      "kind": "vendor-claimed",
      "url": "https://omnifact.ai/",
      "title": "AI for the Public Sector & Regulated Industries – Omnifact",
      "locator": "Product, governance and deployment overview",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Platform offers governed multi-model chat, Spaces, Privacy Filter and private deployment."
    },
    {
      "id": "omnifact:omnifact:privacy",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/data-privacy",
      "title": "Data Privacy - Omnifact",
      "locator": "Privacy Filter Control and boundaries",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Filter defaults on but MCP, code, image/audio paths bypass it; code sandbox has internet egress."
    },
    {
      "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": "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": "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": "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": "omnifact:omnifact:sso-blog",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://omnifact.ai/blog/feature-drop-introducing-sso",
      "title": "Single Sign-On (SSO) for Enterprise Authentication – Omnifact",
      "locator": "Setup, benefits and changes",
      "sourceDate": "2024-11-25",
      "retrievedAt": "2026-10-21",
      "finding": "Enterprise SAML2.0 supports optional SCIM, Id P policies and disabled email sign-in."
    },
    {
      "id": "omnifact:omnifact:public-sector",
      "productId": "omnifact",
      "kind": "vendor-claimed",
      "url": "https://omnifact.ai/solutions/public-administration",
      "title": "GDPR-Compliant AI for Public Administration – Omnifact",
      "locator": "SSO, deployment and onboarding",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Public-sector page names Entra/Okta/Keycloak and Germany/municipal on-premise options."
    },
    {
      "id": "omnifact:omnifact:auth",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/core-features/account-settings/authentication",
      "title": "Authentication - Omnifact",
      "locator": "2FA setup and failure handling",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "TOTP, recovery codes and account/IP-specific throttling are described."
    },
    {
      "id": "omnifact:omnifact:security-rev2",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/security-and-access",
      "title": "Security and Access - Omnifact",
      "locator": "SSO/SAML identity-provider authentication; native2FA tier not established",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "SSO/SAML users rely on identity-provider authentication and MFA and do not see native2FA setup. This does not establish nativeTOTP inclusion in a plan."
    },
    {
      "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": "omnifact:omnifact:analytics-rev2",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/team-analytics",
      "title": "Analytics - Omnifact",
      "locator": "Analytics heading, date-range selector, summary cards, activity chart; HTTP200 re-read2026-10-21",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Enterprise dashboard presents daily active users and messages with date ranges and toggles; export and additional breakdowns are not established."
    },
    {
      "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": "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": "omnifact:omnifact:company",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/team-administration/company-profile",
      "title": "Company Profile - Omnifact",
      "locator": "Team Description and company identity",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Company description and business context shape AI responses."
    },
    {
      "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": "omnifact:omnifact:vertex",
      "productId": "omnifact",
      "kind": "vendor-claimed",
      "url": "https://omnifact.ai/blog/feature-drop-eu-data-residency-vertex-ai",
      "title": "EU Data Residency for Claude and Gemini via Google Cloud – Omnifact",
      "locator": "What is new, compliance and EU model configuration",
      "sourceDate": "2026-04-01",
      "retrievedAt": "2026-10-21",
      "finding": "Google/Anthropic EU via Google Cloud are advertised with zero retention and EU-only configuration."
    },
    {
      "id": "omnifact:omnifact:trust-rev2",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://api.oneleet.com/api/v1/tenants/trust.omnifact.ai/trust",
      "title": "https://api.oneleet.com/api/v1/tenants/trust.omnifact.ai/trust",
      "locator": "Public JSON subprocessors, lastUpdatedAt; infrastructure/metadata roles distinguished",
      "sourceDate": "2026-10-21",
      "retrievedAt": "2026-10-21",
      "finding": "Public register lists Azure DE/NL/SE/IE infrastructure and Cloudflare EU/US edge metadata, plus model-provider routes; it is not a plan-specific processor/data-flow inventory."
    },
    {
      "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": "omnifact:omnifact:gateway-web",
      "productId": "omnifact",
      "kind": "vendor-claimed",
      "url": "https://omnifact.ai/ai-gateway",
      "title": "AI Gateway: One API for Every Model – Omnifact",
      "locator": "Regional routing, budget and governance",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Gateway consumes organization budget, does not store payloads and requires ZDR-capable models for strict retention."
    },
    {
      "id": "omnifact:omnifact:privacy-intro",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://docs.omnifact.ai/en/platform/core-features/privacy-security/introduction",
      "title": "Why Data Privacy Matters - Omnifact",
      "locator": "Privacy Commitment and FAQ",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Vendor explicitly excludes training its own models on customer data and distinguishes EU/self-hosted routes."
    },
    {
      "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": "omnifact:omnifact:imprint",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://omnifact.ai/legal-notice",
      "title": "Legal Notice – Omnifact",
      "locator": "Company address and register",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Omnifact Gmb H is registered in Frankfurt, Germany, HRB131357."
    },
    {
      "id": "omnifact:omnifact:dpa-de",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://omnifact.ai/de/dpa",
      "title": "Auftragsverarbeitungsvertrag – Omnifact",
      "locator": "Anlagen and main agreement",
      "sourceDate": "2026-04-21",
      "retrievedAt": "2026-10-21",
      "finding": "Binding German DPA confirms region, transfer, retention and processor terms."
    },
    {
      "id": "omnifact:omnifact:whitepapers",
      "productId": "omnifact",
      "kind": "vendor-claimed",
      "url": "https://omnifact.ai/whitepapers",
      "title": "Get Instant Access to our Full Enterprise Whitepaper – Omnifact",
      "locator": "Whitepaper catalogue",
      "sourceDate": null,
      "retrievedAt": "2026-10-21",
      "finding": "Public library includes AI Act, workplace enablement, self-hosting and RAG guides."
    },
    {
      "id": "omnifact:omnifact:trust",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://api.oneleet.com/api/v1/tenants/trust.omnifact.ai/trust",
      "title": "https://api.oneleet.com/api/v1/tenants/trust.omnifact.ai/trust",
      "locator": "documents, subprocessors and lastUpdatedAt",
      "sourceDate": "2026-10-21",
      "retrievedAt": "2026-10-21",
      "finding": "Public Trust Center JSON exposes certificate access and named processor locations, including US direct model routes and Cloudflare telemetry."
    },
    {
      "id": "omnifact:omnifact:iso",
      "productId": "omnifact",
      "kind": "certificate-verified",
      "url": "https://api.oneleet.com/api/v1/tenants/trust.omnifact.ai/trust/documents/bb9dd08f-c61a-48f3-be41-9fbcdf24e9c3/download-url",
      "title": "Omnifact GmbH ISO/IEC27001:2022 official certificate",
      "locator": "Public Trust Center certificate PDF, one page: scope, issuer, issue date and validity",
      "sourceDate": "2026-04-07",
      "retrievedAt": "2026-10-21",
      "finding": "Certificate123228 issue1 from Prescient Security LLC covers Omnifact Platform/Spaces and Azure ISMS; valid2026-04-07 through 2029-04-06 subject to surveillance.",
      "issuer": "Prescient Security LLC",
      "certificateScope": "ISMS supporting Omnifact GmbH, Omnifact Platform and Spaces, associated data, infrastructure, software, personnel and procedures, including Microsoft Azure; SoA1.4 dated2026-03-30.",
      "validFrom": "2026-04-07",
      "validUntil": "2029-04-06",
      "registryUrl": "https://trust.omnifact.ai/"
    },
    {
      "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": "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": "omnifact:omnifact:ecb-fx",
      "productId": "omnifact",
      "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": "omnifact:omnifact:widget-rev2",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://github.com/OmnifactAI/omnifact-widget/blob/9d53cadfbfe1bd9a0e31b7da49b74a1dfc2626f2/README.md",
      "title": "omnifact-widget pinned README",
      "locator": "Pinned README.md documentation at commit 9d53cadfbfe1bd9a0e31b7da49b74a1dfc2626f2; retrieved with GitHub file connector",
      "sourceDate": "2026-02-06",
      "retrievedAt": "2026-10-21",
      "finding": "omnifact-widget documents an unsupported demonstration web component with local Storage conversations. This finding is documented at the pinned revision; no implementation behavior was tested or inspected."
    },
    {
      "id": "omnifact:omnifact:cli-licence-rev2",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://github.com/OmnifactAI/omnifact-cli/blob/576aea6a6c0ce195de08a1d2b9b385d18efe3d06/LICENSE",
      "title": "omnifact-cli MIT licence",
      "locator": "Pinned LICENSE documentation at commit 576aea6a6c0ce195de08a1d2b9b385d18efe3d06; retrieved with GitHub file connector",
      "sourceDate": "2026-05-12",
      "retrievedAt": "2026-10-21",
      "finding": "MIT licence applies to this integration/client component, not to the Omnifact platform. This finding is documented at the pinned revision; no implementation behavior was tested or inspected."
    },
    {
      "id": "omnifact:omnifact:widget-licence-rev2",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://github.com/OmnifactAI/omnifact-widget/blob/9d53cadfbfe1bd9a0e31b7da49b74a1dfc2626f2/LICENSE",
      "title": "omnifact-widget MIT licence",
      "locator": "Pinned LICENSE documentation at commit 9d53cadfbfe1bd9a0e31b7da49b74a1dfc2626f2; retrieved with GitHub file connector",
      "sourceDate": "2026-02-06",
      "retrievedAt": "2026-10-21",
      "finding": "MIT licence applies to this integration/client component, not to the Omnifact platform. This finding is documented at the pinned revision; no implementation behavior was tested or inspected."
    },
    {
      "id": "omnifact:omnifact:n8n-nodes-omnifact-licence-rev2",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://github.com/OmnifactAI/n8n-nodes-omnifact/blob/7a3947c620206d4e195064421db525aaa4dfb50a/LICENSE",
      "title": "n8n-nodes-omnifact MIT licence",
      "locator": "Pinned LICENSE documentation at commit 7a3947c620206d4e195064421db525aaa4dfb50a; retrieved with GitHub file connector",
      "sourceDate": "2026-09-10",
      "retrievedAt": "2026-10-21",
      "finding": "MIT licence applies to this integration/client component, not to the Omnifact platform. This finding is documented at the pinned revision; no implementation behavior was tested or inspected."
    },
    {
      "id": "omnifact:omnifact:xwiki-sync-licence-rev2",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://github.com/OmnifactAI/omnifact-xwiki-sync/blob/599db2ec0c7f28ddb2a22c4a09a9242e5781316b/LICENSE",
      "title": "omnifact-xwiki-sync MIT licence",
      "locator": "Pinned LICENSE documentation at commit 599db2ec0c7f28ddb2a22c4a09a9242e5781316b; retrieved with GitHub file connector",
      "sourceDate": "2026-08-25",
      "retrievedAt": "2026-10-21",
      "finding": "MIT licence applies to this integration/client component, not to the Omnifact platform. This finding is documented at the pinned revision; no implementation behavior was tested or inspected."
    },
    {
      "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": "omnifact:omnifact:cli-rev2",
      "productId": "omnifact",
      "kind": "documented",
      "url": "https://github.com/OmnifactAI/omnifact-cli/blob/576aea6a6c0ce195de08a1d2b9b385d18efe3d06/README.md",
      "title": "omnifact-cli pinned README",
      "locator": "Pinned README.md documentation at commit 576aea6a6c0ce195de08a1d2b9b385d18efe3d06; retrieved with GitHub file connector",
      "sourceDate": "2026-05-12",
      "retrievedAt": "2026-10-21",
      "finding": "omnifact-cli documents document management and conversational CLI commands. This finding is documented at the pinned revision; no implementation behavior was tested or inspected."
    }
  ]
}
