jakloan

リテールバンキングの再定義:Bank DKIのエンタープライズ向けモバイル融資エコシステム「JakLoan」の構築プロセス
現代のあらゆる銀行は、レガシーシステムが信頼できる馬車馬から業務上のボトルネックへと移行する決定的な瞬間に直面します。地域の大手金融機関であるBank DKIにとって、その瞬間は融資組成部門に訪れました。かつては、小規模ビジネスのオーナーがマイクロローンを求めたり、公務員が多目的資金調達を申請したりする際、ペーパーレスとは程遠い、紙ベースの煩雑な手続きが必要でした。信用の担当者は、現地監査、地域オフィス、そして物理的なファイルキャビネットの間を何日もかけて行き来していました。申請者の書類回収、信用情報機関への手動での照会、紙ベースのリスク評価書の起案により、処理時間は日常的に数日から数週間に及んでいました。
プロダクトおよびエンジニアリングチームとして、私たちはBank DKIのエンドツーエンドの融資組成および与信審査のライフサイクルを完全にデジタル化・自動化するという、極めて重大な任務を任されました。私たちの取り組みの成果が「JakLoan」です。これは、銀行の手動ワークフローを非常に効率的でモバイルファーストな体験へと変革した、エンタープライズ向けのネイティブAndroidアプリケーションスイートです。
さまざまな融資市場に対応するため、プラットフォームを2つの独立したアプリケーションに分割しました。1つはマイクロ(Mikro)およびシャリア準拠(Syariah)の資金調達をサポートするマルチプロダクト対応コアアプリケーション、もう1つは給与振込顧客や公務員を対象とした多目的融資(Kredit Multiguna - KMG)専用に構築された、特化型かつ合理的なアプリです。これは、私たちがこの変革をどのように設計、設計構築し、そして提供したかというストーリーです。
課題:プライバシー、レガシーの摩擦、そしてオフラインという現実
主要なペルソナである「現場の担当者(Account Officer)」のユーザージャーニーのマッピングを開始したとき、一般的な消費者向けのバンキングアプリを構築するだけでは不十分であることにすぐに気づきました。彼らは、インターネット接続が非常に不安定な活気ある伝統的市場、人里離れた建設現場、地方自治体のオフィスなどで日々を過ごしていました。それにもかかわらず、極めて機微な個人特定情報(PII)の取得、公的な身分証明書の読み取り、事業所住所の確認、複雑な財務計算をその場で行う必要があったのです。
直面した主な課題は3つありました。第一に、万全のセキュリティと規制への準拠を確保することです。私たちは、Dukcapilからの機密データや、インドネシア信用情報機関(SLIK OJK)の財務履歴を扱っていました。ローカルでのデータ漏洩は致命的となるため、ストレージと送信プロトコルを極めて安全にする必要がありました。
第二に、オフラインでの摩擦を克服することです。人里離れた市場の屋台に立つ担当者は、ネットワーク接続が切れたという理由だけで融資申請のドラフトをすべて失うわけにはいきません。アプリケーションは「オフラインファースト」のパラダイムで動作し、複雑なフォームの状態、ジオタグ、高解像度のアップロード写真をローカルに保存し、接続が再確立されたときにシームレスに同期する必要がありました。
最後に、ビジネスロジックの複雑さを管理することです。プラットフォームは、物理的な担保評価を必要とする従来のマイクロローン、特別な利益マージン計算や契約選択を伴うシャリア準拠の資金調達、そして政府の雇用主データベースとの統合が必要な合理化された給与ローンをサポートする必要がありました。これらの異なるワークフローを単一のコードベースで管理すると、メンテナンス不可能なシステムになってしまうため、高度にモジュール化されたデュアルアプリケーションアーキテクチャの設計に至りました。
技術戦略:モジュール型アーキテクチャとオフラインファーストのセキュリティ
JakLoanエコシステムの強固な基盤を築くため、私たちのチームはKotlinとJavaを搭載したネイティブAndroidスタックを採用し、開発環境として主にAndroid Studioを使用しました。Clean Architectureの原則にModel-View-ViewModel(MVVM)設計パターンとRepositoryパターンを組み合わせてアプリケーションを構築しました。この関心の分離により、ビジネスロジックをUIから切り離すことができ、高いテスト容易性を維持し、データソースを容易に交換できるようになりました。
依存関係の注入(Dependency Injection)には、Google HiltとDagger2を導入し、アプリケーションのライフサイクル全体でAPIクライアントやローカルリポジトリなどの依存関係を管理しました。ローカルデータの永続化は、オフラインキャッシュとして機能するRoomデータベースに依存しました。担当者が saveDataCanvasing ルーチンを介して現地訪問やキャンバシング活動を開始すると、アプリケーションはRoomに直接書き込みを行いました。
オフライン状態マネージャーが同期ステータスを追跡し、SignalStrengthLevel などのバックグラウンドサービスを使用して接続状態を監視しました。電波強度が十分な場合、アプリはRetrofit2とOkHttp3を使用し、堅牢なMoshi JSONシリアライズとカスタムKotlinアダプターに支えられたオフラインキューをサーバーに同期しました。
セキュリティはデータレイヤーに直接統合されました。中間者(man-in-the-middle)攻撃を防ぐため、Bank DKIの安全なドメインを対象としたAPIエンドポイントに対して厳格なSSL証明書ピン留め(SSL Certificate Pinning)を強制しました。アクティブなセッションデータなど、ローカルに保存されるデータは、PrefData を使用して暗号化されたSharedPreferences(Encrypted SharedPreferences)内に保持されました。
また、LogoutService などのバックグラウンドサービスを利用したセッションガードメカニズムも統合しました。このサービスはネットワークの変更やユーザーの非アクティブ状態をアクティブに監視し、疑わしいアクティビティが検出された場合は機密性の高いメモリ参照を消去し、ユーザーをログアウトさせました。開発中、APIのデバッグ用ネットワークインターセプターとしてChuckerを使用しましたが、本番ビルドをコンパイルする前にChuckerを完全に除去し、すべての認証ヘッダーを隠蔽(マスク)するようにビルドバリアントを設定しました。
機能の舞台裏:JakLoanと過ごす現場での一日
これらの技術戦略がどのようにビジネス価値へと変換されたかを真に理解するため、Budiという名前の担当者が、現場でマイクロビジネスローン申請を処理するためにJakLoanをどのように使用したか、そのジャーニーを追ってみましょう。
Budiは朝、JakLoanアプリを開くことから一日を始めました。パイプラインダッシュボードには、彼の一日のスケジュール、アクティブな見込み客、保留中のフォローアップ、そしてジオタグ付きのキャンバシングターゲットが即座に表示されます。地元の市場に到着して申請者と会うと、Budiはデジタルe-Formモジュールを開きました。
長いフォームを手入力する代わりに、彼はカスタムカメラインターフェースを立ち上げました。アプリはデバイス上のOCRスキャナーを利用して申請者のインドネシアの住民登録証(KTP)カードをキャプチャし、氏名、住所、国民識別番号をフォームの各フィールドに即座に入力しました。このデータは、Dukcapil国家データベースとリアルタイムで照合・検証されました。
申請者の身元が確認されると、Budiは即座に事前スクリーニングチェックを行いました。アプリは中央信用情報機関にAPIリクエストを送信し、SLIK OJKデータベースに問い合わせを行いました。ほんの数瞬のうちに、Budiは包括的な信用報告書をダウンロードして確認しました。
クライアントがこの初期チェックをクリアすると、アプリはデータベース統合を介して政府の補助金記録に基づいて利用可能な融資限度額を調整し、初期段階のリスクを最小限に抑えました。
次に、Budiは現地で実地調査を行いました。申請者の屋台の検証済みGPS座標と現地の写真を撮影し、担保を評価しました。Coreアプリのマルチ担保エンジンにより、不動産から市場の屋台使用許可証に至るまで、5つの異なる担保タイプを処理し、モバイルデバイスから直接ビジネスの健全性を評価することができました。
シャリア準拠の申請者の場合、アプリケーションは自動的に利益マージンを再計算し、その場で契約合意を検証しました。
データ収集が完了すると、アプリに組み込まれた与信スコアリングエンジンがリアルタイムのリスク格付けを算出しました。Budiが完了したファイルを提出すると、申請書は地域の支店長に転送されました。
支店に戻った支店長は、包括的な信用分析メモを確認し、申請を承認して、公式なデジタル融資提案書を作成しました。Budiはその日のうちに、承認された書類をダウンロードしてクライアントのために印刷することができました。
成果、そしてリテール融資の未来の実現
遅く、紙ベースだったプロセスを統合されたモバイルファーストの体験に置き換えることで、私たちはBank DKIの与信審査ライフサイクルを大幅に改善しました。JakLoanの導入により、同行の平均融資処理時間は約60%削減されました。かつて手動のデータ入力、物理的な検証、および管理ルーティングに数日かかっていたものが、合理化されたわずか数時間のモバイル操作に短縮されました。
Dukcapilを介した本人確認の自動化と、リアルタイムの信用情報機関レポートの統合により、銀行の本人確認詐欺や初期段階の債務不履行を大幅に削減することに貢献しました。
さらに、すべての現地訪問に対して検証済みのGPSジオタグを義務付けることで、監査が現地で正確に完了するようにし、地域の支店長が現場チームの活動を明確に把握できるようにしました。

主要な成果と現場からの教訓
JakLoanの構築は、レガシーな銀行環境においてエンタープライズ向けのデジタルシステムを展開することについて、私たちのチームにいくつかの重要な教訓をもたらしました。
第一に、オフラインのユーザー体験(UX)のための設計は、安全なバックエンドコードを書くことと同じくらい重要であると学びました。Roomとバックグラウンド同期サービスを使用したオフラインファーストのアーキテクチャを優先することで、信用の担当者が不安定なモバイル接続に悩まされることなく効率的に作業できるようにしました。
第二に、開発ライフサイクルの初期段階でモジュール化を優先することの価値を学びました。プラットフォームをCoreアプリケーションと特化型のKMGアプリに分割したことで、コードベースを過度に複雑にすることなく、調整された2つのユーザー体験を提供することができました。この明確な関心の分離により、両方のアプリケーションを個別に保守、テスト、拡張することが非常に容易になりました。
最終的に、JakLoanは、従来の銀行のワークフローがセキュリティや規制への準拠を妥協することなく、正常に近代化できることを証明しました。クリーンなAndroidアーキテクチャ、堅牢なセキュリティ、端正なモバイル体験を組み合わせることで、私たちはBank DKIが、より迅速で俊敏、かつペーパーレスなデジタル融資の時代へと移行するのを支援しました。