モバイルクライアントは、エッジ層を通じてバックエンドに到達します。まずCDNとWebアプリケーションファイアウォール、次にAPIゲートウェイがあり、ゲートウェイはTLSを終端し、トークンを検証し、端末単位・ユーザー単位のレート制限を適用し、リクエストをルーティングします。ゲートウェイの背後では、BFFがKubernetesまたはサーバーレス基盤上で動くドメインサービスへの呼び出しを集約し、画面に合わせて整形した1つのレスポンスを返します。これにより、呼び出し回数の多いオーケストレーションは、1回の呼び出しが1ミリ秒で済むデータセンター内にとどまり、数百ミリ秒かかるモバイルネットワーク上には出てきません。
アイデンティティはOpenID Connectを通じて流れます。アプリケーションはシステムブラウザを開き、PKCE付きの認可コードフローを完了して、有効期間の短いアクセストークンとローテーションされるリフレッシュトークンを受け取り、KeychainまたはKeystoreに保管します。ゲートウェイはトークンの署名を検証し、検証済みのクレームを下流に渡します。各サービスは、そのクレームに照らしてリクエストごとに認可を行います。App AttestやPlay Integrityによるアテステーションは、呼び出し元が改変されていない正規のビルドであることを示すシグナルとして追加できます。高リスクの操作には有用ですが、サーバー側の認可の代わりには決してなりません。
サーバー側で発生した状態変化は、3つの経路で端末に届きます。APNsとFCMによるプッシュ通知は、アプリケーションを起こすかユーザーに知らせ、データの取得を促します。WebSocketまたはServer-Sent Eventsの接続は、アプリケーションがフォアグラウンドにある間にライブ更新を運び、OSの制限に従ってバックグラウンドでは切断します。起動時と復帰時の差分同期がすべての欠落を埋めるため、プッシュ通知が届くかどうかに正しさが依存することはありません。サーバー側では、これらは他のコンシューマーを駆動するのと同じイベントストリームから供給され、通知サービスがイベントをデバイストークンへファンアウトします。