{
  "schemaVersion": 1,
  "type": "resource",
  "id": "openui",
  "evaluation": {
    "reviewedOn": "2026-10-19",
    "status": "limited",
    "modes": [
      "http",
      "browser",
      "source-review"
    ],
    "summary": "The fixed public Forms and Charts previews switched successfully. No SDK, model generation or tool-backed workflow was executed, so framework runtime and security behavior remain unverified.",
    "reportUrl": "/design-evaluations/resource-openui.json",
    "identity": {
      "target": "https://www.openui.com/",
      "version": "Public website snapshot observed 19 October 2026; no installed package version was evaluated.",
      "integrity": "SHA-256 of the observed main-document response: 0391f4bc9f9f87c6727fb5140def7b00977d50c95abbbf5bc702d2a44f740759. This identifies one response, not all loaded assets or a reproducible SDK build."
    },
    "environment": [
      "Fresh Chromium 155.0.8059.82 context; 1280 by 900 viewport; no account or retained browser storage.",
      "Only approved public HTTPS hosts and GET/HEAD requests allowed. Authentication/API paths, telemetry, writes, service workers and WebSockets blocked; no downloads accepted."
    ],
    "tests": [
      {
        "name": "Public response",
        "mode": "http",
        "method": "Read the public landing page and selected response headers without authentication.",
        "result": "pass",
        "observation": "HTTP 200 at https://www.openui.com/. Reachability does not establish product functionality."
      },
      {
        "name": "Fixed preview switching",
        "mode": "browser",
        "method": "Select the Forms and Charts tabs and inspect selected state plus the visible comparison panel.",
        "result": "pass",
        "observation": "Both tabs became selected and displayed distinct panel content. These were fixed public examples; no prompt was submitted, live generation invoked or form completed."
      },
      {
        "name": "Architecture and security-boundary review",
        "mode": "source-review",
        "method": "Read the published introduction, setup, queries/mutations, telemetry and reliability documentation.",
        "result": "pass",
        "observation": "The docs describe application-provided components/tools, server-side model credentials, possible incomplete output, installation telemetry enabled by default and runtime telemetry requiring opt-in. Those documented behaviors were not exercised as an installed SDK."
      },
      {
        "name": "Generation and integration",
        "mode": "source-review",
        "method": "Exclude model requests, package installation, Gateway and application-provided tools from this browser-only evaluation.",
        "result": "not-run",
        "observation": "No model credentials, generated output, parser fixture, mutation, hosted correction, monitoring workspace or account permission was tested."
      }
    ],
    "security": {
      "scope": "Passive public-response and documentation review with bounded browser interaction. No exploit testing, package audit or account-permission test.",
      "findings": [
        {
          "level": "info",
          "basis": "observed",
          "title": "Browser preview boundary",
          "detail": "The page returned HTTP 200 with HSTS max-age=63072000. Eight requests were blocked, including a telemetry POST and off-allowlist assets; no page exception was recorded. This is not a complete traffic or transport audit."
        },
        {
          "level": "caution",
          "basis": "documented",
          "title": "Generated interfaces can reach application tools",
          "detail": "The queries/mutations guide describes a toolProvider that connects generated statements to application functions or an MCP client. Treat exposed tools as authority: constrain arguments and enforce permissions on the server."
        },
        {
          "level": "caution",
          "basis": "documented",
          "title": "Installation telemetry is a separate decision",
          "detail": "The telemetry guide says installation collection is enabled by default, while runtime telemetry is disabled until enabled. It documents OPENUI_TELEMETRY_DISABLED=1 or DO_NOT_TRACK=1 for opt-out. No package was installed to verify these controls."
        },
        {
          "level": "caution",
          "basis": "advice",
          "title": "Rendering validation does not authorize an action",
          "detail": "Restrict component and tool capabilities, validate server requests, keep credentials out of browser code and require a deliberate confirmation for consequential writes. Test malformed output and readable fallbacks before production use."
        }
      ],
      "limits": [
        "No penetration test, vulnerability scan, dependency audit, tenant isolation test or security certification.",
        "Blocked analytics/API requests alter the normal site environment. These checks cannot describe all ordinary network activity."
      ]
    },
    "practicalCaveats": [
      "Fixed previews demonstrate presentation changes, not a working end-to-end generation system.",
      "A component allowlist helps constrain output but does not replace server authorization or content validation.",
      "Evaluate your own component set, model, prompts and failure cases repeatedly; publisher benchmark results are not a prediction for your application."
    ],
    "limits": [
      "No package installation, pinned parser/renderer fixture, model invocation or generated-interface interaction.",
      "No account, Gateway, Autofix, monitoring, private data, MCP connection or backend query/mutation was used.",
      "No attack simulation, complete accessibility audit, mobile check or independent benchmark replication."
    ],
    "sources": [
      {
        "label": "Thesys OpenUI repository",
        "url": "https://github.com/thesysdev/openui",
        "scope": "Correct project identity and public framework source; distinct from other projects named OpenUI."
      },
      {
        "label": "Framework introduction",
        "url": "https://www.openui.com/docs",
        "scope": "Component-library and streamed-rendering model."
      },
      {
        "label": "Getting started",
        "url": "https://www.openui.com/docs/getting-started",
        "scope": "Node requirement, model/backend integration and server-side credential handling."
      },
      {
        "label": "Queries and mutations",
        "url": "https://www.openui.com/docs/openui-lang/queries-mutations",
        "scope": "Generated UI can call application-provided tools; backend authorization remains an application concern."
      },
      {
        "label": "Telemetry documentation",
        "url": "https://www.openui.com/docs/openui-lang/telemetry",
        "scope": "Documented installation telemetry defaults and opt-out; not independently executed."
      },
      {
        "label": "Reliability guidance",
        "url": "https://www.openui.com/docs/openui-lang/reliability",
        "scope": "Malformed or incomplete model output and correction/monitoring boundaries."
      },
      {
        "label": "Public comparison previews",
        "url": "https://www.openui.com/",
        "scope": "Fixed Forms and Charts tabs exercised without sending prompts."
      },
      {
        "label": "GitHub weekly TypeScript trending list",
        "url": "https://github.com/trending/typescript?since=weekly",
        "scope": "Observed 19 October 2026: thesysdev/openui listed with 1,288 stars this week. Dynamic platform observation."
      }
    ]
  }
}
