Treat model output, RUI source, protocol records, bound data, URLs, and action
payloads as untrusted. Rixx UI narrows generated output to validated data and a
static registry of trusted React components.
The host must still authenticate the user, authorize every action against
current server state, provide trusted confirmation UI, execute effects,
deduplicate requests, audit results, validate external data, enforce Content
Security Policy, and redact diagnostics or telemetry.
Client validation is not authorization. Action risk and approval describe
required host handling; they never grant permission or prove consent.
Use resourceTiming: "committed" or "manual" when provisional image requests
would leak data. Keep image allowlists narrower than navigation allowlists. Do
not place credentials in generated URLs, source, catalog descriptions, fallback
messages, or Devtools output.Read the complete threat model and report suspected
vulnerabilities through
GitHub private vulnerability reporting,
not a public issue.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Rixx UI","description":"Rixx UI is a streaming generative UI renderer for React, from Markdown to charts, forms, and application-owned components.","colors":{"primary":"#F2470C","light":"#F2470C","dark":"#F2470C"},"logo":{"light":"https://mintcdn.com/rixx-87de8826/jMIt7T0NAN0s-oqS/images/logo-dark.svg?fit=max\u0026auto=format\u0026n=jMIt7T0NAN0s-oqS\u0026q=85\u0026s=95553cb22f3272fd091215f952efc64c","dark":"https://mintcdn.com/rixx-87de8826/jMIt7T0NAN0s-oqS/images/logo-light.svg?fit=max\u0026auto=format\u0026n=jMIt7T0NAN0s-oqS\u0026q=85\u0026s=c5545424ae9a9a46c762f0f89a9b1d8b"},"favicon":"https://mintcdn.com/rixx-87de8826/jMIt7T0NAN0s-oqS/images/logo-dark.svg?fit=max\u0026auto=format\u0026n=jMIt7T0NAN0s-oqS\u0026q=85\u0026s=95553cb22f3272fd091215f952efc64c","appearance":{"default":"system"},"background":{"color":{"light":"#FDFDFD","dark":"#0A0A0A"}},"navbar":{"links":[{"href":"https://github.com/rixxhq/rixx-ui","label":"GitHub","type":"github"},{"href":"https://rixxui.com","label":"Website"}]},"footer":{"socials":{"github":"https://github.com/rixxhq/rixx-ui"}},"search":{"prompt":"Search Rixx UI documentation..."},"seo":{"metatags":{"canonical":"https://docs.rixxui.com","theme-color":"#F2470C"}},"icons":{"library":"lucide"},"banner":{"content":"Alpha available: `@rixx-ui/react@0.1.0-alpha.0` is now on npm. APIs may change. [View release status](/project/release-status)."},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"rixx-87de8826","hasAudioNarration":false,"actualSubdomain":"rixx-87de8826","customDomains":["docs.rixxui.com"],"gitSource":{"type":"github","owner":"rixxhq","repo":"rixx-ui","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6a6d7e909346905e37e4d683","collectionId":"15ff165a-25b4-4f5f-bf70-fa6690ab5b43","liveDeploymentHistoryId":"6a6d7e909346905e37e4d683","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6a6d7e909346905e37e4d683:success","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"Configure Rixx UI","count":8},{"language":"default","tag":"Frameworks and tools","count":6},{"language":"default","tag":"API reference","count":5},{"language":"default","tag":"Architecture","count":4},{"language":"default","tag":"Render content","count":4},{"language":"default","tag":"Get started","count":3},{"language":"default","tag":"Project","count":3},{"language":"default","tag":"Security","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"security/overview","slug":"/security/overview","pageMetadata":{"title":"Security overview","description":"Understand Rixx UI trust boundaries, declarative rendering guarantees, and host security responsibilities.","href":"/security/overview"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Understand Rixx UI trust boundaries, declarative rendering guarantees, and host security responsibilities.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Treat model output, RUI source, protocol records, bound data, URLs, and action\npayloads as untrusted. Rixx UI narrows generated output to validated data and a\nstatic registry of trusted React components.`}),`\n`,_jsx(Heading,{level:`2`,id:`renderer-controls`,children:`Renderer controls`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The language excludes raw HTML, MDX, JavaScript, CSS, generated SVG, dynamic\nimports, event handlers, and arbitrary expressions.`}),`\n`,_jsx(_components.li,{children:`Component and action props validate against closed JSON Schemas.`}),`\n`,_jsx(_components.li,{children:`Graph identity, references, cycles, depth, node counts, strings, tables,\ncharts, and source length are bounded.`}),`\n`,_jsx(_components.li,{children:`Partial source renders as inert provisional state; only a valid atomic commit\nenables interactions and custom components.`}),`\n`,_jsx(_components.li,{children:`HTTPS URL syntax and credentials are checked before independent host link and\nimage policies.`}),`\n`,_jsx(_components.li,{children:`The core renderer emits no telemetry and never needs provider credentials.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`host-responsibilities`,children:`Host responsibilities`}),`\n`,_jsx(_components.p,{children:`The host must still authenticate the user, authorize every action against\ncurrent server state, provide trusted confirmation UI, execute effects,\ndeduplicate requests, audit results, validate external data, enforce Content\nSecurity Policy, and redact diagnostics or telemetry.`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Client validation is not authorization. Action `,_jsx(_components.code,{children:`risk`}),` and `,_jsx(_components.code,{children:`approval`}),` describe\nrequired host handling; they never grant permission or prove consent.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`sensitive-resources`,children:`Sensitive resources`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`resourceTiming: \"committed\"`}),` or `,_jsx(_components.code,{children:`\"manual\"`}),` when provisional image requests\nwould leak data. Keep image allowlists narrower than navigation allowlists. Do\nnot place credentials in generated URLs, source, catalog descriptions, fallback\nmessages, or Devtools output.`]}),`\n`,_jsxs(_components.p,{children:[`Read the complete `,_jsx(_components.a,{href:`/security/threat-model`,children:`threat model`}),` and report suspected\nvulnerabilities through\n`,_jsx(_components.a,{href:`https://github.com/rixxhq/rixx-ui/security/advisories/new`,children:`GitHub private vulnerability reporting`}),`,\nnot a public issue.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Security overview","description":"Understand Rixx UI trust boundaries, declarative rendering guarantees, and host security responsibilities.","href":"/security/overview"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Renderer controls","slug":"renderer-controls","depth":2,"children":[]},{"title":"Host responsibilities","slug":"host-responsibilities","depth":2,"children":[]},{"title":"Sensitive resources","slug":"sensitive-resources","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"rixx-87de8826","siteName":"Rixx UI","title":"Security overview - Rixx UI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-28T13:13:37.702Z","originalFileLocation":"security/overview.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Understand Rixx UI trust boundaries, declarative rendering guarantees, and host security responsibilities.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Rixx UI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/rixx-87de8826/NwfAcX95eP5WpS37/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/rixx-87de8826/NwfAcX95eP5WpS37/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/rixx-87de8826/NwfAcX95eP5WpS37/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/rixx-87de8826/NwfAcX95eP5WpS37/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/rixx-87de8826/NwfAcX95eP5WpS37/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/rixx-87de8826/NwfAcX95eP5WpS37/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/rixx-87de8826/NwfAcX95eP5WpS37/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/rixx-87de8826/NwfAcX95eP5WpS37/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/rixx-87de8826/NwfAcX95eP5WpS37/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Security overview - Rixx UI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Understand Rixx UI trust boundaries, declarative rendering guarantees, and host security responsibilities.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Rixx UI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.rixxui.com/security/overview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://rixx-87de8826.mintlify.app/_mintlify/api/og/v2?division=Security\u0026amp;title=Security+overview\u0026amp;description=Understand+Rixx+UI+trust+boundaries%2C+declarative+rendering+guarantees%2C+and+host+security+responsibilities.\u0026amp;theme=a8fc3f3a3036a7d8480c7174\u0026amp;signature=694472ae9b9edb3986cb9c419cf6e6abbf4b52e0b70c410dc1016ab4f00f4d8e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Security overview - Rixx UI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Understand Rixx UI trust boundaries, declarative rendering guarantees, and host security responsibilities.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://rixx-87de8826.mintlify.app/_mintlify/api/og/v2?division=Security\u0026amp;title=Security+overview\u0026amp;description=Understand+Rixx+UI+trust+boundaries%2C+declarative+rendering+guarantees%2C+and+host+security+responsibilities.\u0026amp;theme=a8fc3f3a3036a7d8480c7174\u0026amp;signature=694472ae9b9edb3986cb9c419cf6e6abbf4b52e0b70c410dc1016ab4f00f4d8e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/rixx-87de8826/NwfAcX95eP5WpS37/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Rixx UI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F2470C\">\u003cmeta data-mint-head name=\"theme-color\" content=\"#F2470C\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.rixxui.com/security/overview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/security/overview.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.rixxui.com/#organization\",\"name\":\"Rixx UI\",\"url\":\"https://docs.rixxui.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/rixx-87de8826/jMIt7T0NAN0s-oqS/images/logo-dark.svg?fit=max\u0026auto=format\u0026n=jMIt7T0NAN0s-oqS\u0026q=85\u0026s=95553cb22f3272fd091215f952efc64c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.rixxui.com#website\",\"name\":\"Rixx UI\",\"url\":\"https://docs.rixxui.com\",\"publisher\":{\"@id\":\"https://docs.rixxui.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.rixxui.com/security/overview#webpage\",\"url\":\"https://docs.rixxui.com/security/overview\",\"name\":\"Security overview\",\"description\":\"Understand Rixx UI trust boundaries, declarative rendering guarantees, and host security responsibilities.\",\"dateModified\":\"2026-07-28T13:13:37.702Z\",\"isPartOf\":{\"@id\":\"https://docs.rixxui.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.rixxui.com/security/overview#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.rixxui.com/security/overview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Rixx UI\",\"item\":\"https://docs.rixxui.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Security overview\",\"item\":\"https://docs.rixxui.com/security/overview\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.rixxui.com/security/overview#article\",\"headline\":\"Security overview\",\"name\":\"Security overview\",\"description\":\"Understand Rixx UI trust boundaries, declarative rendering guarantees, and host security responsibilities.\",\"url\":\"https://docs.rixxui.com/security/overview\",\"mainEntityOfPage\":{\"@id\":\"https://docs.rixxui.com/security/overview#webpage\"},\"dateModified\":\"2026-07-28T13:13:37.702Z\",\"publisher\":{\"@id\":\"https://docs.rixxui.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.rixxui.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Rixx UI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Rixx UI","nav":{"global":null,"groups":[{"group":"Get started","pages":[{"title":"Rixx UI","href":"/index"},{"title":"Quickstart","href":"/getting-started/quickstart"},{"title":"Installation","href":"/getting-started/installation"}]},{"group":"Render content","pages":[{"title":"Streaming Markdown renderer for React","href":"/renderers/markdown-renderer"},{"title":"Structured generative UI renderer for React","href":"/renderers/rui-renderer"},{"title":"Accumulated streaming","href":"/streaming/accumulated-streaming"},{"title":"Recover from malformed AI output","href":"/streaming/tolerant-recovery"}]},{"group":"Configure Rixx UI","pages":[{"title":"Approve components for generation","href":"/configuration/catalog-and-registry"},{"title":"Custom components","href":"/configuration/custom-components"},{"title":"Icons","href":"/configuration/icons"},{"title":"Actions, approval, and idempotency","href":"/configuration/actions"},{"title":"Update UI with application data","href":"/configuration/trusted-data"},{"title":"Images, links, and resource policies","href":"/configuration/resource-policies"},{"title":"Themes, localization, and RTL","href":"/configuration/themes-localization"},{"title":"Forms, charts, media, math, and Mermaid","href":"/configuration/rich-components"}]},{"group":"Frameworks and tools","pages":[{"title":"Devtools","href":"/integrations/devtools"},{"title":"Vite","href":"/integrations/vite"},{"title":"Next.js","href":"/integrations/nextjs"},{"title":"React 18 and React 19","href":"/integrations/react-compatibility"},{"title":"Local playground","href":"/integrations/static-playground"},{"title":"Troubleshooting","description":"Diagnose missing styles, rejected source, stalled previews, policy denials, SSR issues, and action failures.","href":"/integrations/troubleshooting"}]},{"group":"Security","pages":[{"title":"Security overview","href":"/security/overview"},{"title":"Threat model","description":"Trust boundaries, security objectives, controls, failure behavior, and deferred risks for Rixx UI.","href":"/security/threat-model"}]},{"group":"API reference","pages":[{"title":"@rixx-ui/react API","href":"/reference/react"},{"title":"@rixx-ui/react/markdown API","href":"/reference/markdown"},{"title":"@rixx-ui/react/server API","href":"/reference/server"},{"title":"@rixx-ui/react-devtools API","href":"/reference/react-devtools"},{"title":"Core components","href":"/reference/core-components"}]},{"group":"Architecture","pages":[{"title":"Renderer contract 0.1","href":"/product/renderer-contract"},{"title":"Rixx UI Language 0.1","href":"/spec/language"},{"title":"Rixx UI Protocol 0.1","href":"/spec/protocol"},{"title":"ADR 0001: Separate language, protocol, and runtime","href":"/adr/0001-language-protocol-runtime"}]},{"group":"Project","pages":[{"title":"Release status","href":"/project/release-status"},{"title":"Contributing","href":"/project/contributing"},{"title":"Changelog","href":"/project/changelog"}]}]},"title":"Security overview - Rixx UI","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["10e4515597"],"chunks":["BannerMarkdown-Og7hgu7u.js","dist-BaREnp3o.js","lib--scc4DXi.js","lib-B8HbPgcC.js","clsx-CefdjKz2.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}