{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition","tabs","tab"]},"redocly_category":"Guides","product":"Identity Verification","type":"markdown"},"seo":{"title":"Identity Verification with journeys","description":"Everything about Mosaic Journeys, SDKs, and APIs","siteUrl":"https://developer.transmitsecurity.com"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"identity-verification-with-journeys","__idx":0},"children":["Identity Verification with journeys"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Identity Verification allows you to securely verify the identity of your users by collecting a government-issued document (such as a driver's license, passport, or national ID card) and a live selfie, and then matching them against each other. This is useful for scenarios like onboarding new customers, account recovery, or verifying identity before granting access to sensitive operations."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Note"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This guide explains how to implement Identity Verification using ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/journeys_intro"},"children":["Journeys"]}," and SDKs."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-it-works","__idx":1},"children":["How it works"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When a user needs to verify their identity, the client starts the verification journey and Mosaic creates an Identity Verification session."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["On mobile, the Orchestration SDK intercepts Document Acquisition and Selfie Acquisition, runs capture, and submits the result. On web, your client receives the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["start_token"]}," from the Orchestration SDK and starts the Identity Verification session, captures the document and selfie, and submits an empty client response."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After both images are collected, the Platform IDV Recommendation step evaluates the verification data. This step is client-facing: keep calling ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["submitClientResponse()"]}," until the journey proceeds to the next step or returns an error. Based on the recommendation, the journey branches and either completes successfully or rejects access."]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"sequenceDiagram\n    participant User\n    participant App as Client\n    participant IDO as Orchestration SDK\n    participant IDV as IDV SDK\n    participant M as Mosaic\n\n    User-->>App: Verify my identity\n    App->>IDO: Init SDK\n    App->>IDO: Start journey\n    note over App, M: Journey runs...\n    IDO-->>App: Document Acquisition\n    App->>IDV: Capture document\n    IDV-->>User: Mosaic UI\n    User-->>IDV: Document image\n    IDV-->>App: Complete\n    App->>IDO: Complete\n    IDO-->>App: Selfie Acquisition\n    App->>IDV: Capture selfie\n    IDV-->>User: Mosaic UI\n    User-->>IDV: Selfie\n    IDV-->>App: Complete\n    App->>IDO: Complete\n    IDO-->>App: IDV Recommendation\n    App->>IDO: submitClientResponse()\n    IDO-->>M: Get IDV recommendation\n    M-->>M: Check recommendation\n    M-->>IDO: Check result (yes/no)\n    IDO-->>App: Journey complete\n    App-->>User: Result\n","diagramHtml":"<svg id=\"diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" style=\"max-width: 1103.5px;\" viewBox=\"-50 -10 1103.5 1245\" role=\"graphics-document document\" aria-roledescription=\"sequence\"><style>\n    #diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 foreignObject {\n      overflow: visible;\n    }\n  </style><g><rect x=\"843\" y=\"1159\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"M\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"918\" y=\"1191.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"918\" dy=\"0\">Mosaic</tspan></text></g><g><rect x=\"643\" y=\"1159\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"IDV\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"718\" y=\"1191.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"718\" dy=\"0\">IDV SDK</tspan></text></g><g><rect x=\"439\" y=\"1159\" fill=\"#eaeaea\" stroke=\"#666\" width=\"154\" height=\"65\" name=\"IDO\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"516\" y=\"1191.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"516\" dy=\"0\">Orchestration SDK</tspan></text></g><g><rect x=\"200\" y=\"1159\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"App\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"275\" y=\"1191.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"275\" dy=\"0\">Client</tspan></text></g><g><rect x=\"0\" y=\"1159\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"User\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"75\" y=\"1191.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"75\" dy=\"0\">User</tspan></text></g><g><line id=\"actor4\" x1=\"918\" y1=\"65\" x2=\"918\" y2=\"1159\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"M\" data-et=\"life-line\" data-id=\"M\"></line><g id=\"root-4\" data-et=\"participant\" data-type=\"participant\" data-id=\"M\"><rect x=\"843\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"M\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"918\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"918\" dy=\"0\">Mosaic</tspan></text></g></g><g><line id=\"actor3\" x1=\"718\" y1=\"65\" x2=\"718\" y2=\"1159\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"IDV\" data-et=\"life-line\" data-id=\"IDV\"></line><g id=\"root-3\" data-et=\"participant\" data-type=\"participant\" data-id=\"IDV\"><rect x=\"643\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"IDV\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"718\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"718\" dy=\"0\">IDV SDK</tspan></text></g></g><g><line id=\"actor2\" x1=\"516\" y1=\"65\" x2=\"516\" y2=\"1159\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"IDO\" data-et=\"life-line\" data-id=\"IDO\"></line><g id=\"root-2\" data-et=\"participant\" data-type=\"participant\" data-id=\"IDO\"><rect x=\"439\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"154\" height=\"65\" name=\"IDO\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"516\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"516\" dy=\"0\">Orchestration SDK</tspan></text></g></g><g><line id=\"actor1\" x1=\"275\" y1=\"65\" x2=\"275\" y2=\"1159\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"App\" data-et=\"life-line\" data-id=\"App\"></line><g id=\"root-1\" data-et=\"participant\" data-type=\"participant\" data-id=\"App\"><rect x=\"200\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"App\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"275\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"275\" dy=\"0\">Client</tspan></text></g></g><g><line id=\"actor0\" x1=\"75\" y1=\"65\" x2=\"75\" y2=\"1159\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"User\" data-et=\"life-line\" data-id=\"User\"></line><g id=\"root-0\" data-et=\"participant\" data-type=\"participant\" data-id=\"User\"><rect x=\"0\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"User\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"75\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"75\" dy=\"0\">User</tspan></text></g></g><style>#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46{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-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .error-icon{fill:#552222;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .error-text{fill:#552222;stroke:#552222;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .edge-thickness-normal{stroke-width:1px;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .edge-thickness-thick{stroke-width:3.5px;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .edge-pattern-solid{stroke-dasharray:0;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .marker{fill:#333333;stroke:#333333;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .marker.cross{stroke:#333333;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 p{margin:0;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .actor{stroke:#9370DB;fill:#ECECFF;stroke-width:1;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 rect.actor.outer-path[data-look=\"neo\"]{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 rect.note[data-look=\"neo\"]{stroke:#aaaa33;fill:#fff5ad;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 text.actor&gt;tspan{fill:black;stroke:none;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .actor-line{stroke:#9370DB;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .innerArc{stroke-width:1.5;stroke-dasharray:none;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 [id$=\"-arrowhead\"] path{fill:#333;stroke:#333;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .sequenceNumber{fill:white;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 [id$=\"-sequencenumber\"]{fill:#333;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 [id$=\"-crosshead\"] path{fill:#333;stroke:#333;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .messageText{fill:#333;stroke:none;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .labelBox{stroke:#9370DB;fill:#ECECFF;filter:none;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .labelText,#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .labelText&gt;tspan{fill:black;stroke:none;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .loopText,#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .loopText&gt;tspan{fill:black;stroke:none;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .sectionTitle,#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .sectionTitle&gt;tspan{fill:black;stroke:none;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:#9370DB;fill:#9370DB;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .note{stroke:#aaaa33;fill:#fff5ad;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .noteText,#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .noteText&gt;tspan{fill:black;stroke:none;font-weight:normal;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .activation0{fill:#f4f4f4;stroke:#666;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .activation1{fill:#f4f4f4;stroke:#666;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .activation2{fill:#f4f4f4;stroke:#666;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .actorPopupMenu{position:absolute;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .actor-man circle,#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 line{fill:#ECECFF;stroke-width:2px;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 g rect.rect{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));stroke:#9370DB;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 .node .neo-node{stroke:#9370DB;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 [data-look=\"neo\"].node rect,#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 [data-look=\"neo\"].cluster rect,#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g></g><defs><symbol id=\"diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-computer\" width=\"24\" height=\"24\"><path transform=\"scale(.5)\" d=\"M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z\"></path></symbol></defs><defs><symbol id=\"diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-database\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"><path transform=\"scale(.5)\" d=\"M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z\"></path></symbol></defs><defs><symbol id=\"diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-clock\" width=\"24\" height=\"24\"><path transform=\"scale(.5)\" d=\"M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z\"></path></symbol></defs><defs><marker id=\"diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead\" refX=\"7.9\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M -1 0 L 10 5 L 0 10 z\"></path></marker></defs><defs><marker id=\"diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-crosshead\" markerWidth=\"15\" markerHeight=\"8\" orient=\"auto\" refX=\"4\" refY=\"4.5\"><path fill=\"none\" stroke=\"#000000\" stroke-width=\"1pt\" d=\"M 1,2 L 6,7 M 6,2 L 1,7\" style=\"stroke-dasharray: 0, 0;\"></path></marker></defs><defs><marker id=\"diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-filled-head\" refX=\"15.5\" refY=\"7\" markerWidth=\"20\" markerHeight=\"28\" orient=\"auto\"><path d=\"M 18,7 L9,13 L14,7 L9,1 Z\"></path></marker></defs><defs><marker id=\"diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-sequencenumber\" refX=\"15\" refY=\"15\" markerWidth=\"60\" markerHeight=\"40\" orient=\"auto\"><circle cx=\"15\" cy=\"15\" r=\"6\"></circle></marker></defs><defs><marker id=\"diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-solidTopArrowHead\" refX=\"7.9\" refY=\"7.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 8 L 0 8 z\"></path></marker></defs><defs><marker id=\"diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-solidBottomArrowHead\" refX=\"7.9\" refY=\"0.75\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 0 L 0 8 z\"></path></marker></defs><defs><marker id=\"diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-stickTopArrowHead\" refX=\"7.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 7 7\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"></path></marker></defs><defs><marker id=\"diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-stickBottomArrowHead\" refX=\"7.5\" refY=\"0\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 7 L 7 0\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"></path></marker></defs><g data-et=\"note\" data-id=\"i3\"><rect x=\"250\" y=\"211\" fill=\"#EDF2AE\" stroke=\"#666\" width=\"693\" height=\"38\" class=\"note\"></rect><text x=\"597\" y=\"216\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"noteText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\"><tspan x=\"597\">Journey runs...</tspan></text></g><text x=\"174\" y=\"80\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Verify my identity</text><line x1=\"76\" y1=\"111\" x2=\"271\" y2=\"111\" class=\"messageLine1\" data-et=\"message\" data-id=\"i0\" data-from=\"User\" data-to=\"App\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"394\" y=\"126\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Init SDK</text><line x1=\"276\" y1=\"155\" x2=\"512\" y2=\"155\" class=\"messageLine0\" data-et=\"message\" data-id=\"i1\" data-from=\"App\" data-to=\"IDO\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"fill: none;\"></line><text x=\"394\" y=\"170\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Start journey</text><line x1=\"276\" y1=\"201\" x2=\"512\" y2=\"201\" class=\"messageLine0\" data-et=\"message\" data-id=\"i2\" data-from=\"App\" data-to=\"IDO\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"fill: none;\"></line><text x=\"397\" y=\"264\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Document Acquisition</text><line x1=\"515\" y1=\"295\" x2=\"279\" y2=\"295\" class=\"messageLine1\" data-et=\"message\" data-id=\"i4\" data-from=\"IDO\" data-to=\"App\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"495\" y=\"310\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Capture document</text><line x1=\"276\" y1=\"341\" x2=\"714\" y2=\"341\" class=\"messageLine0\" data-et=\"message\" data-id=\"i5\" data-from=\"App\" data-to=\"IDV\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"fill: none;\"></line><text x=\"398\" y=\"356\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Mosaic UI</text><line x1=\"717\" y1=\"385\" x2=\"79\" y2=\"385\" class=\"messageLine1\" data-et=\"message\" data-id=\"i6\" data-from=\"IDV\" data-to=\"User\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"395\" y=\"400\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Document image</text><line x1=\"76\" y1=\"431\" x2=\"714\" y2=\"431\" class=\"messageLine1\" data-et=\"message\" data-id=\"i7\" data-from=\"User\" data-to=\"IDV\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"498\" y=\"446\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Complete</text><line x1=\"717\" y1=\"477\" x2=\"279\" y2=\"477\" class=\"messageLine1\" data-et=\"message\" data-id=\"i8\" data-from=\"IDV\" data-to=\"App\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"394\" y=\"492\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Complete</text><line x1=\"276\" y1=\"523\" x2=\"512\" y2=\"523\" class=\"messageLine0\" data-et=\"message\" data-id=\"i9\" data-from=\"App\" data-to=\"IDO\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"fill: none;\"></line><text x=\"397\" y=\"538\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Selfie Acquisition</text><line x1=\"515\" y1=\"569\" x2=\"279\" y2=\"569\" class=\"messageLine1\" data-et=\"message\" data-id=\"i10\" data-from=\"IDO\" data-to=\"App\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"495\" y=\"584\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Capture selfie</text><line x1=\"276\" y1=\"615\" x2=\"714\" y2=\"615\" class=\"messageLine0\" data-et=\"message\" data-id=\"i11\" data-from=\"App\" data-to=\"IDV\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"fill: none;\"></line><text x=\"398\" y=\"630\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Mosaic UI</text><line x1=\"717\" y1=\"659\" x2=\"79\" y2=\"659\" class=\"messageLine1\" data-et=\"message\" data-id=\"i12\" data-from=\"IDV\" data-to=\"User\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"395\" y=\"674\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Selfie</text><line x1=\"76\" y1=\"703\" x2=\"714\" y2=\"703\" class=\"messageLine1\" data-et=\"message\" data-id=\"i13\" data-from=\"User\" data-to=\"IDV\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"498\" y=\"718\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Complete</text><line x1=\"717\" y1=\"749\" x2=\"279\" y2=\"749\" class=\"messageLine1\" data-et=\"message\" data-id=\"i14\" data-from=\"IDV\" data-to=\"App\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"394\" y=\"764\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Complete</text><line x1=\"276\" y1=\"795\" x2=\"512\" y2=\"795\" class=\"messageLine0\" data-et=\"message\" data-id=\"i15\" data-from=\"App\" data-to=\"IDO\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"fill: none;\"></line><text x=\"397\" y=\"810\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">IDV Recommendation</text><line x1=\"515\" y1=\"839\" x2=\"279\" y2=\"839\" class=\"messageLine1\" data-et=\"message\" data-id=\"i16\" data-from=\"IDO\" data-to=\"App\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"394\" y=\"854\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">submitClientResponse()</text><line x1=\"276\" y1=\"885\" x2=\"512\" y2=\"885\" class=\"messageLine0\" data-et=\"message\" data-id=\"i17\" data-from=\"App\" data-to=\"IDO\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"fill: none;\"></line><text x=\"716\" y=\"900\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Get IDV recommendation</text><line x1=\"517\" y1=\"929\" x2=\"914\" y2=\"929\" class=\"messageLine1\" data-et=\"message\" data-id=\"i18\" data-from=\"IDO\" data-to=\"M\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"919\" y=\"944\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Check recommendation</text><path d=\"M 919,973 C 979,963 979,1003 919,993\" class=\"messageLine1\" data-et=\"message\" data-id=\"i19\" data-from=\"M\" data-to=\"M\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></path><text x=\"719\" y=\"1018\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Check result (yes/no)</text><line x1=\"917\" y1=\"1049\" x2=\"520\" y2=\"1049\" class=\"messageLine1\" data-et=\"message\" data-id=\"i20\" data-from=\"M\" data-to=\"IDO\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"397\" y=\"1064\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Journey complete</text><line x1=\"515\" y1=\"1095\" x2=\"279\" y2=\"1095\" class=\"messageLine1\" data-et=\"message\" data-id=\"i21\" data-from=\"IDO\" data-to=\"App\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"177\" y=\"1110\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Result</text><line x1=\"274\" y1=\"1139\" x2=\"79\" y2=\"1139\" class=\"messageLine1\" data-et=\"message\" data-id=\"i22\" data-from=\"App\" data-to=\"User\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-ef03d0ddada7c406f41e2f9dc2f22ef54af01848e58262ab96b7b8059a52db46-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line></svg>","diagramHtmlDark":"<svg id=\"diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" style=\"max-width: 1103.5px;\" viewBox=\"-50 -10 1103.5 1245\" role=\"graphics-document document\" aria-roledescription=\"sequence\"><style>\n    #diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec foreignObject {\n      overflow: visible;\n    }\n  </style><g><rect x=\"843\" y=\"1159\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"M\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"918\" y=\"1191.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"918\" dy=\"0\">Mosaic</tspan></text></g><g><rect x=\"643\" y=\"1159\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"IDV\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"718\" y=\"1191.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"718\" dy=\"0\">IDV SDK</tspan></text></g><g><rect x=\"439\" y=\"1159\" fill=\"#eaeaea\" stroke=\"#666\" width=\"154\" height=\"65\" name=\"IDO\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"516\" y=\"1191.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"516\" dy=\"0\">Orchestration SDK</tspan></text></g><g><rect x=\"200\" y=\"1159\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"App\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"275\" y=\"1191.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"275\" dy=\"0\">Client</tspan></text></g><g><rect x=\"0\" y=\"1159\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"User\" rx=\"3\" ry=\"3\" class=\"actor actor-bottom\"></rect><text x=\"75\" y=\"1191.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"75\" dy=\"0\">User</tspan></text></g><g><line id=\"actor4\" x1=\"918\" y1=\"65\" x2=\"918\" y2=\"1159\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"M\" data-et=\"life-line\" data-id=\"M\"></line><g id=\"root-4\" data-et=\"participant\" data-type=\"participant\" data-id=\"M\"><rect x=\"843\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"M\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"918\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"918\" dy=\"0\">Mosaic</tspan></text></g></g><g><line id=\"actor3\" x1=\"718\" y1=\"65\" x2=\"718\" y2=\"1159\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"IDV\" data-et=\"life-line\" data-id=\"IDV\"></line><g id=\"root-3\" data-et=\"participant\" data-type=\"participant\" data-id=\"IDV\"><rect x=\"643\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"IDV\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"718\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"718\" dy=\"0\">IDV SDK</tspan></text></g></g><g><line id=\"actor2\" x1=\"516\" y1=\"65\" x2=\"516\" y2=\"1159\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"IDO\" data-et=\"life-line\" data-id=\"IDO\"></line><g id=\"root-2\" data-et=\"participant\" data-type=\"participant\" data-id=\"IDO\"><rect x=\"439\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"154\" height=\"65\" name=\"IDO\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"516\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"516\" dy=\"0\">Orchestration SDK</tspan></text></g></g><g><line id=\"actor1\" x1=\"275\" y1=\"65\" x2=\"275\" y2=\"1159\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"App\" data-et=\"life-line\" data-id=\"App\"></line><g id=\"root-1\" data-et=\"participant\" data-type=\"participant\" data-id=\"App\"><rect x=\"200\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"App\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"275\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"275\" dy=\"0\">Client</tspan></text></g></g><g><line id=\"actor0\" x1=\"75\" y1=\"65\" x2=\"75\" y2=\"1159\" class=\"actor-line 200\" stroke-width=\"0.5px\" stroke=\"#999\" name=\"User\" data-et=\"life-line\" data-id=\"User\"></line><g id=\"root-0\" data-et=\"participant\" data-type=\"participant\" data-id=\"User\"><rect x=\"0\" y=\"0\" fill=\"#eaeaea\" stroke=\"#666\" width=\"150\" height=\"65\" name=\"User\" rx=\"3\" ry=\"3\" class=\"actor actor-top\"></rect><text x=\"75\" y=\"32.5\" dominant-baseline=\"central\" alignment-baseline=\"central\" class=\"actor actor-box\" style=\"text-anchor: middle; font-size: 16px; font-weight: 400; font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif;\"><tspan x=\"75\" dy=\"0\">User</tspan></text></g></g><style>#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec{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-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .error-icon{fill:#a44141;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .error-text{fill:#ddd;stroke:#ddd;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .edge-thickness-normal{stroke-width:1px;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .edge-thickness-thick{stroke-width:3.5px;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .edge-pattern-solid{stroke-dasharray:0;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .edge-pattern-dashed{stroke-dasharray:3;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .edge-pattern-dotted{stroke-dasharray:2;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .marker{fill:lightgrey;stroke:lightgrey;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .marker.cross{stroke:lightgrey;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec p{margin:0;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .actor{stroke:#ccc;fill:#1f2020;stroke-width:1;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec rect.actor.outer-path[data-look=\"neo\"]{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec rect.note[data-look=\"neo\"]{stroke:hsl(180, 0%, 18.3529411765%);fill:hsl(180, 1.5873015873%, 28.3529411765%);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec text.actor&gt;tspan{fill:lightgrey;stroke:none;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .actor-line{stroke:#ccc;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .innerArc{stroke-width:1.5;stroke-dasharray:none;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:lightgrey;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:lightgrey;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec [id$=\"-arrowhead\"] path{fill:lightgrey;stroke:lightgrey;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .sequenceNumber{fill:black;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec [id$=\"-sequencenumber\"]{fill:lightgrey;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec [id$=\"-crosshead\"] path{fill:lightgrey;stroke:lightgrey;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .messageText{fill:lightgrey;stroke:none;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .labelBox{stroke:#ccc;fill:#1f2020;filter:none;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .labelText,#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .labelText&gt;tspan{fill:lightgrey;stroke:none;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .loopText,#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .loopText&gt;tspan{fill:lightgrey;stroke:none;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .sectionTitle,#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .sectionTitle&gt;tspan{fill:lightgrey;stroke:none;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:#ccc;fill:#ccc;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .note{stroke:hsl(180, 0%, 18.3529411765%);fill:hsl(180, 1.5873015873%, 28.3529411765%);}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .noteText,#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .noteText&gt;tspan{fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);stroke:none;font-weight:normal;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .activation0{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#ccc;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .activation1{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#ccc;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .activation2{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#ccc;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .actorPopupMenu{position:absolute;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .actorPopupMenuPanel{position:absolute;fill:#1f2020;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .actor-man circle,#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec line{fill:#1f2020;stroke-width:2px;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec g rect.rect{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));stroke:#ccc;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec .node .neo-node{stroke:#ccc;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec [data-look=\"neo\"].node rect,#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec [data-look=\"neo\"].cluster rect,#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec [data-look=\"neo\"].node polygon{stroke:url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec [data-look=\"neo\"].node path{stroke:url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-gradient);stroke-width:1px;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec [data-look=\"neo\"].node circle{stroke:url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g></g><defs><symbol id=\"diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-computer\" width=\"24\" height=\"24\"><path transform=\"scale(.5)\" d=\"M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z\"></path></symbol></defs><defs><symbol id=\"diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-database\" fill-rule=\"evenodd\" clip-rule=\"evenodd\"><path transform=\"scale(.5)\" d=\"M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z\"></path></symbol></defs><defs><symbol id=\"diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-clock\" width=\"24\" height=\"24\"><path transform=\"scale(.5)\" d=\"M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z\"></path></symbol></defs><defs><marker id=\"diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead\" refX=\"7.9\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M -1 0 L 10 5 L 0 10 z\"></path></marker></defs><defs><marker id=\"diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-crosshead\" markerWidth=\"15\" markerHeight=\"8\" orient=\"auto\" refX=\"4\" refY=\"4.5\"><path fill=\"none\" stroke=\"#000000\" stroke-width=\"1pt\" d=\"M 1,2 L 6,7 M 6,2 L 1,7\" style=\"stroke-dasharray: 0, 0;\"></path></marker></defs><defs><marker id=\"diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-filled-head\" refX=\"15.5\" refY=\"7\" markerWidth=\"20\" markerHeight=\"28\" orient=\"auto\"><path d=\"M 18,7 L9,13 L14,7 L9,1 Z\"></path></marker></defs><defs><marker id=\"diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-sequencenumber\" refX=\"15\" refY=\"15\" markerWidth=\"60\" markerHeight=\"40\" orient=\"auto\"><circle cx=\"15\" cy=\"15\" r=\"6\"></circle></marker></defs><defs><marker id=\"diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-solidTopArrowHead\" refX=\"7.9\" refY=\"7.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 8 L 0 8 z\"></path></marker></defs><defs><marker id=\"diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-solidBottomArrowHead\" refX=\"7.9\" refY=\"0.75\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 10 0 L 0 8 z\"></path></marker></defs><defs><marker id=\"diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-stickTopArrowHead\" refX=\"7.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 0 L 7 7\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"></path></marker></defs><defs><marker id=\"diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-stickBottomArrowHead\" refX=\"7.5\" refY=\"0\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto-start-reverse\"><path d=\"M 0 7 L 7 0\" stroke=\"black\" stroke-width=\"1.5\" fill=\"none\"></path></marker></defs><g data-et=\"note\" data-id=\"i3\"><rect x=\"250\" y=\"211\" fill=\"#EDF2AE\" stroke=\"#666\" width=\"693\" height=\"38\" class=\"note\"></rect><text x=\"597\" y=\"216\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"noteText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\"><tspan x=\"597\">Journey runs...</tspan></text></g><text x=\"174\" y=\"80\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Verify my identity</text><line x1=\"76\" y1=\"111\" x2=\"271\" y2=\"111\" class=\"messageLine1\" data-et=\"message\" data-id=\"i0\" data-from=\"User\" data-to=\"App\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"394\" y=\"126\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Init SDK</text><line x1=\"276\" y1=\"155\" x2=\"512\" y2=\"155\" class=\"messageLine0\" data-et=\"message\" data-id=\"i1\" data-from=\"App\" data-to=\"IDO\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"fill: none;\"></line><text x=\"394\" y=\"170\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Start journey</text><line x1=\"276\" y1=\"201\" x2=\"512\" y2=\"201\" class=\"messageLine0\" data-et=\"message\" data-id=\"i2\" data-from=\"App\" data-to=\"IDO\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"fill: none;\"></line><text x=\"397\" y=\"264\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Document Acquisition</text><line x1=\"515\" y1=\"295\" x2=\"279\" y2=\"295\" class=\"messageLine1\" data-et=\"message\" data-id=\"i4\" data-from=\"IDO\" data-to=\"App\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"495\" y=\"310\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Capture document</text><line x1=\"276\" y1=\"341\" x2=\"714\" y2=\"341\" class=\"messageLine0\" data-et=\"message\" data-id=\"i5\" data-from=\"App\" data-to=\"IDV\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"fill: none;\"></line><text x=\"398\" y=\"356\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Mosaic UI</text><line x1=\"717\" y1=\"385\" x2=\"79\" y2=\"385\" class=\"messageLine1\" data-et=\"message\" data-id=\"i6\" data-from=\"IDV\" data-to=\"User\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"395\" y=\"400\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Document image</text><line x1=\"76\" y1=\"431\" x2=\"714\" y2=\"431\" class=\"messageLine1\" data-et=\"message\" data-id=\"i7\" data-from=\"User\" data-to=\"IDV\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"498\" y=\"446\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Complete</text><line x1=\"717\" y1=\"477\" x2=\"279\" y2=\"477\" class=\"messageLine1\" data-et=\"message\" data-id=\"i8\" data-from=\"IDV\" data-to=\"App\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"394\" y=\"492\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Complete</text><line x1=\"276\" y1=\"523\" x2=\"512\" y2=\"523\" class=\"messageLine0\" data-et=\"message\" data-id=\"i9\" data-from=\"App\" data-to=\"IDO\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"fill: none;\"></line><text x=\"397\" y=\"538\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Selfie Acquisition</text><line x1=\"515\" y1=\"569\" x2=\"279\" y2=\"569\" class=\"messageLine1\" data-et=\"message\" data-id=\"i10\" data-from=\"IDO\" data-to=\"App\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"495\" y=\"584\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Capture selfie</text><line x1=\"276\" y1=\"615\" x2=\"714\" y2=\"615\" class=\"messageLine0\" data-et=\"message\" data-id=\"i11\" data-from=\"App\" data-to=\"IDV\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"fill: none;\"></line><text x=\"398\" y=\"630\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Mosaic UI</text><line x1=\"717\" y1=\"659\" x2=\"79\" y2=\"659\" class=\"messageLine1\" data-et=\"message\" data-id=\"i12\" data-from=\"IDV\" data-to=\"User\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"395\" y=\"674\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Selfie</text><line x1=\"76\" y1=\"703\" x2=\"714\" y2=\"703\" class=\"messageLine1\" data-et=\"message\" data-id=\"i13\" data-from=\"User\" data-to=\"IDV\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"498\" y=\"718\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Complete</text><line x1=\"717\" y1=\"749\" x2=\"279\" y2=\"749\" class=\"messageLine1\" data-et=\"message\" data-id=\"i14\" data-from=\"IDV\" data-to=\"App\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"394\" y=\"764\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Complete</text><line x1=\"276\" y1=\"795\" x2=\"512\" y2=\"795\" class=\"messageLine0\" data-et=\"message\" data-id=\"i15\" data-from=\"App\" data-to=\"IDO\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"fill: none;\"></line><text x=\"397\" y=\"810\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">IDV Recommendation</text><line x1=\"515\" y1=\"839\" x2=\"279\" y2=\"839\" class=\"messageLine1\" data-et=\"message\" data-id=\"i16\" data-from=\"IDO\" data-to=\"App\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"394\" y=\"854\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">submitClientResponse()</text><line x1=\"276\" y1=\"885\" x2=\"512\" y2=\"885\" class=\"messageLine0\" data-et=\"message\" data-id=\"i17\" data-from=\"App\" data-to=\"IDO\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"fill: none;\"></line><text x=\"716\" y=\"900\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Get IDV recommendation</text><line x1=\"517\" y1=\"929\" x2=\"914\" y2=\"929\" class=\"messageLine1\" data-et=\"message\" data-id=\"i18\" data-from=\"IDO\" data-to=\"M\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"919\" y=\"944\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Check recommendation</text><path d=\"M 919,973 C 979,963 979,1003 919,993\" class=\"messageLine1\" data-et=\"message\" data-id=\"i19\" data-from=\"M\" data-to=\"M\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></path><text x=\"719\" y=\"1018\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Check result (yes/no)</text><line x1=\"917\" y1=\"1049\" x2=\"520\" y2=\"1049\" class=\"messageLine1\" data-et=\"message\" data-id=\"i20\" data-from=\"M\" data-to=\"IDO\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"397\" y=\"1064\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Journey complete</text><line x1=\"515\" y1=\"1095\" x2=\"279\" y2=\"1095\" class=\"messageLine1\" data-et=\"message\" data-id=\"i21\" data-from=\"IDO\" data-to=\"App\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line><text x=\"177\" y=\"1110\" text-anchor=\"middle\" dominant-baseline=\"middle\" alignment-baseline=\"middle\" class=\"messageText\" dy=\"1em\" style=\"font-family: &quot;Redocly Mermaid Sans&quot;, Arial, &quot;Liberation Sans&quot;, Arimo, Helvetica, &quot;Redocly Mermaid CJK&quot;, sans-serif; font-size: 16px; font-weight: 400;\">Result</text><line x1=\"274\" y1=\"1139\" x2=\"79\" y2=\"1139\" class=\"messageLine1\" data-et=\"message\" data-id=\"i22\" data-from=\"App\" data-to=\"User\" stroke-width=\"2\" stroke=\"none\" marker-end=\"url(#diagram-6d96490e9cf8292fab8bb5ec5b26893e1e96772ef8e7c95d7ed6642a557ecdec-arrowhead)\" style=\"stroke-dasharray: 3, 3; fill: none;\"></line></svg>"},"children":["sequenceDiagram\n    participant User\n    participant App as Client\n    participant IDO as Orchestration SDK\n    participant IDV as IDV SDK\n    participant M as Mosaic\n\n    User-->>App: Verify my identity\n    App->>IDO: Init SDK\n    App->>IDO: Start journey\n    note over App, M: Journey runs...\n    IDO-->>App: Document Acquisition\n    App->>IDV: Capture document\n    IDV-->>User: Mosaic UI\n    User-->>IDV: Document image\n    IDV-->>App: Complete\n    App->>IDO: Complete\n    IDO-->>App: Selfie Acquisition\n    App->>IDV: Capture selfie\n    IDV-->>User: Mosaic UI\n    User-->>IDV: Selfie\n    IDV-->>App: Complete\n    App->>IDO: Complete\n    IDO-->>App: IDV Recommendation\n    App->>IDO: submitClientResponse()\n    IDO-->>M: Get IDV recommendation\n    M-->>M: Check recommendation\n    M-->>IDO: Check result (yes/no)\n    IDO-->>App: Journey complete\n    App-->>User: Result\n"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"requirements","__idx":2},"children":["Requirements"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["iOS:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["iOS 13+"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Xcode 11+"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Orchestration SDK 1.2.3 or later"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Identity Verification SDK 1.3.5 or later"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Android:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Android 5+ (API level 21+)"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Orchestration SDK 1.0.34 or later"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Identity Verification SDK 1.3.5 or later"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Web"]},":"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["SDK 2.4.0 or later"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"before-you-start","__idx":3},"children":["Before you start"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"badge-wrapper"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"className":"badge"},"children":["Admin Portal"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If this is your first time integrating with Mosaic, create an application in the Admin Portal as described ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/user/create_new_application"},"children":["here"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-1-build-journeys","__idx":4},"children":["Step 1: Build journeys"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"badge-wrapper"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"className":"badge"},"children":["Admin Portal"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the Admin Portal, go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["B2C Identity"]}," or ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["B2B Identity"]}," based on your setup, and open the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Journeys"]}," section. Create a journey that collects the user's document and selfie and obtains a verification recommendation, and branches based on the result. It can include the following actions:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/document_acquisition"},"children":["Document Acquisition"]}," step: captures a document image from the user."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/selfie_acquisition"},"children":["Selfie Acquisition"]}," step: captures a selfie image from the user."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/idv_recommendation"},"children":["Platform IDV Recommendation"]}," step: obtains an identity verification recommendation based on the collected document and selfie."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/condition"},"children":["Condition"]}," step: checks the recommendation using a condition expression, for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["idv_recommendation.recommendation == 'ALLOW'"]},". If ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["true"]},", the journey completes successfully (",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/complete_journey"},"children":["Complete journey"]}," step). If ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]},", the journey rejects access (",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/reject_access"},"children":["Reject access"]}," step)."]}]},{"$$mdtype":"Tag","name":"figure","attributes":{"style":{"margin":"0"}},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/assets/idv_journey.6cb6050025253c748c11919b4f61b01b0a5ca0a0f67bfd4825857c6f48f49dac.6ece8e6a.png","target":"_blank"},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/idv_journey.6cb6050025253c748c11919b4f61b01b0a5ca0a0f67bfd4825857c6f48f49dac.6ece8e6a.png","alt":"Identity Verification journey","style":{"maxWidth":"100%"}},"children":[]}]},{"$$mdtype":"Tag","name":"figcaption","attributes":{"style":{"color":"grey","fontStyle":"italic","fontSize":"14px"}},"children":["\n    Click to open the image in a dedicated tab.\n  "]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Alternative flow"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["As an alternative to running capture on desktop, you can start the journey there and use ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/create_cross-session_message"},"children":["cross-session messages"]}," to hand off the verification process from a desktop session to a mobile device."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-2-add-sdks","__idx":5},"children":["Step 2: Add SDKs"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"badge-wrapper"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"className":"badge"},"children":["client"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To run this flow, your integration needs both the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Orchestration SDK"]}," and ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Identity Verification SDK"]},"."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Important"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Make sure to initialize all SDKs within the context of the same client ID and the same region."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["For Web, see instructions here:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Adding to project/loading: ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/sdk-ref/idosdk/overview#installation"},"children":["Orchestration"]}," module, ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/sdk-ref/idvsdk/overview#installation"},"children":["Identity Verification"]}," module"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Initializing: ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/sdk-ref/idosdk/overview#initialization"},"children":["Orchestration"]}," module, ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/sdk-ref/idvsdk/overview#initialization"},"children":["Identity Verification"]}," module"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["For Android, see instructions here:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Adding to project/loading: ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/sdk-ref/mobile/android/orchestration_overview#installation"},"children":["Orchestration SDK"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/sdk-ref/mobile/android/identity_verification_overview#installation"},"children":["Identity Verification SDK"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Initializing: ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/sdk-ref/mobile/android/orchestration_overview#initialization"},"children":["Orchestration SDK"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/sdk-ref/mobile/android/identity_verification_overview#initialization"},"children":["Identity Verification SDK"]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["For iOS, see instructions here:"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Adding to project/loading: ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/sdk-ref/mobile/ios/orchestration_overview#installation"},"children":["Orchestration SDK"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/sdk-ref/mobile/ios/identity_verification_overview#installation"},"children":["Identity Verification SDK"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Initializing: ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/sdk-ref/mobile/ios/orchestration_overview#initialization"},"children":["Orchestration SDK"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/sdk-ref/mobile/ios/identity_verification_overview#initialization"},"children":["Identity Verification SDK"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-3-implement-journey-logic","__idx":6},"children":["Step 3: Implement journey logic"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"badge-wrapper"},"children":[{"$$mdtype":"Tag","name":"div","attributes":{"className":"badge"},"children":["client"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Implement the client-side code needed to execute the journey on the user's device."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In a nutshell, you have to implement:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Starting the journey"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Handling document and selfie acquisition"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Polling for the IDV recommendation"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/condition"},"children":["Condition"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/complete_journey"},"children":["Complete journey"]},", and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/reject_access"},"children":["Reject access"]}," are executed by Mosaic and don't require any client-side code."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Implementation tips"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["On mobile, register an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ITSUIHandler"]}," after you initialize the Orchestration SDK and before you start the journey. The SDK intercepts Document Acquisition and Selfie Acquisition, so you don't handle those ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["journeyStepId"]}," values in your journey switch. You still handle Platform IDV Recommendation in the switch: keep calling ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["submitClientResponse()"]}," until the next step arrives."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["On web, implement a switch (or other routing mechanism) that invokes a handler for each journey step (returned in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["idoServiceResponse.journeyStepId"]},"). Each handler processes data, displays whatever UI is needed, and calls ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["submitClientResponse()"]}," when the interaction is concluded."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The journey loops back to the switch unless Mosaic signals journey completion by setting the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["journeyStepId"]}," property to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Rejection.type"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Success.type"]},". The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["idoServiceResponse.token"]}," property contains a JWT token as a proof of journey completion."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For more guidance, see the Orchestration SDK quickstarts for ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/getting-started/quick_start_web"},"children":["Web"]},", ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/getting-started/quick_start_android"},"children":["Android"]},", or ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/getting-started/quick_start_ios"},"children":["iOS"]},", as well as the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/document_acquisition"},"children":["Document Acquisition"]}," and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/selfie_acquisition"},"children":["Selfie Acquisition"]}," step guides."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"1-starting-the-journey","__idx":7},"children":["1. Starting the journey"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Implement a handler that starts the journey by replacing ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["YOUR_JOURNEY_ID"]}," with the journey ID you created in ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#step-1-build-journeys"},"children":["Step 1"]},". On mobile, register the UI handler before you call ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["startJourney()"]},"."]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"JavaScript","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"js","header":{"controls":{"copy":{}}},"source":"const idoResponse = await ido.startJourney('YOUR_JOURNEY_ID');\n","lang":"js"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Kotlin","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"kotlin","header":{"controls":{"copy":{}}},"source":"TSIdo.startJourney(\"YOUR_JOURNEY_ID\", startJourneyOptions, callback)\n","lang":"kotlin"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Swift","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"do {\n    try TSIdo.startJourney(journeyId: \"YOUR_JOURNEY_ID\")\n} catch {\n    debugPrint(\"[DEBUG] Failed to start journey: \\(error)\")\n}\n","lang":"swift"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"2-handle-document-and-selfie-acquisition","__idx":8},"children":["2. Handle document and selfie acquisition"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Implement image collection and submission for verification:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#mobile-apps"},"children":["Mobile apps"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#web-apps"},"children":["Web apps"]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Important"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Mosaic checks camera permissions on the client but doesn't grant them. Make sure camera access is already in place before capture starts."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"mobile-apps","__idx":9},"children":["Mobile apps"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Register an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ITSUIHandler"]}," after you initialize the Orchestration SDK and before you start the journey. The SDK intercepts Document Acquisition and Selfie Acquisition, runs capture, and submits the result. You don't start the Identity Verification SDK yourself."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Implement ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onBefore"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["onAfter"]}," to present your own UI around the SDK capture screens (e.g., introduction screen, consent screen), then call ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["proceed()"]}," to continue."]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Kotlin","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"kotlin","header":{"controls":{"copy":{}}},"source":"// Hook into document and selfie acquisition steps.\nclass MyUIHandler(private val activity: FragmentActivity) : ITSUIHandler {\n\n    override fun provideDocumentAcquisitionHandler(): TSIDVStepHandler = TSIDVStepHandler().apply {\n        onBefore = { context ->\n            // Show your own UI before the SDK document capture starts, then continue.\n            context.proceed()\n        }\n        onAfter = { context ->\n            // Show your own UI after document acquisition completes, then continue.\n            context.proceed()\n        }\n    }\n\n    override fun provideSelfieAcquisitionHandler(): TSIDVStepHandler = TSIDVStepHandler().apply {\n        onBefore = { context ->\n            // Show your own UI before the SDK selfie capture starts, then continue.\n            context.proceed()\n        }\n        onAfter = { context ->\n            // Show your own UI after selfie acquisition completes, then continue.\n            context.proceed()\n        }\n    }\n}\n\n// Register after TSIdo.initializeSDK(...) and before TSIdo.startJourney(...).\nTSIdo.setUIHandler(MyUIHandler(activity))\n\nTSIdo.startJourney(\"YOUR_JOURNEY_ID\", startJourneyOptions, callback)\n","lang":"kotlin"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Swift","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"// Hook into document and selfie acquisition steps.\nstruct MyUIHandler: ITSUIHandler {\n\n    func provideDocumentAcquisitionHandler() -> TSIDVStepHandler {\n        let handler = TSIDVStepHandler()\n        handler.onBefore = { context in\n            // Show your own UI before the SDK document capture starts, then continue.\n            try? context.proceed()\n        }\n        handler.onAfter = { context in\n            // Show your own UI after document acquisition completes, then continue.\n            try? context.proceed()\n        }\n        return handler\n    }\n\n    func provideSelfieAcquisitionHandler() -> TSIDVStepHandler {\n        let handler = TSIDVStepHandler()\n        handler.onBefore = { context in\n            // Show your own UI before the SDK selfie capture starts, then continue.\n            try? context.proceed()\n        }\n        handler.onAfter = { context in\n            // Show your own UI after selfie acquisition completes, then continue.\n            try? context.proceed()\n        }\n        return handler\n    }\n}\n\n// Register after TSIdo.initialize(...) and before TSIdo.startJourney(...).\ntry TSIdo.setUIHandler(MyUIHandler())\n\ntry TSIdo.startJourney(journeyId: \"YOUR_JOURNEY_ID\")\n","lang":"swift"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":4,"id":"web-apps","__idx":10},"children":["Web apps"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When the journey reaches Document Acquisition (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transmit_platform_document_acquisition"]},") or Selfie Acquisition (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transmit_platform_selfie_acquisition"]},"), the response data includes:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["acquisition_id"]}," (required): ID used to start capture"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["start_token"]}," (optional): used to start an Identity Verification session if one isn't already active"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["start_token"]}," is present, start the Identity Verification session, then call ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["captureDocument()"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["captureSelfie()"]}," with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["acquisition_id"]},". After capture completes, submit an empty client response. Handle capture errors in the app (for example, inform the user or retry)."]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"JavaScript","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"js","header":{"controls":{"copy":{}}},"source":"async function handleDocumentAcquisition(idoResponse) {\n  const startToken = idoResponse.data?.start_token;\n  const acquisitionId = idoResponse.data?.acquisition_id;\n\n  // Start an Identity Verification session when the journey provides a start token\n  if (startToken !== undefined) {\n    await idv.start(startToken);\n  }\n\n  await idv.captureDocument({ acquisitionId });\n\n  // After acquiring the document, the client response does not need to include any data\n  // If SDK was loaded via script tag, invoke functions inside 'window.tsPlatform'\n  return ido.submitClientResponse(ClientResponseOptionType.ClientInput);\n}\n\nasync function handleSelfieAcquisition(idoResponse) {\n  const startToken = idoResponse.data?.start_token;\n  const acquisitionId = idoResponse.data?.acquisition_id;\n\n  if (startToken !== undefined) {\n    await idv.start(startToken);\n  }\n\n  await idv.captureSelfie({ acquisitionId });\n\n  return ido.submitClientResponse(ClientResponseOptionType.ClientInput);\n}\n","lang":"js"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"3-handle-idv-recommendation","__idx":11},"children":["3. Handle IDV recommendation"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/idv_recommendation"},"children":["Platform IDV Recommendation"]}," is client-facing (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transmit_platform_idv_recommendation"]},") on web and mobile. Processing runs asynchronously on the backend. Keep calling ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["submitClientResponse()"]}," with an empty client response until the journey proceeds to the next step or returns an error. Show a loader while processing runs. Mosaic recommends polling about once per second."]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"JavaScript","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"js","header":{"controls":{"copy":{}}},"source":"async function handleIdvRecommendation() {\n  let idoResponse;\n\n  do {\n    await new Promise((resolve) => setTimeout(resolve, 1000));\n    // If SDK was loaded via script tag, invoke functions inside 'window.tsPlatform'\n    idoResponse = await ido.submitClientResponse(ClientResponseOptionType.ClientInput);\n  } while (idoResponse.journeyStepId === IdoJourneyActionType.WaitForIdvRecommendations);\n\n  return handleJourneyResponse(idoResponse);\n}\n","lang":"js"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Kotlin","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"kotlin","header":{"controls":{"copy":{}}},"source":"private fun processServiceResponse(idoResponse: TSIdoServiceResponse) {\n    when (idoResponse.journeyStepId) {\n        TSIdoJourneyActionType.IdvRecommendation.type -> handleIdvRecommendation()\n    }\n}\n\nprivate fun handleIdvRecommendation() {\n    // Submit an empty response. If Mosaic is still processing, the callback\n    // returns this step again—keep calling until the next step arrives.\n    TSIdo.submitClientResponse(TSIdoClientResponseOptionType.ClientInput.type, null, callback)\n}\n","lang":"kotlin"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Swift","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"swift","header":{"controls":{"copy":{}}},"source":"func handleJourneyResponse(_ response: TSIdoServiceResponse) {\n    switch response.journeyStepId {\n    case .waitForIdvRecommendations:\n        handleIdvRecommendation()\n    default:\n        break\n    }\n}\n\nfunc handleIdvRecommendation() {\n    do {\n        // Submit an empty response. If Mosaic is still processing, the delegate\n        // receives this step again—keep calling until the next step arrives.\n        try TSIdo.submitClientResponse(clientResponseOptionId: .clientInput)\n    } catch {\n        debugPrint(\"[DEBUG] Failed to submit IDV recommendation poll: \\(error)\")\n    }\n}\n","lang":"swift"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"next-steps","__idx":12},"children":["Next steps"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Implement fallback logic for cases where document capture fails."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use the verification result data (stored in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["idv_recommendation"]}," output variable) to enrich user profiles with verified personal information."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Instead of running capture on desktop, start the journey there and use ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/guides/orchestration/journeys/create_cross-session_message"},"children":["cross-session messages"]}," to hand off verification to a mobile device."]}]}]},"headings":[{"value":"Identity Verification with journeys","id":"identity-verification-with-journeys","depth":1},{"value":"How it works","id":"how-it-works","depth":2},{"value":"Requirements","id":"requirements","depth":2},{"value":"Before you start","id":"before-you-start","depth":2},{"value":"Step 1: Build journeys","id":"step-1-build-journeys","depth":2},{"value":"Step 2: Add SDKs","id":"step-2-add-sdks","depth":2},{"value":"Step 3: Implement journey logic","id":"step-3-implement-journey-logic","depth":2},{"value":"1. Starting the journey","id":"1-starting-the-journey","depth":3},{"value":"2. Handle document and selfie acquisition","id":"2-handle-document-and-selfie-acquisition","depth":3},{"value":"Mobile apps","id":"mobile-apps","depth":4},{"value":"Web apps","id":"web-apps","depth":4},{"value":"3. Handle IDV recommendation","id":"3-handle-idv-recommendation","depth":3},{"value":"Next steps","id":"next-steps","depth":2}],"frontmatter":{"markdown":{"toc":{"depth":3}},"seo":{"title":"Identity Verification with journeys"}},"lastModified":"2026-10-04T13:21:59.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/guides/verify/quick_start_journeys","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}