[{"data":1,"prerenderedAt":227},["ShallowReactive",2],{"merchant-context":3,"docs-navigation":4,"docs-page-\u002Fdocs\u002Fgetting-started\u002Farchitecture":132,"docs-surround-\u002Fdocs\u002Fgetting-started\u002Farchitecture":224},null,[5],{"title":6,"path":7,"stem":8,"children":9,"page":36},"Docs","\u002Fdocs","docs",[10,37,58,89,110],{"title":11,"icon":12,"path":13,"stem":14,"children":15,"page":36},"入門指南","i-lucide-compass","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[16,21,26,31],{"title":17,"path":18,"stem":19,"icon":20},"總覽","\u002Fdocs\u002Fgetting-started\u002Foverview","docs\u002F1.getting-started\u002F1.overview","i-lucide-map",{"title":22,"path":23,"stem":24,"icon":25},"快速開始","\u002Fdocs\u002Fgetting-started\u002Fquickstart","docs\u002F1.getting-started\u002F2.quickstart","i-lucide-rocket",{"title":27,"path":28,"stem":29,"icon":30},"架構","\u002Fdocs\u002Fgetting-started\u002Farchitecture","docs\u002F1.getting-started\u002F3.architecture","i-lucide-network",{"title":32,"path":33,"stem":34,"icon":35},"Early Access Core","\u002Fdocs\u002Fgetting-started\u002Fearly-access-core","docs\u002F1.getting-started\u002F4.early-access-core","i-lucide-box",false,{"title":38,"icon":39,"path":40,"stem":41,"children":42,"page":36},"Partner Auth","i-lucide-shield","\u002Fdocs\u002Fpartner-auth","docs\u002F2.partner-auth",[43,48,53],{"title":44,"path":45,"stem":46,"icon":47},"授權流程","\u002Fdocs\u002Fpartner-auth\u002Fauthorization-flow","docs\u002F2.partner-auth\u002F1.authorization-flow","i-lucide-route",{"title":49,"path":50,"stem":51,"icon":52},"Scopes","\u002Fdocs\u002Fpartner-auth\u002Fscopes","docs\u002F2.partner-auth\u002F2.scopes","i-lucide-list-checks",{"title":54,"path":55,"stem":56,"icon":57},"Token 交換","\u002Fdocs\u002Fpartner-auth\u002Ftoken-exchange","docs\u002F2.partner-auth\u002F3.token-exchange","i-lucide-repeat-2",{"title":59,"icon":60,"path":61,"stem":62,"children":63,"page":36},"API 參考","i-lucide-braces","\u002Fdocs\u002Fapi-reference","docs\u002F3.api-reference",[64,69,74,79,84],{"title":65,"path":66,"stem":67,"icon":68},"授權預覽","\u002Fdocs\u002Fapi-reference\u002Fpreview","docs\u002F3.api-reference\u002F0.preview","i-lucide-scan-eye",{"title":70,"path":71,"stem":72,"icon":73},"授權","\u002Fdocs\u002Fapi-reference\u002Fauthorize","docs\u002F3.api-reference\u002F1.authorize","i-lucide-key-square",{"title":75,"path":76,"stem":77,"icon":78},"Token","\u002Fdocs\u002Fapi-reference\u002Ftoken","docs\u002F3.api-reference\u002F2.token","i-lucide-key-round",{"title":80,"path":81,"stem":82,"icon":83},"使用者 profile","\u002Fdocs\u002Fapi-reference\u002Fuser-profile","docs\u002F3.api-reference\u002F3.user-profile","i-lucide-user-round",{"title":85,"path":86,"stem":87,"icon":88},"KYC 申請","\u002Fdocs\u002Fapi-reference\u002Fkyc-application","docs\u002F3.api-reference\u002F4.kyc-application","i-lucide-scan-text",{"title":90,"icon":91,"path":92,"stem":93,"children":94,"page":36},"營運指引","i-lucide-settings","\u002Fdocs\u002Foperations","docs\u002F4.operations",[95,100,105],{"title":96,"path":97,"stem":98,"icon":99},"錯誤處理","\u002Fdocs\u002Foperations\u002Ferrors","docs\u002F4.operations\u002F1.errors","i-lucide-circle-alert",{"title":101,"path":102,"stem":103,"icon":104},"安全","\u002Fdocs\u002Foperations\u002Fsecurity","docs\u002F4.operations\u002F2.security","i-lucide-shield-check",{"title":106,"path":107,"stem":108,"icon":109},"版本管理","\u002Fdocs\u002Foperations\u002Fversioning","docs\u002F4.operations\u002F3.versioning","i-lucide-git-branch",{"title":111,"icon":112,"path":113,"stem":114,"children":115,"page":36},"網站身分驗證","i-lucide-scan-face","\u002Fdocs\u002Fhosted-web","docs\u002F5.hosted-web",[116,120,124,128],{"title":117,"path":118,"stem":119},"網站快速串接","\u002Fdocs\u002Fhosted-web\u002Fquickstart","docs\u002F5.hosted-web\u002F1.quickstart",{"title":121,"path":122,"stem":123},"狀態、回呼與通知","\u002Fdocs\u002Fhosted-web\u002Fresults-and-webhooks","docs\u002F5.hosted-web\u002F2.results-and-webhooks",{"title":125,"path":126,"stem":127},"登入位置紀錄","\u002Fdocs\u002Fhosted-web\u002Flogin-location","docs\u002F5.hosted-web\u002F3.login-location",{"title":129,"path":130,"stem":131},"沙盒與驗收","\u002Fdocs\u002Fhosted-web\u002Fsandbox-and-errors","docs\u002F5.hosted-web\u002F4.sandbox-and-errors",{"id":133,"title":27,"body":134,"description":218,"extension":219,"meta":220,"navigation":221,"path":28,"seo":222,"stem":29,"__hash__":223},"docs\u002Fdocs\u002F1.getting-started\u002F3.architecture.md",{"type":135,"value":136,"toc":211},"minimark",[137,141,185,188,196,199,202,208],[138,139,140],"h2",{"id":140},"資料流",[142,143,144,157,160,163,166,175,182],"ol",{},[145,146,147,148,152,153,156],"li",{},"第三方 App 產生不可預測的 ",[149,150,151],"code",{},"state"," 並開啟 ",[149,154,155],{},"ekyc:\u002F\u002Fauthorize","。",[145,158,159],{},"eKYC App 驗證會員身份，並向平台請求可信任的 Partner Auth preview。",[145,161,162],{},"App 顯示 Application、Merchant、環境、最新 Eligibility 與所請求的 scopes。",[145,164,165],{},"Laravel 記錄 consent，並建立有效期 5 分鐘、單次使用的 authorization code。",[145,167,168,169,171,172,174],{},"eKYC App 只把 ",[149,170,149],{}," 與 ",[149,173,151],{}," 回傳到 allowlist 中的 callback。",[145,176,177,178,181],{},"Application 後端以 ",[149,179,180],{},"client_secret"," 交換 code。",[145,183,184],{},"後端使用有效期 1 小時的 Bearer token 呼叫授權範圍內的身份 API。",[138,186,187],{"id":187},"商業與決策流",[189,190,191,192,195],"p",{},"可信任的 ownership 鏈為 ",[149,193,194],{},"Organization → Merchant → Partner Client","。KYC application、Device enrollment、Risk Signal 與 Eligibility decision 都保留 Merchant context。Partner 讀取一律採用 Client 所屬 Merchant 的視角，不接受串接方任意指定的 merchant identifier。",[189,197,198],{},"Production 環境的 KYC 核准、授權範圍內的 Partner identity／KYC／risk 讀取、正式 Eligibility decision，以及有效的 merchant-scoped Device heartbeat 或定位狀態，都會建立 append-only 的 Usage Event 紀錄。平台會依 verified identity、Organization 與 Asia\u002FTaipei 曆月去重成一位每月有效會員。",[138,200,201],{"id":201},"信任邊界",[189,203,204,205,207],{},"行動端或瀏覽器端永遠不會拿到 partner ",[149,206,180],{},"。Callback 永遠不包含結構化 OCR 資料、證件影像、自拍影像、media path 或 partner access token。",[189,209,210],{},"Laravel 仍是身份、狀態、consent、存取控制與稽核的唯一權威。內部 ML service 只負責推論，不是對外的串接介面。",{"title":212,"searchDepth":213,"depth":213,"links":214},"",2,[215,216,217],{"id":140,"depth":213,"text":140},{"id":187,"depth":213,"text":187},{"id":201,"depth":213,"text":201},"理解行動端 callback 與 server-to-server 的資料路徑。","md",{},{"icon":30},{"title":27,"description":218},"Xnvpwff22Oa9brJEbQXM6PHXLb21hGSFUX7HLa56HlE",[225,226],{"title":22,"path":23,"stem":24,"icon":25,"children":-1},{"title":32,"path":33,"stem":34,"icon":35,"children":-1},1793286051042]