{"templateId":"markdown","versions":[{"version":"v1.39","label":"v1.39 STS","link":"/products/custody/governance/policies","default":true,"active":true,"folderId":"c15a2701"},{"version":"v1.38","label":"v1.38 STS","link":"/products/custody/v1.38/governance/policies","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.34","label":"v1.34 LTS","link":"/products/custody/v1.34/governance/policies","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.26","label":"v1.26 LTS","link":"/products/custody/v1.26/governance/policies","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.19","label":"v1.19 LTS","link":"/products/custody/v1.19/governance/policies","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.15","label":"v1.15 LTS","link":"/products/custody/v1.15/governance/policies","default":false,"active":false,"folderId":"c15a2701"}],"sharedDataIds":{"sidebar":"sidebar-products/custody/@v1.15/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Policies","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"policies","__idx":0},"children":["Policies"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Executive summary"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["A policy defines the approval rules for a specific type of action: who must approve, how many approvals are needed, where the rule applies, and under what conditions."]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Policies match intents by type and condition."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intentOrigin"]}," separates normal user-signed proposals from API-only system-signed proposals."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Workflows define approval roles, quorum, and sequence."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Scope controls where the policy applies in the domain hierarchy."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Rank determines priority when multiple policies could match."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Missing or overly broad policies can either reject legitimate work or create security gaps."]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"success","name":"Why this matters"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Policies are the main control mechanism for custody operations. Well-designed policies enforce spending limits, require multi-party approval, route high-risk actions to senior reviewers, support compliance workflows, and create a governed path for changing the governance model itself."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-is-a-policy","__idx":1},"children":["What is a policy?"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A policy answers six questions:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Question"},"children":["Question"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Example"},"children":["Example"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["What action?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intentTypes"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["[\"v0_CreateTransactionOrder\"]"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Which origin?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intentOrigin"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UserSigned"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SystemSigned"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["When?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["condition"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Amount above a threshold, trusted endpoint, author role."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Who approves?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["workflow"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Two operators, then one compliance reviewer."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Where?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["scope"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Self"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Descendants"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SelfAndDescendants"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Which policy wins?"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["rank"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Higher rank wins among matching policies."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When an intent is submitted, the system selects the applicable policy and enforces its workflow."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-policies-are-selected","__idx":2},"children":["How policies are selected"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Policy selection happens in this order:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Filter by scope"]},": Find policies that apply to the target domain."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Filter by intent type"]},": Keep policies whose ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intentTypes"]}," match the intent. If ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intentTypes"]}," is omitted, the policy can match all intent types."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Filter by intent origin"]},": Keep policies whose ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intentOrigin"]}," matches how the proposal entered the system."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Evaluate conditions"]},": Keep policies whose condition evaluates to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},". A missing condition always matches."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Select by rank"]},": Choose the highest-ranked matching policy."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Apply workflow"]},": Require approvals from the selected workflow."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If no policy matches, the intent cannot execute."]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"flowchart LR\n    Intent[\"Intent submitted\"] --> Scope[\"Scope check\"]\n    Scope --> Types[\"Intent type check\"]\n    Types --> Origin[\"Intent origin check\"]\n    Origin --> Condition[\"Condition evaluates true\"]\n    Condition --> Rank[\"Highest rank selected\"]\n    Rank --> Workflow[\"Workflow enforced\"]\n","diagramHtml":"<svg id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 1701.359375px;\" viewBox=\"0 0 1701.359375 70\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d{font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .error-icon{fill:#552222;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .error-text{fill:#552222;stroke:#552222;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .edge-thickness-normal{stroke-width:1px;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .edge-thickness-thick{stroke-width:3.5px;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .edge-pattern-solid{stroke-dasharray:0;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .edge-pattern-dashed{stroke-dasharray:3;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .edge-pattern-dotted{stroke-dasharray:2;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .marker{fill:#333333;stroke:#333333;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .marker.cross{stroke:#333333;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d svg{font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d p{margin:0;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .label{font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;color:#333;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .cluster-label text{fill:#333;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .cluster-label span{color:#333;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .cluster-label span p{background-color:transparent;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .label text,#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d span{fill:#333;color:#333;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .node rect,#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .node circle,#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .node ellipse,#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .node polygon,#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .rough-node .label text,#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .node .label text,#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .image-shape .label,#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .icon-shape .label{text-anchor:middle;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .rough-node .label,#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .node .label,#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .image-shape .label,#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .icon-shape .label{text-align:center;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .node.clickable{cursor:pointer;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .arrowheadPath{fill:#333333;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .flowchart-link{stroke:#333333;fill:none;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .cluster text{fill:#333;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .cluster span{color:#333;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d rect.text{fill:none;stroke-width:0;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .icon-shape,#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .icon-shape p,#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .icon-shape .label rect,#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d .node .neo-node{stroke:#9370DB;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d [data-look=\"neo\"].node rect,#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d [data-look=\"neo\"].cluster rect,#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d :root{--mermaid-font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;}#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d :root{--mermaid-font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M192.797,35L196.964,35C201.13,35,209.464,35,217.13,35C224.797,35,231.797,35,235.297,35L238.797,35\" id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d-L_Intent_Scope_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Intent_Scope_0\" data-points=\"W3sieCI6MTkyLjc5Njg3NSwieSI6MzV9LHsieCI6MjE3Ljc5Njg3NSwieSI6MzV9LHsieCI6MjQyLjc5Njg3NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-pointEnd)\"></path><path d=\"M394.234,35L398.401,35C402.568,35,410.901,35,418.568,35C426.234,35,433.234,35,436.734,35L440.234,35\" id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d-L_Scope_Types_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Scope_Types_0\" data-points=\"W3sieCI6Mzk0LjIzNDM3NSwieSI6MzV9LHsieCI6NDE5LjIzNDM3NSwieSI6MzV9LHsieCI6NDQ0LjIzNDM3NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-pointEnd)\"></path><path d=\"M631.844,35L636.01,35C640.177,35,648.51,35,656.177,35C663.844,35,670.844,35,674.344,35L677.844,35\" id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d-L_Types_Origin_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Types_Origin_0\" data-points=\"W3sieCI6NjMxLjg0Mzc1LCJ5IjozNX0seyJ4Ijo2NTYuODQzNzUsInkiOjM1fSx7IngiOjY4MS44NDM3NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-pointEnd)\"></path><path d=\"M879.844,35L884.01,35C888.177,35,896.51,35,904.177,35C911.844,35,918.844,35,922.344,35L925.844,35\" id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d-L_Origin_Condition_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Origin_Condition_0\" data-points=\"W3sieCI6ODc5Ljg0Mzc1LCJ5IjozNX0seyJ4Ijo5MDQuODQzNzUsInkiOjM1fSx7IngiOjkyOS44NDM3NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-pointEnd)\"></path><path d=\"M1172.344,35L1176.51,35C1180.677,35,1189.01,35,1196.677,35C1204.344,35,1211.344,35,1214.844,35L1218.344,35\" id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d-L_Condition_Rank_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Condition_Rank_0\" data-points=\"W3sieCI6MTE3Mi4zNDM3NSwieSI6MzV9LHsieCI6MTE5Ny4zNDM3NSwieSI6MzV9LHsieCI6MTIyMi4zNDM3NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-pointEnd)\"></path><path d=\"M1442.359,35L1446.526,35C1450.693,35,1459.026,35,1466.693,35C1474.359,35,1481.359,35,1484.859,35L1488.359,35\" id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d-L_Rank_Workflow_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Rank_Workflow_0\" data-points=\"W3sieCI6MTQ0Mi4zNTkzNzUsInkiOjM1fSx7IngiOjE0NjcuMzU5Mzc1LCJ5IjozNX0seyJ4IjoxNDkyLjM1OTM3NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Intent_Scope_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Scope_Types_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Types_Origin_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Origin_Condition_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Condition_Rank_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Rank_Workflow_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d-flowchart-Intent-0\" data-look=\"classic\" transform=\"translate(100.3984375, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-92.3984375\" y=\"-27\" width=\"184.796875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-62.3984375, -12)\"><rect></rect><foreignObject width=\"124.796875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Intent submitted</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d-flowchart-Scope-1\" data-look=\"classic\" transform=\"translate(318.515625, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-75.71875\" y=\"-27\" width=\"151.4375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-45.71875, -12)\"><rect></rect><foreignObject width=\"91.4375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Scope check</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d-flowchart-Types-3\" data-look=\"classic\" transform=\"translate(538.0390625, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-93.8046875\" y=\"-27\" width=\"187.609375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-63.8046875, -12)\"><rect></rect><foreignObject width=\"127.609375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Intent type check</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d-flowchart-Origin-5\" data-look=\"classic\" transform=\"translate(780.84375, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-99\" y=\"-27\" width=\"198\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-69, -12)\"><rect></rect><foreignObject width=\"138\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Intent origin check</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d-flowchart-Condition-7\" data-look=\"classic\" transform=\"translate(1051.09375, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-121.25\" y=\"-27\" width=\"242.5\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-91.25, -12)\"><rect></rect><foreignObject width=\"182.5\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Condition evaluates true</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d-flowchart-Rank-9\" data-look=\"classic\" transform=\"translate(1332.3515625, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-110.0078125\" y=\"-27\" width=\"220.015625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-80.0078125, -12)\"><rect></rect><foreignObject width=\"160.015625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Highest rank selected</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d-flowchart-Workflow-11\" data-look=\"classic\" transform=\"translate(1592.859375, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-100.5\" y=\"-27\" width=\"201\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-70.5, -12)\"><rect></rect><foreignObject width=\"141\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Workflow enforced</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs><defs><filter id=\"diagram-ba51dd8279a1e7a1c9a51c5cbf37b8909abcf8a33a578bb95329b1e058473a9d-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs></svg>","diagramHtmlDark":"<svg id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 1701.359375px;\" viewBox=\"0 0 1701.359375 70\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50{font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .error-icon{fill:#a44141;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .error-text{fill:#ddd;stroke:#ddd;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .edge-thickness-normal{stroke-width:1px;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .edge-thickness-thick{stroke-width:3.5px;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .edge-pattern-solid{stroke-dasharray:0;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .marker{fill:lightgrey;stroke:lightgrey;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .marker.cross{stroke:lightgrey;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 svg{font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 p{margin:0;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .label{font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;color:#ccc;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .cluster-label text{fill:#F9FFFE;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .cluster-label span{color:#F9FFFE;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .cluster-label span p{background-color:transparent;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .label text,#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 span{fill:#ccc;color:#ccc;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .node rect,#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .node circle,#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .node ellipse,#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .node polygon,#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .rough-node .label text,#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .node .label text,#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .image-shape .label,#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .icon-shape .label{text-anchor:middle;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .rough-node .label,#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .node .label,#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .image-shape .label,#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .icon-shape .label{text-align:center;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .node.clickable{cursor:pointer;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .arrowheadPath{fill:lightgrey;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .edgePath .path{stroke:lightgrey;stroke-width:1px;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .flowchart-link{stroke:lightgrey;fill:none;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .cluster text{fill:#F9FFFE;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .cluster span{color:#F9FFFE;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 rect.text{fill:none;stroke-width:0;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .icon-shape,#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .icon-shape p,#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .icon-shape .label rect,#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 .node .neo-node{stroke:#ccc;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 [data-look=\"neo\"].node rect,#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 [data-look=\"neo\"].cluster rect,#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 [data-look=\"neo\"].node polygon{stroke:url(#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 [data-look=\"neo\"].node path{stroke:url(#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-gradient);stroke-width:1px;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 [data-look=\"neo\"].node circle{stroke:url(#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;}#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M192.797,35L196.964,35C201.13,35,209.464,35,217.13,35C224.797,35,231.797,35,235.297,35L238.797,35\" id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-L_Intent_Scope_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Intent_Scope_0\" data-points=\"W3sieCI6MTkyLjc5Njg3NSwieSI6MzV9LHsieCI6MjE3Ljc5Njg3NSwieSI6MzV9LHsieCI6MjQyLjc5Njg3NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-pointEnd)\"></path><path d=\"M394.234,35L398.401,35C402.568,35,410.901,35,418.568,35C426.234,35,433.234,35,436.734,35L440.234,35\" id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-L_Scope_Types_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Scope_Types_0\" data-points=\"W3sieCI6Mzk0LjIzNDM3NSwieSI6MzV9LHsieCI6NDE5LjIzNDM3NSwieSI6MzV9LHsieCI6NDQ0LjIzNDM3NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-pointEnd)\"></path><path d=\"M631.844,35L636.01,35C640.177,35,648.51,35,656.177,35C663.844,35,670.844,35,674.344,35L677.844,35\" id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-L_Types_Origin_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Types_Origin_0\" data-points=\"W3sieCI6NjMxLjg0Mzc1LCJ5IjozNX0seyJ4Ijo2NTYuODQzNzUsInkiOjM1fSx7IngiOjY4MS44NDM3NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-pointEnd)\"></path><path d=\"M879.844,35L884.01,35C888.177,35,896.51,35,904.177,35C911.844,35,918.844,35,922.344,35L925.844,35\" id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-L_Origin_Condition_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Origin_Condition_0\" data-points=\"W3sieCI6ODc5Ljg0Mzc1LCJ5IjozNX0seyJ4Ijo5MDQuODQzNzUsInkiOjM1fSx7IngiOjkyOS44NDM3NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-pointEnd)\"></path><path d=\"M1172.344,35L1176.51,35C1180.677,35,1189.01,35,1196.677,35C1204.344,35,1211.344,35,1214.844,35L1218.344,35\" id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-L_Condition_Rank_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Condition_Rank_0\" data-points=\"W3sieCI6MTE3Mi4zNDM3NSwieSI6MzV9LHsieCI6MTE5Ny4zNDM3NSwieSI6MzV9LHsieCI6MTIyMi4zNDM3NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-pointEnd)\"></path><path d=\"M1442.359,35L1446.526,35C1450.693,35,1459.026,35,1466.693,35C1474.359,35,1481.359,35,1484.859,35L1488.359,35\" id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-L_Rank_Workflow_0\" class=\"edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Rank_Workflow_0\" data-points=\"W3sieCI6MTQ0Mi4zNTkzNzUsInkiOjM1fSx7IngiOjE0NjcuMzU5Mzc1LCJ5IjozNX0seyJ4IjoxNDkyLjM1OTM3NSwieSI6MzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Intent_Scope_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Scope_Types_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Types_Origin_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Origin_Condition_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Condition_Rank_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Rank_Workflow_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-flowchart-Intent-0\" data-look=\"classic\" transform=\"translate(100.3984375, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-92.3984375\" y=\"-27\" width=\"184.796875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-62.3984375, -12)\"><rect></rect><foreignObject width=\"124.796875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Intent submitted</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-flowchart-Scope-1\" data-look=\"classic\" transform=\"translate(318.515625, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-75.71875\" y=\"-27\" width=\"151.4375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-45.71875, -12)\"><rect></rect><foreignObject width=\"91.4375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Scope check</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-flowchart-Types-3\" data-look=\"classic\" transform=\"translate(538.0390625, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-93.8046875\" y=\"-27\" width=\"187.609375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-63.8046875, -12)\"><rect></rect><foreignObject width=\"127.609375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Intent type check</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-flowchart-Origin-5\" data-look=\"classic\" transform=\"translate(780.84375, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-99\" y=\"-27\" width=\"198\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-69, -12)\"><rect></rect><foreignObject width=\"138\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Intent origin check</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-flowchart-Condition-7\" data-look=\"classic\" transform=\"translate(1051.09375, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-121.25\" y=\"-27\" width=\"242.5\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-91.25, -12)\"><rect></rect><foreignObject width=\"182.5\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Condition evaluates true</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-flowchart-Rank-9\" data-look=\"classic\" transform=\"translate(1332.3515625, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-110.0078125\" y=\"-27\" width=\"220.015625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-80.0078125, -12)\"><rect></rect><foreignObject width=\"160.015625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Highest rank selected</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-flowchart-Workflow-11\" data-look=\"classic\" transform=\"translate(1592.859375, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-100.5\" y=\"-27\" width=\"201\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-70.5, -12)\"><rect></rect><foreignObject width=\"141\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Workflow enforced</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><defs><filter id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><linearGradient id=\"diagram-8c7e14dd4d407b5a148b91b2a3910430b7629b905868d2f965ecfcd810aa8b50-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#cccccc\" stop-opacity=\"1\"></stop><stop offset=\"100%\" stop-color=\"hsl(180, 0%, 18.3529411765%)\" stop-opacity=\"1\"></stop></linearGradient></svg>"},"children":["flowchart LR\n    Intent[\"Intent submitted\"] --> Scope[\"Scope check\"]\n    Scope --> Types[\"Intent type check\"]\n    Types --> Origin[\"Intent origin check\"]\n    Origin --> Condition[\"Condition evaluates true\"]\n    Condition --> Rank[\"Highest rank selected\"]\n    Rank --> Workflow[\"Workflow enforced\"]\n"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"intent-types","__idx":3},"children":["Intent types"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Intent types identify the operation being proposed."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Category"},"children":["Category"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Examples"},"children":["Examples"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Domain management"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateDomain"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_UpdateDomain"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_LockDomain"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_UnlockDomain"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["User management"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateUser"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_UpdateUser"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_LockUser"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_UnlockUser"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Policy management"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreatePolicy"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_UpdatePolicy"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_LockPolicy"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_UnlockPolicy"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Account and endpoint management"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateAccount"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_UpdateAccount"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateEndpoint"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_UpdateEndpoint"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Transactions"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateTransactionOrder"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateTransferOrder"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Compliance"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_ReleaseQuarantinedTransfers"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Omitting ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intentTypes"]}," creates a catch-all policy. Use this only for deliberate fallback or emergency controls."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"user-signed-and-system-signed-policies","__idx":4},"children":["User-signed and system-signed policies"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Most policies govern user-signed proposals. If ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intentOrigin"]}," is omitted, the policy behaves as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UserSigned"]}," and does not match system-signed proposals."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["System-signed proposals are API-only. They are submitted without a client-side payload signature, signed by the platform internally, and matched only by policies with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intentOrigin: \"SystemSigned\""]},"."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Policy origin"},"children":["Policy origin"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Matches user-signed proposals"},"children":["Matches user-signed proposals"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Matches system-signed proposals"},"children":["Matches system-signed proposals"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Omitted"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["UserSigned"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SystemSigned"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use system-signed policies narrowly. Specify explicit ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["intentTypes"]},", keep the scope deliberate, and use conditions that check the service submitter. For example:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"intentOrigin\": \"SystemSigned\",\n  \"intentTypes\": [\"v0_CreateTransactionOrder\"],\n  \"condition\": {\n    \"expression\": \"context.submitter.type === 'Service' && context.submitter.custodyRoles.includes('gas-station-service')\",\n    \"type\": \"Expression\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Omit ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["workflow"]}," only when automatic execution is intentional. If a system-signed policy includes a workflow, user-signed approvers must complete that workflow. System-signed approve and reject requests are not part of the API."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"conditions","__idx":5},"children":["Conditions"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Conditions are JavaScript expressions that decide whether a policy applies."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"condition\": {\n    \"expression\": \"context.request.payload.parameters.amount > 50000000000n\",\n    \"type\": \"Expression\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use conditions to distinguish business cases:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Transaction amount."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Ledger or asset."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Destination type."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Endpoint trust score."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Author role."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Service submitter role or subject."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Role being assigned."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Time window."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Compliance status."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Policy conditions can use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["context.request"]}," for the current intent and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["context.references"]}," for entities referenced by the intent. For the full JavaScript reference, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/governance/policies/reference"},"children":["Policy reference"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"workflows-and-quorum","__idx":6},"children":["Workflows and quorum"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Workflows define who must approve an intent."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"workflow\": [\n    { \"role\": \"operator\", \"quorum\": 1, \"type\": \"RoleQuorum\" },\n    { \"role\": \"compliance\", \"quorum\": 1, \"type\": \"RoleQuorum\" }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Workflow value"},"children":["Workflow value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Behavior"},"children":["Behavior"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Omitted"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Intent auto-approves. Use carefully."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Empty array ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["[]"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Intent auto-rejects."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Array with steps"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Each step must be satisfied in order."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For user-signed proposals, the maker's submitted intent counts as the first approval. If the first step requires ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["operator"]},", the maker must have ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["operator"]},". If the first step requires quorum ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["2"]},", the maker plus one other eligible user must approve."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For system-signed proposals, the service submitter proposes the intent but does not provide a user approval. Any approval workflow is completed by user-signed approvers."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Workflow objects:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Purpose"},"children":["Purpose"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RoleQuorum"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Require approvals from users with one role."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["And"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Require both approval paths."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Or"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Allow either approval path."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sequential array"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Require ordered approval stages."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"scope-governing-strategy-and-inheritance","__idx":7},"children":["Scope, governing strategy, and inheritance"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Policy scope works with domain governing strategy."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Scope"},"children":["Scope"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Applies to"},"children":["Applies to"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Self"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Intents targeting the policy's own domain."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Descendants"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Intents targeting child domains."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SelfAndDescendants"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Intents targeting the policy's own domain and child domains."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In a hierarchy, both target-domain policies and ancestor-domain policies may be relevant. The domain governing strategy decides how parent and child policies interact:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Strategy"},"children":["Strategy"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Behavior"},"children":["Behavior"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ConsiderDescendants"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Parent and child policies can both be considered."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CoerceDescendants"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Matching parent policies override child-domain policies."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For domain behavior, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/governance/domains"},"children":["Domains"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"rank","__idx":8},"children":["Rank"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Rank controls priority among matching policies. Higher rank wins."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use rank intentionally:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Higher rank for more specific, higher-risk cases."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Standard rank for routine workflows."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Low rank for catch-all fallback policies."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["High rank for emergency policies only when their intent types and scope are explicit."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"breakglass-policies","__idx":9},"children":["Breakglass policies"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A breakglass policy provides an emergency path for exceptional scenarios such as court orders, urgent freezes, lost access, or recovery from misconfiguration."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Good breakglass policies have:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Explicit intent types."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Narrow scope."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["High quorum."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Independent approvers."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Clear operating rules."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Breakglass is not a substitute for normal policy design. It should be part of ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/governance/genesis/design-your-policies"},"children":["Design your policies"]}," and included in the launch review before running Genesis."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"policy-lifecycle","__idx":10},"children":["Policy lifecycle"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Policies are created, updated, locked, and unlocked through intents. Policy-management policies should be stricter than routine operational policies because they control how governance can change."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For operations, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/governance/policies/manage-policies"},"children":["Manage policies"]},". For examples, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/governance/policies/examples"},"children":["Policy examples"]},". For schema, workflow syntax, condition syntax, JavaScript rules, and common mistakes, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/governance/policies/reference"},"children":["Policy reference"]},"."]}]},"headings":[{"value":"Policies","id":"policies","depth":1},{"value":"What is a policy?","id":"what-is-a-policy","depth":2},{"value":"How policies are selected","id":"how-policies-are-selected","depth":2},{"value":"Intent types","id":"intent-types","depth":2},{"value":"User-signed and system-signed policies","id":"user-signed-and-system-signed-policies","depth":2},{"value":"Conditions","id":"conditions","depth":2},{"value":"Workflows and quorum","id":"workflows-and-quorum","depth":2},{"value":"Scope, governing strategy, and inheritance","id":"scope-governing-strategy-and-inheritance","depth":2},{"value":"Rank","id":"rank","depth":2},{"value":"Breakglass policies","id":"breakglass-policies","depth":2},{"value":"Policy lifecycle","id":"policy-lifecycle","depth":2}],"frontmatter":{"seo":{"title":"Policies"}},"lastModified":"2026-08-04T20:25:11.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/custody/governance/policies","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}