{"templateId":"markdown","versions":[{"version":"v1.40","label":"v1.40 STS","link":"/products/custody/deployment/integrate-kms/production-best-practices","default":true,"active":false,"folderId":"c15a2701"},{"version":"v1.39","label":"v1.39 STS","link":"/products/custody/v1.39/deployment/integrate-kms/production-best-practices","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.38","label":"v1.38 STS","link":"/products/custody/v1.38/deployment/integrate-kms/production-best-practices","default":false,"active":true,"folderId":"c15a2701"},{"version":"v1.34","label":"v1.34 LTS","link":"/products/custody/v1.34/deployment/integrate-kms/production-best-practices","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.26","label":"v1.26 LTS","link":"/products/custody/v1.26/deployment/integrate-kms/production-best-practices","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.19","label":"v1.19 LTS","link":"/products/custody/v1.19/deployment/integrate-kms/production-best-practices","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.15","label":"v1.15 LTS","link":"/products/custody/v1.15/deployment/integrate-kms/production-best-practices","default":false,"active":false,"folderId":"c15a2701"}],"sharedDataIds":{"sidebar":"sidebar-products/custody/@v1.15/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition","tabs","tab"]},"type":"markdown"},"seo":{"title":"Production best practices","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":"production-best-practices","__idx":0},"children":["Production best practices"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This guide covers production-ready deployment patterns for ","Ripple Custody"," with any KMS platform (HSM, Cloud KMS, or MPC). These patterns ensure high availability, observability, and operational resilience."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Applies to"]},": All KMS integrations — both HSM and MPC deployments."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"namespace-segmentation","__idx":1},"children":["Namespace segmentation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For production deployments, use ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["namespace segmentation"]}," to isolate different components and enable multi-tenancy."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recommended-namespace-structure","__idx":2},"children":["Recommended namespace structure"]},{"$$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":"Namespace"},"children":["Namespace"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Purpose"},"children":["Purpose"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Components"},"children":["Components"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custody-core"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Core infrastructure"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Notary, Core services"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custody-vaults"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Vault workloads"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Vault instances"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custody-networks"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Network adapters"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Blockchain indexers, network bridges"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["custody-monitoring"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Observability"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Prometheus, Grafana, alerting"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"benefits","__idx":3},"children":["Benefits"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Security isolation"]},": Network policies restrict cross-namespace traffic."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Resource quotas"]},": Limit resource consumption per namespace."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["RBAC Boundaries"]},": Fine-grained access control per component"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Operational clarity"]},": Clear separation of concerns."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Compliance"]},": Meet regulatory requirements for multi-tenant isolation"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"implementation","__idx":4},"children":["Implementation"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# Create namespaces\nkubectl create namespace custody-core\nkubectl create namespace custody-vaults\nkubectl create namespace custody-networks\nkubectl create namespace custody-monitoring\n\n# Apply network policies (restrict cross-namespace traffic)\nkubectl apply -f network-policies/\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Helm deployment"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"helm upgrade --install harmonize ./harmonize-custody \\\n  --namespace custody-core \\\n  --set components.notary.namespace=custody-core \\\n  --set harmonize.vaults.*.namespace=custody-vaults \\\n  -f production.yaml\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"high-availability","__idx":5},"children":["High availability"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"kubernetes-components","__idx":6},"children":["Kubernetes components"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Deploy multiple replicas of critical components. Note that the notary must run as a singleton (Merkle tree operations cannot be parallelized), while the vault supports multiple replicas for high availability:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"# production.yaml\nharmonize:\n  vaults:\n    \"00000000-0000-0000-0000-000000000000\":\n      enabled: true\n      replicas: 3  # Multiple vault replicas for HA\n\n      # Pod anti-affinity (spread across nodes)\n      affinity:\n        podAntiAffinity:\n          requiredDuringSchedulingIgnoredDuringExecution:\n            - labelSelector:\n                matchLabels:\n                  app: harmonize-vault\n              topologyKey: kubernetes.io/hostname\n\n      resources:\n        limits:\n          cpu: 2000m\n          memory: 512Mi\n        requests:\n          cpu: 500m\n          memory: 256Mi\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"kms-high-availability-ha","__idx":7},"children":["KMS high availability (HA)"]},{"$$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":"KMS Platform"},"children":["KMS Platform"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"HA Strategy"},"children":["HA Strategy"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Thales Luna HSM"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["HA Group with multiple HSMs, automatic failover"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["BlockSafe HSM"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["HSM clustering across racks/locations"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Securosys Primus HSM"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["HA Group with multiple HSMs, automatic failover"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["AWS CloudHSM"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Multi-AZ cluster deployment"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["IBM HSM"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["GREP11 API with IBM HPVS, Crypto Express (CEX) adapter clustering for secure components only"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["MPC"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Distributed nodes (3-of-4 threshold signing)"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Refer to your specific KMS integration guide for detailed HA configuration."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"environment-topologies-prod-vs-dev","__idx":8},"children":["Environment topologies: PROD vs DEV"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Use different HSM topologies for production and non-production environments to balance security with cost efficiency."]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Production (HA cluster)","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Production"]}," environments require a full HA cluster with partition replication across multiple HSMs:"]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"flowchart TB\n    subgraph prod[\"PROD Environment - HA Cluster\"]\n        subgraph apps[\"Client Applications\"]\n            direction LR\n            notary[\"Notary\"]\n            vault1[\"Vault Replica\"]\n            vault2[\"Vault Replica\"]\n        end\n\n        subgraph luna[\"Thales Luna HA Group\"]\n            direction LR\n            hsm1[\"HSM 1\"]\n            hsm2[\"HSM 2\"]\n            hsm3[\"HSM 3\"]\n\n            subgraph p1[\"Partition\"]\n                part1[\" \"]\n            end\n            subgraph p2[\"Partition\"]\n                part2[\" \"]\n            end\n            subgraph p3[\"Partition\"]\n                part3[\" \"]\n            end\n\n            hsm1 --- p1\n            hsm2 --- p2\n            hsm3 --- p3\n            p1 <-->|\"Replication\"| p2\n            p2 <-->|\"Replication\"| p3\n        end\n    end\n\n    notary --> luna\n    vault1 --> luna\n    vault2 --> luna\n","diagramHtml":"<svg id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 1476.3125px;\" viewBox=\"0 0 1476.3125 517.5\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"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-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .error-icon{fill:#552222;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .error-text{fill:#552222;stroke:#552222;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .edge-thickness-normal{stroke-width:1px;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .edge-thickness-thick{stroke-width:3.5px;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .edge-pattern-solid{stroke-dasharray:0;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .edge-pattern-dashed{stroke-dasharray:3;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .edge-pattern-dotted{stroke-dasharray:2;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .marker{fill:#333333;stroke:#333333;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .marker.cross{stroke:#333333;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b p{margin:0;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#333;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .cluster-label text{fill:#333;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .cluster-label span{color:#333;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .cluster-label span p{background-color:transparent;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .label text,#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b span{fill:#333;color:#333;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .node rect,#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .node circle,#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .node ellipse,#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .node polygon,#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .rough-node .label text,#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .node .label text,#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .image-shape .label,#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .icon-shape .label{text-anchor:middle;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .rough-node .label,#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .node .label,#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .image-shape .label,#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .icon-shape .label{text-align:center;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .node.clickable{cursor:pointer;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .arrowheadPath{fill:#333333;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .flowchart-link{stroke:#333333;fill:none;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .cluster text{fill:#333;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .cluster span{color:#333;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"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-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b rect.text{fill:none;stroke-width:0;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .icon-shape,#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .icon-shape p,#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .icon-shape .label rect,#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b .node .neo-node{stroke:#9370DB;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b [data-look=\"neo\"].node rect,#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b [data-look=\"neo\"].cluster rect,#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_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-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_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-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_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-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_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-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_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-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_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-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_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-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_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-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_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-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_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-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_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-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_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\"></g><g class=\"edgeLabels\"></g><g class=\"nodes\"><g class=\"root\" transform=\"translate(0, 0)\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-prod\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"1460.3125\" height=\"501.5\"></rect><g class=\"cluster-label\" transform=\"translate(622.5625, 8)\"><foreignObject width=\"231.1875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>PROD Environment - HA Cluster</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"><path d=\"M298.594,162.035L304.844,157.258C311.094,152.482,323.594,142.928,335.443,139.392C347.292,135.855,358.49,138.335,364.089,139.575L369.688,140.815\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-L_notary_luna_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_notary_luna_0\" data-points=\"W3sieCI6Mjk4LjU5Mzc1LCJ5IjoxNjIuMDM0ODcyMzY4Nzk3MDR9LHsieCI6MzM2LjA5Mzc1LCJ5IjoxMzMuMzc1fSx7IngiOjM3My41OTM3NSwieSI6MTQxLjY4MDA0MjY0MzA0MDV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_flowchart-v2-pointEnd)\"></path><path d=\"M298.594,258.75L304.844,258.75C311.094,258.75,323.594,258.75,335.427,258.75C347.26,258.75,358.427,258.75,364.01,258.75L369.594,258.75\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-L_vault1_luna_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_vault1_luna_0\" data-points=\"W3sieCI6Mjk4LjU5Mzc1LCJ5IjoyNTguNzV9LHsieCI6MzM2LjA5Mzc1LCJ5IjoyNTguNzV9LHsieCI6MzczLjU5Mzc1LCJ5IjoyNTguNzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_flowchart-v2-pointEnd)\"></path><path d=\"M298.594,355.465L304.844,360.242C311.094,365.018,323.594,374.572,335.443,378.108C347.292,381.645,358.49,379.165,364.089,377.925L369.688,376.685\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-L_vault2_luna_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_vault2_luna_0\" data-points=\"W3sieCI6Mjk4LjU5Mzc1LCJ5IjozNTUuNDY1MTI3NjMxMjAyOTZ9LHsieCI6MzM2LjA5Mzc1LCJ5IjozODQuMTI1fSx7IngiOjM3My41OTM3NSwieSI6Mzc1LjgxOTk1NzM1Njk1OTV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_notary_luna_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_vault1_luna_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_vault2_luna_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=\"root\" transform=\"translate(365.59375, 35)\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-luna\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"1057.21875\" height=\"431.5\"></rect><g class=\"cluster-label\" transform=\"translate(455.2265625, 8)\"><foreignObject width=\"162.765625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Thales Luna HA Group</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"><path d=\"M166.906,327L175.24,327C183.573,327,200.24,327,216.906,327C233.573,327,250.24,327,258.573,327L266.906,327\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-L_hsm1_p1_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_hsm1_p1_0\" data-points=\"W3sieCI6MTY2LjkwNjI1LCJ5IjozMjd9LHsieCI6MjE2LjkwNjI1LCJ5IjozMjd9LHsieCI6MjY2LjkwNjI1LCJ5IjozMjd9XQ==\" data-look=\"classic\"></path><path d=\"M386.359,172.5L403.047,172.5C419.734,172.5,453.109,172.5,484.727,179.961C516.344,187.422,546.203,202.344,561.133,209.805L576.063,217.266\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-L_hsm2_p2_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_hsm2_p2_0\" data-points=\"W3sieCI6Mzg2LjM1OTM3NSwieSI6MTcyLjV9LHsieCI6NDg2LjQ4NDM3NSwieSI6MTcyLjV9LHsieCI6NTc2LjA2MjUsInkiOjIxNy4yNjY0MjU3NTU1ODQ3NX1d\" data-look=\"classic\"></path><path d=\"M695.516,95.25L712.203,95.25C728.891,95.25,762.266,95.25,793.883,102.711C825.5,110.172,855.359,125.094,870.289,132.555L885.219,140.016\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-L_hsm3_p3_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_hsm3_p3_0\" data-points=\"W3sieCI6Njk1LjUxNTYyNSwieSI6OTUuMjV9LHsieCI6Nzk1LjY0MDYyNSwieSI6OTUuMjV9LHsieCI6ODg1LjIxODc1LCJ5IjoxNDAuMDE2NDI1NzU1NTg0NzV9XQ==\" data-look=\"classic\"></path><path d=\"M400.906,327L415.169,327C429.432,327,457.958,327,486.555,319.837C515.151,312.674,543.818,298.348,558.151,291.185L572.484,284.022\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-L_p1_p2_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_p1_p2_0\" data-points=\"W3sieCI6Mzk2LjkwNjI1LCJ5IjozMjd9LHsieCI6NDg2LjQ4NDM3NSwieSI6MzI3fSx7IngiOjU3Ni4wNjI1LCJ5IjoyODIuMjMzNTc0MjQ0NDE1MjV9XQ==\" data-look=\"classic\" marker-start=\"url(#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_flowchart-v2-pointStart)\" marker-end=\"url(#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_flowchart-v2-pointEnd)\"></path><path d=\"M710.063,249.75L724.326,249.75C738.589,249.75,767.115,249.75,795.711,242.587C824.307,235.424,852.974,221.098,867.307,213.935L881.641,206.772\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-L_p2_p3_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_p2_p3_0\" data-points=\"W3sieCI6NzA2LjA2MjUsInkiOjI0OS43NX0seyJ4Ijo3OTUuNjQwNjI1LCJ5IjoyNDkuNzV9LHsieCI6ODg1LjIxODc1LCJ5IjoyMDQuOTgzNTc0MjQ0NDE1MjV9XQ==\" data-look=\"classic\" marker-start=\"url(#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_flowchart-v2-pointStart)\" marker-end=\"url(#diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_hsm1_p1_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_hsm2_p2_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_hsm3_p3_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\" transform=\"translate(486.484375, 327)\"><g class=\"label\" data-id=\"L_p1_p2_0\" transform=\"translate(-39.578125, -12)\"><foreignObject width=\"79.15625\" height=\"24\"><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\"><p>Replication</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(795.640625, 249.75)\"><g class=\"label\" data-id=\"L_p2_p3_0\" transform=\"translate(-39.578125, -12)\"><foreignObject width=\"79.15625\" height=\"24\"><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\"><p>Replication</p></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"root\" transform=\"translate(877.21875, 87)\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-p3\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"130\" height=\"155\"></rect><g class=\"cluster-label\" transform=\"translate(43.6484375, 8)\"><foreignObject width=\"58.703125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Partition</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"></g><g class=\"edgeLabels\"></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-flowchart-part3-8\" data-look=\"classic\" transform=\"translate(73, 85.5)\"><rect class=\"basic label-container\" style=\"\" x=\"-30\" y=\"-15\" width=\"60\" height=\"30\"></rect><g class=\"label\" style=\"\" transform=\"translate(0, 0)\"><rect></rect><foreignObject width=\"0\" height=\"0\"><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\"></span></div></foreignObject></g></g></g></g><g class=\"node default\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-flowchart-hsm1-3\" data-look=\"classic\" transform=\"translate(112.453125, 327)\"><rect class=\"basic label-container\" style=\"\" x=\"-54.453125\" y=\"-27\" width=\"108.90625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-24.453125, -12)\"><rect></rect><foreignObject width=\"48.90625\" 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>HSM 1</p></span></div></foreignObject></g></g><g class=\"root\" transform=\"translate(258.90625, 241.5)\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-p1\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"130\" height=\"155\"></rect><g class=\"cluster-label\" transform=\"translate(43.6484375, 8)\"><foreignObject width=\"58.703125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Partition</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"></g><g class=\"edgeLabels\"></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-flowchart-part1-6\" data-look=\"classic\" transform=\"translate(73, 85.5)\"><rect class=\"basic label-container\" style=\"\" x=\"-30\" y=\"-15\" width=\"60\" height=\"30\"></rect><g class=\"label\" style=\"\" transform=\"translate(0, 0)\"><rect></rect><foreignObject width=\"0\" height=\"0\"><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\"></span></div></foreignObject></g></g></g></g><g class=\"node default\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-flowchart-hsm2-4\" data-look=\"classic\" transform=\"translate(331.90625, 172.5)\"><rect class=\"basic label-container\" style=\"\" x=\"-54.453125\" y=\"-27\" width=\"108.90625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-24.453125, -12)\"><rect></rect><foreignObject width=\"48.90625\" 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>HSM 2</p></span></div></foreignObject></g></g><g class=\"root\" transform=\"translate(568.0625, 164.25)\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-p2\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"130\" height=\"155\"></rect><g class=\"cluster-label\" transform=\"translate(43.6484375, 8)\"><foreignObject width=\"58.703125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Partition</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"></g><g class=\"edgeLabels\"></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-flowchart-part2-7\" data-look=\"classic\" transform=\"translate(73, 85.5)\"><rect class=\"basic label-container\" style=\"\" x=\"-30\" y=\"-15\" width=\"60\" height=\"30\"></rect><g class=\"label\" style=\"\" transform=\"translate(0, 0)\"><rect></rect><foreignObject width=\"0\" height=\"0\"><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\"></span></div></foreignObject></g></g></g></g><g class=\"node default\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-flowchart-hsm3-5\" data-look=\"classic\" transform=\"translate(641.0625, 95.25)\"><rect class=\"basic label-container\" style=\"\" x=\"-54.453125\" y=\"-27\" width=\"108.90625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-24.453125, -12)\"><rect></rect><foreignObject width=\"48.90625\" 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>HSM 3</p></span></div></foreignObject></g></g></g></g><g class=\"root\" transform=\"translate(37.5, 84.75)\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-apps\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"253.09375\" height=\"332\"></rect><g class=\"cluster-label\" transform=\"translate(69.171875, 8)\"><foreignObject width=\"130.75\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Client Applications</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"></g><g class=\"edgeLabels\"></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-flowchart-notary-0\" data-look=\"classic\" transform=\"translate(134.546875, 70)\"><rect class=\"basic label-container\" style=\"\" x=\"-53.5625\" y=\"-27\" width=\"107.125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-23.5625, -12)\"><rect></rect><foreignObject width=\"47.125\" 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>Notary</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-flowchart-vault1-1\" data-look=\"classic\" transform=\"translate(134.546875, 174)\"><rect class=\"basic label-container\" style=\"\" x=\"-76.546875\" y=\"-27\" width=\"153.09375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-46.546875, -12)\"><rect></rect><foreignObject width=\"93.09375\" 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>Vault Replica</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-flowchart-vault2-2\" data-look=\"classic\" transform=\"translate(134.546875, 278)\"><rect class=\"basic label-container\" style=\"\" x=\"-76.546875\" y=\"-27\" width=\"153.09375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-46.546875, -12)\"><rect></rect><foreignObject width=\"93.09375\" 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>Vault Replica</p></span></div></foreignObject></g></g></g></g></g></g></g></g></g><defs><filter id=\"diagram-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-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-e6416832d517a535653e9514c426d8e5482ec494b56322aaefaba1bdf9b8123b-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-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 1476.3125px;\" viewBox=\"0 0 1476.3125 517.5\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"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-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .error-icon{fill:#a44141;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .error-text{fill:#ddd;stroke:#ddd;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .edge-thickness-normal{stroke-width:1px;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .edge-thickness-thick{stroke-width:3.5px;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .edge-pattern-solid{stroke-dasharray:0;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .marker{fill:lightgrey;stroke:lightgrey;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .marker.cross{stroke:lightgrey;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 p{margin:0;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#ccc;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .cluster-label text{fill:#F9FFFE;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .cluster-label span{color:#F9FFFE;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .cluster-label span p{background-color:transparent;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .label text,#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 span{fill:#ccc;color:#ccc;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .node rect,#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .node circle,#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .node ellipse,#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .node polygon,#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .rough-node .label text,#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .node .label text,#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .image-shape .label,#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .icon-shape .label{text-anchor:middle;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .rough-node .label,#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .node .label,#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .image-shape .label,#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .icon-shape .label{text-align:center;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .node.clickable{cursor:pointer;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .arrowheadPath{fill:lightgrey;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .edgePath .path{stroke:lightgrey;stroke-width:1px;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .flowchart-link{stroke:lightgrey;fill:none;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .cluster text{fill:#F9FFFE;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .cluster span{color:#F9FFFE;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"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-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 rect.text{fill:none;stroke-width:0;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .icon-shape,#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .icon-shape p,#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .icon-shape .label rect,#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 .node .neo-node{stroke:#ccc;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 [data-look=\"neo\"].node rect,#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 [data-look=\"neo\"].cluster rect,#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 [data-look=\"neo\"].node polygon{stroke:url(#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 [data-look=\"neo\"].node path{stroke:url(#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-gradient);stroke-width:1px;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 [data-look=\"neo\"].node circle{stroke:url(#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_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-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_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-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_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-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_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-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_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-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_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-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_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-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_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-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_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-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_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-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_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-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_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\"></g><g class=\"edgeLabels\"></g><g class=\"nodes\"><g class=\"root\" transform=\"translate(0, 0)\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-prod\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"1460.3125\" height=\"501.5\"></rect><g class=\"cluster-label\" transform=\"translate(622.5625, 8)\"><foreignObject width=\"231.1875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>PROD Environment - HA Cluster</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"><path d=\"M298.594,162.035L304.844,157.258C311.094,152.482,323.594,142.928,335.443,139.392C347.292,135.855,358.49,138.335,364.089,139.575L369.688,140.815\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-L_notary_luna_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_notary_luna_0\" data-points=\"W3sieCI6Mjk4LjU5Mzc1LCJ5IjoxNjIuMDM0ODcyMzY4Nzk3MDR9LHsieCI6MzM2LjA5Mzc1LCJ5IjoxMzMuMzc1fSx7IngiOjM3My41OTM3NSwieSI6MTQxLjY4MDA0MjY0MzA0MDV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_flowchart-v2-pointEnd)\"></path><path d=\"M298.594,258.75L304.844,258.75C311.094,258.75,323.594,258.75,335.427,258.75C347.26,258.75,358.427,258.75,364.01,258.75L369.594,258.75\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-L_vault1_luna_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_vault1_luna_0\" data-points=\"W3sieCI6Mjk4LjU5Mzc1LCJ5IjoyNTguNzV9LHsieCI6MzM2LjA5Mzc1LCJ5IjoyNTguNzV9LHsieCI6MzczLjU5Mzc1LCJ5IjoyNTguNzV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_flowchart-v2-pointEnd)\"></path><path d=\"M298.594,355.465L304.844,360.242C311.094,365.018,323.594,374.572,335.443,378.108C347.292,381.645,358.49,379.165,364.089,377.925L369.688,376.685\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-L_vault2_luna_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_vault2_luna_0\" data-points=\"W3sieCI6Mjk4LjU5Mzc1LCJ5IjozNTUuNDY1MTI3NjMxMjAyOTZ9LHsieCI6MzM2LjA5Mzc1LCJ5IjozODQuMTI1fSx7IngiOjM3My41OTM3NSwieSI6Mzc1LjgxOTk1NzM1Njk1OTV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_notary_luna_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_vault1_luna_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_vault2_luna_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=\"root\" transform=\"translate(365.59375, 35)\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-luna\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"1057.21875\" height=\"431.5\"></rect><g class=\"cluster-label\" transform=\"translate(455.2265625, 8)\"><foreignObject width=\"162.765625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Thales Luna HA Group</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"><path d=\"M166.906,327L175.24,327C183.573,327,200.24,327,216.906,327C233.573,327,250.24,327,258.573,327L266.906,327\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-L_hsm1_p1_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_hsm1_p1_0\" data-points=\"W3sieCI6MTY2LjkwNjI1LCJ5IjozMjd9LHsieCI6MjE2LjkwNjI1LCJ5IjozMjd9LHsieCI6MjY2LjkwNjI1LCJ5IjozMjd9XQ==\" data-look=\"classic\"></path><path d=\"M386.359,172.5L403.047,172.5C419.734,172.5,453.109,172.5,484.727,179.961C516.344,187.422,546.203,202.344,561.133,209.805L576.063,217.266\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-L_hsm2_p2_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_hsm2_p2_0\" data-points=\"W3sieCI6Mzg2LjM1OTM3NSwieSI6MTcyLjV9LHsieCI6NDg2LjQ4NDM3NSwieSI6MTcyLjV9LHsieCI6NTc2LjA2MjUsInkiOjIxNy4yNjY0MjU3NTU1ODQ3NX1d\" data-look=\"classic\"></path><path d=\"M695.516,95.25L712.203,95.25C728.891,95.25,762.266,95.25,793.883,102.711C825.5,110.172,855.359,125.094,870.289,132.555L885.219,140.016\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-L_hsm3_p3_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_hsm3_p3_0\" data-points=\"W3sieCI6Njk1LjUxNTYyNSwieSI6OTUuMjV9LHsieCI6Nzk1LjY0MDYyNSwieSI6OTUuMjV9LHsieCI6ODg1LjIxODc1LCJ5IjoxNDAuMDE2NDI1NzU1NTg0NzV9XQ==\" data-look=\"classic\"></path><path d=\"M400.906,327L415.169,327C429.432,327,457.958,327,486.555,319.837C515.151,312.674,543.818,298.348,558.151,291.185L572.484,284.022\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-L_p1_p2_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_p1_p2_0\" data-points=\"W3sieCI6Mzk2LjkwNjI1LCJ5IjozMjd9LHsieCI6NDg2LjQ4NDM3NSwieSI6MzI3fSx7IngiOjU3Ni4wNjI1LCJ5IjoyODIuMjMzNTc0MjQ0NDE1MjV9XQ==\" data-look=\"classic\" marker-start=\"url(#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_flowchart-v2-pointStart)\" marker-end=\"url(#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_flowchart-v2-pointEnd)\"></path><path d=\"M710.063,249.75L724.326,249.75C738.589,249.75,767.115,249.75,795.711,242.587C824.307,235.424,852.974,221.098,867.307,213.935L881.641,206.772\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-L_p2_p3_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_p2_p3_0\" data-points=\"W3sieCI6NzA2LjA2MjUsInkiOjI0OS43NX0seyJ4Ijo3OTUuNjQwNjI1LCJ5IjoyNDkuNzV9LHsieCI6ODg1LjIxODc1LCJ5IjoyMDQuOTgzNTc0MjQ0NDE1MjV9XQ==\" data-look=\"classic\" marker-start=\"url(#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_flowchart-v2-pointStart)\" marker-end=\"url(#diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_hsm1_p1_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_hsm2_p2_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_hsm3_p3_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\" transform=\"translate(486.484375, 327)\"><g class=\"label\" data-id=\"L_p1_p2_0\" transform=\"translate(-39.578125, -12)\"><foreignObject width=\"79.15625\" height=\"24\"><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\"><p>Replication</p></span></div></foreignObject></g></g><g class=\"edgeLabel\" transform=\"translate(795.640625, 249.75)\"><g class=\"label\" data-id=\"L_p2_p3_0\" transform=\"translate(-39.578125, -12)\"><foreignObject width=\"79.15625\" height=\"24\"><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\"><p>Replication</p></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"root\" transform=\"translate(877.21875, 87)\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-p3\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"130\" height=\"155\"></rect><g class=\"cluster-label\" transform=\"translate(43.6484375, 8)\"><foreignObject width=\"58.703125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Partition</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"></g><g class=\"edgeLabels\"></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-flowchart-part3-8\" data-look=\"classic\" transform=\"translate(73, 85.5)\"><rect class=\"basic label-container\" style=\"\" x=\"-30\" y=\"-15\" width=\"60\" height=\"30\"></rect><g class=\"label\" style=\"\" transform=\"translate(0, 0)\"><rect></rect><foreignObject width=\"0\" height=\"0\"><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\"></span></div></foreignObject></g></g></g></g><g class=\"node default\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-flowchart-hsm1-3\" data-look=\"classic\" transform=\"translate(112.453125, 327)\"><rect class=\"basic label-container\" style=\"\" x=\"-54.453125\" y=\"-27\" width=\"108.90625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-24.453125, -12)\"><rect></rect><foreignObject width=\"48.90625\" 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>HSM 1</p></span></div></foreignObject></g></g><g class=\"root\" transform=\"translate(258.90625, 241.5)\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-p1\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"130\" height=\"155\"></rect><g class=\"cluster-label\" transform=\"translate(43.6484375, 8)\"><foreignObject width=\"58.703125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Partition</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"></g><g class=\"edgeLabels\"></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-flowchart-part1-6\" data-look=\"classic\" transform=\"translate(73, 85.5)\"><rect class=\"basic label-container\" style=\"\" x=\"-30\" y=\"-15\" width=\"60\" height=\"30\"></rect><g class=\"label\" style=\"\" transform=\"translate(0, 0)\"><rect></rect><foreignObject width=\"0\" height=\"0\"><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\"></span></div></foreignObject></g></g></g></g><g class=\"node default\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-flowchart-hsm2-4\" data-look=\"classic\" transform=\"translate(331.90625, 172.5)\"><rect class=\"basic label-container\" style=\"\" x=\"-54.453125\" y=\"-27\" width=\"108.90625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-24.453125, -12)\"><rect></rect><foreignObject width=\"48.90625\" 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>HSM 2</p></span></div></foreignObject></g></g><g class=\"root\" transform=\"translate(568.0625, 164.25)\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-p2\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"130\" height=\"155\"></rect><g class=\"cluster-label\" transform=\"translate(43.6484375, 8)\"><foreignObject width=\"58.703125\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Partition</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"></g><g class=\"edgeLabels\"></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-flowchart-part2-7\" data-look=\"classic\" transform=\"translate(73, 85.5)\"><rect class=\"basic label-container\" style=\"\" x=\"-30\" y=\"-15\" width=\"60\" height=\"30\"></rect><g class=\"label\" style=\"\" transform=\"translate(0, 0)\"><rect></rect><foreignObject width=\"0\" height=\"0\"><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\"></span></div></foreignObject></g></g></g></g><g class=\"node default\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-flowchart-hsm3-5\" data-look=\"classic\" transform=\"translate(641.0625, 95.25)\"><rect class=\"basic label-container\" style=\"\" x=\"-54.453125\" y=\"-27\" width=\"108.90625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-24.453125, -12)\"><rect></rect><foreignObject width=\"48.90625\" 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>HSM 3</p></span></div></foreignObject></g></g></g></g><g class=\"root\" transform=\"translate(37.5, 84.75)\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-apps\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"253.09375\" height=\"332\"></rect><g class=\"cluster-label\" transform=\"translate(69.171875, 8)\"><foreignObject width=\"130.75\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Client Applications</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"></g><g class=\"edgeLabels\"></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-flowchart-notary-0\" data-look=\"classic\" transform=\"translate(134.546875, 70)\"><rect class=\"basic label-container\" style=\"\" x=\"-53.5625\" y=\"-27\" width=\"107.125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-23.5625, -12)\"><rect></rect><foreignObject width=\"47.125\" 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>Notary</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-flowchart-vault1-1\" data-look=\"classic\" transform=\"translate(134.546875, 174)\"><rect class=\"basic label-container\" style=\"\" x=\"-76.546875\" y=\"-27\" width=\"153.09375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-46.546875, -12)\"><rect></rect><foreignObject width=\"93.09375\" 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>Vault Replica</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-flowchart-vault2-2\" data-look=\"classic\" transform=\"translate(134.546875, 278)\"><rect class=\"basic label-container\" style=\"\" x=\"-76.546875\" y=\"-27\" width=\"153.09375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-46.546875, -12)\"><rect></rect><foreignObject width=\"93.09375\" 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>Vault Replica</p></span></div></foreignObject></g></g></g></g></g></g></g></g></g><defs><filter id=\"diagram-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-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-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-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-45dce12965896dd6cdc8213f16e116ef08b7b03e8305fd58493893fb98703f84-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 TB\n    subgraph prod[\"PROD Environment - HA Cluster\"]\n        subgraph apps[\"Client Applications\"]\n            direction LR\n            notary[\"Notary\"]\n            vault1[\"Vault Replica\"]\n            vault2[\"Vault Replica\"]\n        end\n\n        subgraph luna[\"Thales Luna HA Group\"]\n            direction LR\n            hsm1[\"HSM 1\"]\n            hsm2[\"HSM 2\"]\n            hsm3[\"HSM 3\"]\n\n            subgraph p1[\"Partition\"]\n                part1[\" \"]\n            end\n            subgraph p2[\"Partition\"]\n                part2[\" \"]\n            end\n            subgraph p3[\"Partition\"]\n                part3[\" \"]\n            end\n\n            hsm1 --- p1\n            hsm2 --- p2\n            hsm3 --- p3\n            p1 <-->|\"Replication\"| p2\n            p2 <-->|\"Replication\"| p3\n        end\n    end\n\n    notary --> luna\n    vault1 --> luna\n    vault2 --> luna\n"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Key points:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["3+ HSMs in an HA group for redundancy"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Partition replication across all HSMs"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Multiple vault replicas for signing capacity"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Automatic failover if any HSM becomes unavailable"]}]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"DEV/UAT (single HSM)","disable":false},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Non-production"]}," environments can use a single HSM with multiple partitions to reduce costs:"]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"flowchart TB\n    subgraph dev[\"DEV Environment - Single HSM\"]\n        subgraph apps1[\"DEV Applications\"]\n            notary1[\"Notary\"]\n            vault1[\"Vault\"]\n        end\n\n        subgraph apps2[\"UAT Applications\"]\n            notary2[\"Notary\"]\n            vault2[\"Vault\"]\n        end\n\n        subgraph luna[\"Thales Luna HSM\"]\n            partDev[\"Partition: DEV\"]\n            partUat[\"Partition: UAT\"]\n        end\n    end\n\n    notary1 --> partDev\n    vault1 --> partDev\n    notary2 --> partUat\n    vault2 --> partUat\n","diagramHtml":"<svg id=\"diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 583.609375px;\" viewBox=\"0 0 583.609375 532\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"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-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .error-icon{fill:#552222;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .error-text{fill:#552222;stroke:#552222;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .edge-thickness-normal{stroke-width:1px;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .edge-thickness-thick{stroke-width:3.5px;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .edge-pattern-solid{stroke-dasharray:0;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .marker{fill:#333333;stroke:#333333;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .marker.cross{stroke:#333333;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 p{margin:0;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#333;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .cluster-label text{fill:#333;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .cluster-label span{color:#333;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .cluster-label span p{background-color:transparent;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .label text,#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 span{fill:#333;color:#333;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .node rect,#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .node circle,#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .node ellipse,#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .node polygon,#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .rough-node .label text,#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .node .label text,#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .image-shape .label,#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .icon-shape .label{text-anchor:middle;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .rough-node .label,#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .node .label,#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .image-shape .label,#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .icon-shape .label{text-align:center;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .node.clickable{cursor:pointer;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .arrowheadPath{fill:#333333;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .flowchart-link{stroke:#333333;fill:none;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .cluster text{fill:#333;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .cluster span{color:#333;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"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-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 rect.text{fill:none;stroke-width:0;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .icon-shape,#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .icon-shape p,#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .icon-shape .label rect,#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 .node .neo-node{stroke:#9370DB;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 [data-look=\"neo\"].node rect,#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 [data-look=\"neo\"].cluster rect,#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806_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-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806_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-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806_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-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806_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-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806_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-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806_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-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806_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-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806_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-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806_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-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806_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-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806_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-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806_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\"></g><g class=\"edgeLabels\"></g><g class=\"nodes\"><g class=\"root\" transform=\"translate(0, 0)\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806-dev\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"567.609375\" height=\"516\"></rect><g class=\"cluster-label\" transform=\"translate(178.875, 8)\"><foreignObject width=\"225.859375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>DEV Environment - Single HSM</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806-luna\" data-look=\"classic\"><rect style=\"\" x=\"302.625\" y=\"39\" width=\"235.484375\" height=\"444\"></rect><g class=\"cluster-label\" transform=\"translate(356.3359375, 39)\"><foreignObject width=\"128.0625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Thales Luna HSM</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806-apps2\" data-look=\"classic\"><rect style=\"\" x=\"45.5\" y=\"276\" width=\"182.125\" height=\"228\"></rect><g class=\"cluster-label\" transform=\"translate(76.3828125, 276)\"><foreignObject width=\"120.359375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>UAT Applications</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806-apps1\" data-look=\"classic\"><rect style=\"\" x=\"45.5\" y=\"28\" width=\"182.125\" height=\"228\"></rect><g class=\"cluster-label\" transform=\"translate(75.1953125, 28)\"><foreignObject width=\"122.734375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>DEV Applications</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"><path d=\"M190.125,90L196.375,90C202.625,90,215.125,90,227.625,90C240.125,90,252.625,90,265.125,90C277.625,90,290.125,90,305.2,93.897C320.274,97.795,337.924,105.589,346.748,109.487L355.573,113.384\" id=\"diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806-L_notary1_partDev_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_notary1_partDev_0\" data-points=\"W3sieCI6MTkwLjEyNSwieSI6OTB9LHsieCI6MjI3LjYyNSwieSI6OTB9LHsieCI6MjY1LjEyNSwieSI6OTB9LHsieCI6MzAyLjYyNSwieSI6OTB9LHsieCI6MzU5LjIzMTgyMDkxMzQ2MTU1LCJ5IjoxMTV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806_flowchart-v2-pointEnd)\"></path><path d=\"M184.203,194L191.44,194C198.677,194,213.151,194,226.638,194C240.125,194,252.625,194,265.125,194C277.625,194,290.125,194,305.2,190.103C320.274,186.205,337.924,178.411,346.748,174.513L355.573,170.616\" id=\"diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806-L_vault1_partDev_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_vault1_partDev_0\" data-points=\"W3sieCI6MTg0LjIwMzEyNSwieSI6MTk0fSx7IngiOjIyNy42MjUsInkiOjE5NH0seyJ4IjoyNjUuMTI1LCJ5IjoxOTR9LHsieCI6MzAyLjYyNSwieSI6MTk0fSx7IngiOjM1OS4yMzE4MjA5MTM0NjE1NSwieSI6MTY5fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806_flowchart-v2-pointEnd)\"></path><path d=\"M190.125,338L196.375,338C202.625,338,215.125,338,227.625,338C240.125,338,252.625,338,265.125,338C277.625,338,290.125,338,305.2,341.897C320.274,345.795,337.924,353.589,346.748,357.487L355.573,361.384\" id=\"diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806-L_notary2_partUat_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_notary2_partUat_0\" data-points=\"W3sieCI6MTkwLjEyNSwieSI6MzM4fSx7IngiOjIyNy42MjUsInkiOjMzOH0seyJ4IjoyNjUuMTI1LCJ5IjozMzh9LHsieCI6MzAyLjYyNSwieSI6MzM4fSx7IngiOjM1OS4yMzE4MjA5MTM0NjE1NSwieSI6MzYzfV0=\" data-look=\"classic\" marker-end=\"url(#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806_flowchart-v2-pointEnd)\"></path><path d=\"M184.203,442L191.44,442C198.677,442,213.151,442,226.638,442C240.125,442,252.625,442,265.125,442C277.625,442,290.125,442,305.2,438.103C320.274,434.205,337.924,426.411,346.748,422.513L355.573,418.616\" id=\"diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806-L_vault2_partUat_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_vault2_partUat_0\" data-points=\"W3sieCI6MTg0LjIwMzEyNSwieSI6NDQyfSx7IngiOjIyNy42MjUsInkiOjQ0Mn0seyJ4IjoyNjUuMTI1LCJ5Ijo0NDJ9LHsieCI6MzAyLjYyNSwieSI6NDQyfSx7IngiOjM1OS4yMzE4MjA5MTM0NjE1NSwieSI6NDE3fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_notary1_partDev_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_vault1_partDev_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_notary2_partUat_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_vault2_partUat_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-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806-flowchart-partDev-4\" data-look=\"classic\" transform=\"translate(420.3671875, 142)\"><rect class=\"basic label-container\" style=\"\" x=\"-80.2421875\" y=\"-27\" width=\"160.484375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-50.2421875, -12)\"><rect></rect><foreignObject width=\"100.484375\" 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>Partition: DEV</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806-flowchart-notary1-0\" data-look=\"classic\" transform=\"translate(136.5625, 90)\"><rect class=\"basic label-container\" style=\"\" x=\"-53.5625\" y=\"-27\" width=\"107.125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-23.5625, -12)\"><rect></rect><foreignObject width=\"47.125\" 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>Notary</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806-flowchart-vault1-1\" data-look=\"classic\" transform=\"translate(136.5625, 194)\"><rect class=\"basic label-container\" style=\"\" x=\"-47.640625\" y=\"-27\" width=\"95.28125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-17.640625, -12)\"><rect></rect><foreignObject width=\"35.28125\" 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>Vault</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806-flowchart-notary2-2\" data-look=\"classic\" transform=\"translate(136.5625, 338)\"><rect class=\"basic label-container\" style=\"\" x=\"-53.5625\" y=\"-27\" width=\"107.125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-23.5625, -12)\"><rect></rect><foreignObject width=\"47.125\" 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>Notary</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806-flowchart-partUat-5\" data-look=\"classic\" transform=\"translate(420.3671875, 390)\"><rect class=\"basic label-container\" style=\"\" x=\"-79.203125\" y=\"-27\" width=\"158.40625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-49.203125, -12)\"><rect></rect><foreignObject width=\"98.40625\" 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>Partition: UAT</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806-flowchart-vault2-3\" data-look=\"classic\" transform=\"translate(136.5625, 442)\"><rect class=\"basic label-container\" style=\"\" x=\"-47.640625\" y=\"-27\" width=\"95.28125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-17.640625, -12)\"><rect></rect><foreignObject width=\"35.28125\" 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>Vault</p></span></div></foreignObject></g></g></g></g></g></g></g><defs><filter id=\"diagram-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806-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-e8362e99f2968a910485e0baa64d87c9da594f9835b1b49bedbdb7643c00a806-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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 583.609375px;\" viewBox=\"0 0 583.609375 532\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .error-icon{fill:#a44141;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .error-text{fill:#ddd;stroke:#ddd;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .edge-thickness-normal{stroke-width:1px;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .edge-thickness-thick{stroke-width:3.5px;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .edge-pattern-solid{stroke-dasharray:0;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .marker{fill:lightgrey;stroke:lightgrey;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .marker.cross{stroke:lightgrey;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 p{margin:0;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#ccc;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .cluster-label text{fill:#F9FFFE;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .cluster-label span{color:#F9FFFE;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .cluster-label span p{background-color:transparent;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .label text,#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 span{fill:#ccc;color:#ccc;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .node rect,#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .node circle,#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .node ellipse,#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .node polygon,#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .rough-node .label text,#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .node .label text,#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .image-shape .label,#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .icon-shape .label{text-anchor:middle;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .rough-node .label,#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .node .label,#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .image-shape .label,#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .icon-shape .label{text-align:center;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .node.clickable{cursor:pointer;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .arrowheadPath{fill:lightgrey;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .edgePath .path{stroke:lightgrey;stroke-width:1px;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .flowchart-link{stroke:lightgrey;fill:none;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .cluster text{fill:#F9FFFE;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .cluster span{color:#F9FFFE;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 rect.text{fill:none;stroke-width:0;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .icon-shape,#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .icon-shape p,#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .icon-shape .label rect,#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 .node .neo-node{stroke:#ccc;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 [data-look=\"neo\"].node rect,#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 [data-look=\"neo\"].cluster rect,#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 [data-look=\"neo\"].node polygon{stroke:url(#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 [data-look=\"neo\"].node path{stroke:url(#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-gradient);stroke-width:1px;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 [data-look=\"neo\"].node circle{stroke:url(#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345_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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345_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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345_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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345_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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345_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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345_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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345_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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345_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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345_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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345_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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345_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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345_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\"></g><g class=\"edgeLabels\"></g><g class=\"nodes\"><g class=\"root\" transform=\"translate(0, 0)\"><g class=\"clusters\"><g class=\"cluster\" id=\"diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-dev\" data-look=\"classic\"><rect style=\"\" x=\"8\" y=\"8\" width=\"567.609375\" height=\"516\"></rect><g class=\"cluster-label\" transform=\"translate(178.875, 8)\"><foreignObject width=\"225.859375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>DEV Environment - Single HSM</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-luna\" data-look=\"classic\"><rect style=\"\" x=\"302.625\" y=\"39\" width=\"235.484375\" height=\"444\"></rect><g class=\"cluster-label\" transform=\"translate(356.3359375, 39)\"><foreignObject width=\"128.0625\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>Thales Luna HSM</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-apps2\" data-look=\"classic\"><rect style=\"\" x=\"45.5\" y=\"276\" width=\"182.125\" height=\"228\"></rect><g class=\"cluster-label\" transform=\"translate(76.3828125, 276)\"><foreignObject width=\"120.359375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>UAT Applications</p></span></div></foreignObject></g></g><g class=\"cluster\" id=\"diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-apps1\" data-look=\"classic\"><rect style=\"\" x=\"45.5\" y=\"28\" width=\"182.125\" height=\"228\"></rect><g class=\"cluster-label\" transform=\"translate(75.1953125, 28)\"><foreignObject width=\"122.734375\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5;\"><span class=\"nodeLabel\"><p>DEV Applications</p></span></div></foreignObject></g></g></g><g class=\"edgePaths\"><path d=\"M190.125,90L196.375,90C202.625,90,215.125,90,227.625,90C240.125,90,252.625,90,265.125,90C277.625,90,290.125,90,305.2,93.897C320.274,97.795,337.924,105.589,346.748,109.487L355.573,113.384\" id=\"diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-L_notary1_partDev_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_notary1_partDev_0\" data-points=\"W3sieCI6MTkwLjEyNSwieSI6OTB9LHsieCI6MjI3LjYyNSwieSI6OTB9LHsieCI6MjY1LjEyNSwieSI6OTB9LHsieCI6MzAyLjYyNSwieSI6OTB9LHsieCI6MzU5LjIzMTgyMDkxMzQ2MTU1LCJ5IjoxMTV9XQ==\" data-look=\"classic\" marker-end=\"url(#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345_flowchart-v2-pointEnd)\"></path><path d=\"M184.203,194L191.44,194C198.677,194,213.151,194,226.638,194C240.125,194,252.625,194,265.125,194C277.625,194,290.125,194,305.2,190.103C320.274,186.205,337.924,178.411,346.748,174.513L355.573,170.616\" id=\"diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-L_vault1_partDev_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_vault1_partDev_0\" data-points=\"W3sieCI6MTg0LjIwMzEyNSwieSI6MTk0fSx7IngiOjIyNy42MjUsInkiOjE5NH0seyJ4IjoyNjUuMTI1LCJ5IjoxOTR9LHsieCI6MzAyLjYyNSwieSI6MTk0fSx7IngiOjM1OS4yMzE4MjA5MTM0NjE1NSwieSI6MTY5fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345_flowchart-v2-pointEnd)\"></path><path d=\"M190.125,338L196.375,338C202.625,338,215.125,338,227.625,338C240.125,338,252.625,338,265.125,338C277.625,338,290.125,338,305.2,341.897C320.274,345.795,337.924,353.589,346.748,357.487L355.573,361.384\" id=\"diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-L_notary2_partUat_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_notary2_partUat_0\" data-points=\"W3sieCI6MTkwLjEyNSwieSI6MzM4fSx7IngiOjIyNy42MjUsInkiOjMzOH0seyJ4IjoyNjUuMTI1LCJ5IjozMzh9LHsieCI6MzAyLjYyNSwieSI6MzM4fSx7IngiOjM1OS4yMzE4MjA5MTM0NjE1NSwieSI6MzYzfV0=\" data-look=\"classic\" marker-end=\"url(#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345_flowchart-v2-pointEnd)\"></path><path d=\"M184.203,442L191.44,442C198.677,442,213.151,442,226.638,442C240.125,442,252.625,442,265.125,442C277.625,442,290.125,442,305.2,438.103C320.274,434.205,337.924,426.411,346.748,422.513L355.573,418.616\" id=\"diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-L_vault2_partUat_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_vault2_partUat_0\" data-points=\"W3sieCI6MTg0LjIwMzEyNSwieSI6NDQyfSx7IngiOjIyNy42MjUsInkiOjQ0Mn0seyJ4IjoyNjUuMTI1LCJ5Ijo0NDJ9LHsieCI6MzAyLjYyNSwieSI6NDQyfSx7IngiOjM1OS4yMzE4MjA5MTM0NjE1NSwieSI6NDE3fV0=\" data-look=\"classic\" marker-end=\"url(#diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_notary1_partDev_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_vault1_partDev_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_notary2_partUat_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_vault2_partUat_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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-flowchart-partDev-4\" data-look=\"classic\" transform=\"translate(420.3671875, 142)\"><rect class=\"basic label-container\" style=\"\" x=\"-80.2421875\" y=\"-27\" width=\"160.484375\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-50.2421875, -12)\"><rect></rect><foreignObject width=\"100.484375\" 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>Partition: DEV</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-flowchart-notary1-0\" data-look=\"classic\" transform=\"translate(136.5625, 90)\"><rect class=\"basic label-container\" style=\"\" x=\"-53.5625\" y=\"-27\" width=\"107.125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-23.5625, -12)\"><rect></rect><foreignObject width=\"47.125\" 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>Notary</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-flowchart-vault1-1\" data-look=\"classic\" transform=\"translate(136.5625, 194)\"><rect class=\"basic label-container\" style=\"\" x=\"-47.640625\" y=\"-27\" width=\"95.28125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-17.640625, -12)\"><rect></rect><foreignObject width=\"35.28125\" 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>Vault</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-flowchart-notary2-2\" data-look=\"classic\" transform=\"translate(136.5625, 338)\"><rect class=\"basic label-container\" style=\"\" x=\"-53.5625\" y=\"-27\" width=\"107.125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-23.5625, -12)\"><rect></rect><foreignObject width=\"47.125\" 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>Notary</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-flowchart-partUat-5\" data-look=\"classic\" transform=\"translate(420.3671875, 390)\"><rect class=\"basic label-container\" style=\"\" x=\"-79.203125\" y=\"-27\" width=\"158.40625\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-49.203125, -12)\"><rect></rect><foreignObject width=\"98.40625\" 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>Partition: UAT</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-flowchart-vault2-3\" data-look=\"classic\" transform=\"translate(136.5625, 442)\"><rect class=\"basic label-container\" style=\"\" x=\"-47.640625\" y=\"-27\" width=\"95.28125\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-17.640625, -12)\"><rect></rect><foreignObject width=\"35.28125\" 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>Vault</p></span></div></foreignObject></g></g></g></g></g></g></g><defs><filter id=\"diagram-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-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-555fbf094a81d55fe2e50919cbd133c244b00fe9e4b49deff0c0779329c26345-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 TB\n    subgraph dev[\"DEV Environment - Single HSM\"]\n        subgraph apps1[\"DEV Applications\"]\n            notary1[\"Notary\"]\n            vault1[\"Vault\"]\n        end\n\n        subgraph apps2[\"UAT Applications\"]\n            notary2[\"Notary\"]\n            vault2[\"Vault\"]\n        end\n\n        subgraph luna[\"Thales Luna HSM\"]\n            partDev[\"Partition: DEV\"]\n            partUat[\"Partition: UAT\"]\n        end\n    end\n\n    notary1 --> partDev\n    vault1 --> partDev\n    notary2 --> partUat\n    vault2 --> partUat\n"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Key points:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Single HSM with separate partitions per environment"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["DEV and UAT isolated via partition boundaries"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Cost-effective for non-production workloads"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["No HA - acceptable for development/testing"]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"monitoring-and-alerting","__idx":9},"children":["Monitoring and alerting"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"key-metrics","__idx":10},"children":["Key metrics"]},{"$$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":"Metrics to Monitor"},"children":["Metrics to Monitor"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["KMS/HSM Health"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Connection status, latency, error rate"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Signing Operations"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Requests/second, success rate, latency"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Pod Health"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["CPU, memory, restarts, readiness"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Application"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Transaction throughput, queue depth"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"prometheus-servicemonitor","__idx":11},"children":["Prometheus ServiceMonitor"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"apiVersion: monitoring.coreos.com/v1\nkind: ServiceMonitor\nmetadata:\n  name: harmonize-notary\n  namespace: custody-monitoring\nspec:\n  selector:\n    matchLabels:\n      app: harmonize-notary\n  namespaceSelector:\n    matchNames:\n      - custody-core\n  endpoints:\n  - port: metrics\n    interval: 30s\n    path: /metrics\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recommended-alerts","__idx":12},"children":["Recommended alerts"]},{"$$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":"Alert"},"children":["Alert"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Condition"},"children":["Condition"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Severity"},"children":["Severity"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["KMSConnectionFailed"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["HSM/KMS connection down > 1 min"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Critical"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SigningLatencyHigh"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["p99 latency > 500ms for 5 min"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Warning"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["NotaryPodDown"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Notary pod unavailable > 1 min"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Critical"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["VaultReplicasLow"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Vault replicas < 2"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Warning"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HighErrorRate"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Error rate > 1% for 5 min"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Warning"]}]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"certificate-rotation","__idx":13},"children":["Certificate rotation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For mTLS-enabled deployments (Luna, BlockSafe):"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"rotation-procedure","__idx":14},"children":["Rotation procedure"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Generate new certificates"]}," using your HSM vendor tools"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create new Kubernetes secret"]}," with updated certificates"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Perform rolling update"]}," via Helm to pick up new credentials"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Verify connectivity"]}," to HSM with new certificates"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Revoke old certificates"]}," after confirming new ones work"]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Zero-Downtime Rotation"]},": With multiple vault replicas, rolling updates ensure continuous availability during certificate rotation. Note that the notary runs as a singleton, so plan a brief maintenance window for notary certificate rotation."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"backup-and-disaster-recovery","__idx":15},"children":["Backup and disaster recovery"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"what-to-backup","__idx":16},"children":["What to backup"]},{"$$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":"Component"},"children":["Component"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Backup Method"},"children":["Backup Method"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Frequency"},"children":["Frequency"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HSM Keys"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Vendor-specific backup (Luna: partition backup, AWS CloudHSM: cluster backup)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Daily"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Kubernetes Secrets"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Encrypted backup to secure storage"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Daily"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Helm Values"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Version control (Git)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["On change"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Configuration"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Infrastructure as Code (Terraform/CDK)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["On change"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"recovery-testing","__idx":17},"children":["Recovery testing"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Perform quarterly disaster recovery testing:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["HSM Recovery"]},": Restore keys to test partition/cluster"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Kubernetes recovery"]},": Redeploy from IaC to test cluster."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["End-to-End Test"]},": Verify signing operations work after recovery"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Document results"]},": Update runbooks based on findings."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related-guides","__idx":18},"children":["Related guides"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/deployment/integrate-kms/overview"},"children":["KMS integration overview"]}," - All supported KMS platforms"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/deployment/integrate-kms/advanced-secret-management"},"children":["Advanced secret management"]}," - ESO, Vault Agent, AWS Secrets Manager"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/governance/domains/inject-a-domain"},"children":["Domain injection"]}," - Advanced key isolation patterns"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/deployment/integrate-kms/on-premise-hsm/thales-luna"},"children":["Thales Luna HSM"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/deployment/integrate-kms/on-premise-hsm/blocksafe"},"children":["BlockSafe HSM"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/deployment/integrate-kms/cloud-hsm/aws-cloudhsm"},"children":["AWS CloudHSM"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/deployment/integrate-kms/on-premise-hsm/ibm-linuxone"},"children":["IBM LinuxONE"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/deployment/integrate-kms/mpc/overview"},"children":["MPC overview"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/deployment/integrate-kms/mpc/backups"},"children":["MPC backups"]}]}]}]},"headings":[{"value":"Production best practices","id":"production-best-practices","depth":1},{"value":"Namespace segmentation","id":"namespace-segmentation","depth":2},{"value":"Recommended namespace structure","id":"recommended-namespace-structure","depth":3},{"value":"Benefits","id":"benefits","depth":3},{"value":"Implementation","id":"implementation","depth":3},{"value":"High availability","id":"high-availability","depth":2},{"value":"Kubernetes components","id":"kubernetes-components","depth":3},{"value":"KMS high availability (HA)","id":"kms-high-availability-ha","depth":3},{"value":"Environment topologies: PROD vs DEV","id":"environment-topologies-prod-vs-dev","depth":3},{"value":"Monitoring and alerting","id":"monitoring-and-alerting","depth":2},{"value":"Key metrics","id":"key-metrics","depth":3},{"value":"Prometheus ServiceMonitor","id":"prometheus-servicemonitor","depth":3},{"value":"Recommended alerts","id":"recommended-alerts","depth":3},{"value":"Certificate rotation","id":"certificate-rotation","depth":2},{"value":"Rotation procedure","id":"rotation-procedure","depth":3},{"value":"Backup and disaster recovery","id":"backup-and-disaster-recovery","depth":2},{"value":"What to backup","id":"what-to-backup","depth":3},{"value":"Recovery testing","id":"recovery-testing","depth":3},{"value":"Related guides","id":"related-guides","depth":2}],"frontmatter":{"seo":{"title":"Production best practices"}},"lastModified":"2026-07-27T10:10:43.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/custody/v1.38/deployment/integrate-kms/production-best-practices","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}