Do not expose --allow-loopback in a public API or user-controlled service configuration.
Every redirected request passes through URL validation again, and the dialer connects directly to a validated resolved address.The E3.2 public-egress candidate adds an exact admitted-host list and resolves
the name again before each connection, so a redirect or DNS rebinding answer
cannot reuse an earlier public-address decision. Its systemd candidate repeats
the private-range blocks at the cgroup firewall layer.The E3 Observatory proof narrows this further: its job schema accepts only a
literal 127.0.0.1 robots fixture, allows no redirects, and preserves evidence
before parsing. See Observatory worker boundary.
This local proof does not authorize public-origin retrieval.The sealed public worker also remains unauthorized while its global control
artifact is disabled, an origin or work order is revoked, its circuit is open,
its validity window is closed, or its per-origin policy review is incomplete.
Last modified on August 11, 2026
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"TWIRX","description":"Documentation for the open, self-hostable Semantic Data Plane and reference implementation of the Typed Web Commons.","colors":{"primary":"#1f6b5c","light":"#2c7f6e","dark":"#8bd8c8"},"search":{"prompt":"Search the protocol, architecture, and security model..."},"seo":{"metatags":{"og:site_name":"TWIRX","twitter:card":"summary"},"indexing":"navigable"},"metadata":{"timestamp":true},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"twirx","hasAudioNarration":false,"actualSubdomain":"twirx","customDomains":["docs.twirx.org"],"gitSource":{"type":"github","owner":"banga-agents","repo":"twirx","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aea21f720f9064e5959e0c1:success","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"Documentation","count":32},{"language":"default","tag":"Protocol","count":11},{"language":"default","tag":"Start","count":5},{"language":"default","tag":"Security","count":5},{"language":"default","tag":"Architecture","count":3},{"language":"default","tag":"Core concepts","count":3},{"language":"default","tag":"Governance","count":3},{"language":"default","tag":"Contribute","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"workos-sso-scim","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},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"security/origin-access","slug":"/security/origin-access","pageMetadata":{"title":"Origin access policy","description":"Deny-by-default URL and network behavior for Genesis observations.","href":"/security/origin-access"},"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: \"Deny-by-default URL and network behavior for Genesis observations.\"\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`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Public policy permits HTTP and HTTPS only.`}),`\n`,_jsx(_components.p,{children:`It rejects:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`embedded credentials;`}),`\n`,_jsx(_components.li,{children:`private, loopback, link-local, multicast, reserved, carrier-grade NAT, and documentation ranges;`}),`\n`,_jsx(_components.li,{children:`non-standard ports;`}),`\n`,_jsx(_components.li,{children:`excessive redirects;`}),`\n`,_jsx(_components.li,{children:`oversized decompressed bodies;`}),`\n`,_jsx(_components.li,{children:`requests exceeding time budgets.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`The controlled test origin requires an explicit local-only switch:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`bin/tw`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` observe`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --url`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` http://127.0.0.1:18080/product/sku-001`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --allow-loopback`})}),`\n`]})})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Do not expose `,_jsx(_components.code,{children:`--allow-loopback`}),` in a public API or user-controlled service configuration.`]})}),`\n`,_jsx(_components.p,{children:`Every redirected request passes through URL validation again, and the dialer connects directly to a validated resolved address.`}),`\n`,_jsx(_components.p,{children:`The E3.2 public-egress candidate adds an exact admitted-host list and resolves\nthe name again before each connection, so a redirect or DNS rebinding answer\ncannot reuse an earlier public-address decision. Its systemd candidate repeats\nthe private-range blocks at the cgroup firewall layer.`}),`\n`,_jsxs(_components.p,{children:[`The E3 Observatory proof narrows this further: its job schema accepts only a\nliteral `,_jsx(_components.code,{children:`127.0.0.1`}),` robots fixture, allows no redirects, and preserves evidence\nbefore parsing. See `,_jsx(_components.a,{href:`/security/observatory-worker`,children:`Observatory worker boundary`}),`.\nThis local proof does not authorize public-origin retrieval.`]}),`\n`,_jsx(_components.p,{children:`The sealed public worker also remains unauthorized while its global control\nartifact is disabled, an origin or work order is revoked, its circuit is open,\nits validity window is closed, or its per-origin policy review is incomplete.`})]})}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":"Origin access policy","description":"Deny-by-default URL and network behavior for Genesis observations.","href":"/security/origin-access"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"twirx","siteName":"TWIRX","title":"Origin access policy - TWIRX","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-11T00:48:13.633Z","gitLastModified":"2026-08-11T00:42:16.000Z","originalFileLocation":"security/origin-access.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=\"Deny-by-default URL and network behavior for Genesis observations.\">\u003cmeta data-mint-head name=\"application-name\" content=\"TWIRX\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/twirx/_generated/favicon/apple-touch-icon.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/twirx/_generated/favicon/favicon-32x32.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/twirx/_generated/favicon/favicon-16x16.png?v=3\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/twirx/_generated/favicon/favicon.ico?v=3\">\u003cmeta data-mint-head property=\"og:title\" content=\"Origin access policy - TWIRX\">\u003cmeta data-mint-head property=\"og:description\" content=\"Deny-by-default URL and network behavior for Genesis observations.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"TWIRX\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.twirx.org/security/origin-access\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://twirx.mintlify.site/_mintlify/api/og/v2?division=Security\u0026amp;title=Origin+access+policy\u0026amp;description=Deny-by-default+URL+and+network+behavior+for+Genesis+observations.\u0026amp;theme=923753f1a272c4c2ae04793d\u0026amp;signature=4d16aa94f9a18625d72672d0795bad67ffc371c908c253d0743244cd1988686d\">\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=\"Origin access policy - TWIRX\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Deny-by-default URL and network behavior for Genesis observations.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://twirx.mintlify.site/_mintlify/api/og/v2?division=Security\u0026amp;title=Origin+access+policy\u0026amp;description=Deny-by-default+URL+and+network+behavior+for+Genesis+observations.\u0026amp;theme=923753f1a272c4c2ae04793d\u0026amp;signature=4d16aa94f9a18625d72672d0795bad67ffc371c908c253d0743244cd1988686d\">\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=\"https://mintlify.s3.us-west-1.amazonaws.com/twirx/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"TWIRX\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1f6b5c\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.twirx.org/security/origin-access\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/security/origin-access.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.twirx.org/#organization\",\"name\":\"TWIRX\",\"url\":\"https://docs.twirx.org\"},{\"@type\":\"WebSite\",\"@id\":\"https://docs.twirx.org#website\",\"name\":\"TWIRX\",\"url\":\"https://docs.twirx.org\",\"publisher\":{\"@id\":\"https://docs.twirx.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.twirx.org/security/origin-access#webpage\",\"url\":\"https://docs.twirx.org/security/origin-access\",\"name\":\"Origin access policy\",\"description\":\"Deny-by-default URL and network behavior for Genesis observations.\",\"dateModified\":\"2026-08-11T00:42:16.000Z\",\"isPartOf\":{\"@id\":\"https://docs.twirx.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.twirx.org/security/origin-access#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.twirx.org/security/origin-access#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Security\",\"item\":\"https://docs.twirx.org/security/threat-model\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Origin access policy\",\"item\":\"https://docs.twirx.org/security/origin-access\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.twirx.org/security/origin-access#article\",\"headline\":\"Origin access policy\",\"name\":\"Origin access policy\",\"description\":\"Deny-by-default URL and network behavior for Genesis observations.\",\"url\":\"https://docs.twirx.org/security/origin-access\",\"mainEntityOfPage\":{\"@id\":\"https://docs.twirx.org/security/origin-access#webpage\"},\"dateModified\":\"2026-08-11T00:42:16.000Z\",\"publisher\":{\"@id\":\"https://docs.twirx.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.twirx.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"TWIRX\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"TWIRX","nav":{"global":null,"tabs":[{"tab":"Documentation","groups":[{"group":"Start","pages":[{"title":"TWIRX","href":""},{"title":"FUTO release proof","href":"/start/futo-release"},{"title":"Quickstart","href":"/start/quickstart"},{"title":"Run the E2 Live Provenance Lab","href":"/start/e2-lab-quickstart"},{"title":"Genesis status","href":"/start/genesis-status"}]},{"group":"Core concepts","pages":[{"title":"Source-statement fidelity","href":"/concepts/source-statement-fidelity"},{"title":"Native and semantic views","href":"/concepts/native-and-semantic-views"},{"title":"Language sovereignty","href":"/concepts/language-sovereignty"}]},{"group":"Architecture","pages":[{"title":"Genesis implementation slice","href":"/architecture/genesis-slice"},{"title":"Trust boundaries","href":"/architecture/trust-boundaries"},{"title":"Local-first architecture","href":"/architecture/local-first"}]},{"group":"Protocol","pages":[{"title":"Observation envelope","href":"/protocol/observation-envelope"},{"title":"Adapter manifest","href":"/protocol/adapter-manifest"},{"title":"Ontology kernel direction","href":"/protocol/ontology-kernel"},{"title":"Typed Web IR direction","href":"/protocol/twir-direction"},{"title":"TWIR Core 0.1 and typed results","href":"/protocol/twir-core-result"},{"title":"Live Provenance Lab API","href":"/protocol/live-lab-api"},{"title":"Immutable Semantic Snapshot runtime","href":"/protocol/semantic-snapshot-runtime"},{"title":"Opportunity Utility Universe","href":"/protocol/opportunity-utility-universe"},{"title":"Frontier Agent and MCP","href":"/protocol/frontier-agent-mcp"},{"title":"TNOE-Align","href":"/protocol/tnoe-align"},{"title":"Genesis Atlas control plane","href":"/protocol/atlas-control-plane"}]},{"group":"Security","pages":[{"title":"Threat model","description":"Attacker assumptions, protected assets, controls, and residual risks.","href":"/security/threat-model"},{"title":"Origin access policy","href":"/security/origin-access"},{"title":"Observatory and egress worker boundaries","description":"Evidence-first fixture proof and the unactivated sealed public-egress pilot.","href":"/security/observatory-worker"},{"title":"Independent C verifier","href":"/security/c-verifier"},{"title":"Live Lab security boundary","href":"/security/live-lab-boundary"}]},{"group":"Governance","pages":[{"title":"Charter","href":"/governance/charter"},{"title":"Funding transparency","href":"/governance/funding-transparency"},{"title":"Roadmap","href":"/governance/roadmap"}]},{"group":"Contribute","pages":[{"title":"Development workflow","href":"/contributing/development"},{"title":"Conformance","href":"/contributing/conformance"}]}]}]},"basePath":"","title":"Origin access policy - TWIRX","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":[],"chunks":[]}