見出し画像

『つみたてNISA』機能開発におけるKYC(本人手続き)フローの設計

こんにちは!sustenに入社してもうすぐ3年、バックエンドエンジニアの安藤です。本記事は、sustenのつみたてNISA開発をエンジニア目線で語るシリーズの第三弾の記事です!

▼これまでの記事はこちら


今回は、sustenでつみたてNISAを始めるまでのKYC(Know Your Customer)と呼ばれる本人確認プロセスについてご紹介します。

KYCとは?

KYCはKnow Your Customerの略で日本語に訳すと「本人確認手続き」を意味します。金融機関は「犯罪収益移転防止法」(以後「犯収法」と記載)と呼ばれる法律を遵守する必要があり、そのため弊社ではサービスを利用するにあたりユーザーの本人確認及び反社チェックを徹底して行なっています。

▼SUSTENのKYCフロー

弊社では犯収法における「ヌ方式」を採用しており「マイナンバー確認書類+本人確認書類の写し1点+転送不要郵便」を使用した本人確認フローになります。

SUSTENでは上記の図のようなフローを経ておまかせ投資口座と呼ばれる資産運用サービスを利用することができます。

順を追って手順を説明していきます。

  • ユーザー情報入力

    1. sustenのサービスを利用するにあたり、まずユーザーはメールアドレスを入力してアカウント登録をします。

    2. その後、姓名・生年月日・住所を入力しマイナンバー確認書類+本人確認書類の写し1点をアップロードする流れです。

  • KYC(本人確認)

    1. 次に、ユーザーに入力いただいた情報をもとにKYCプロセスを進めていきます。

    2. 弊社では本人確認の業務を外部会社に委託しておりAPIで連携しております。

    3. 毎日定時に本人確認審査依頼をバッチで連携先APIに送信し、審査結果が出るまでしばらく時間を置いて別のバッチで結果を取得しにいきます。

  • 反社チェック

    1. そして、KYCプロセスの終了後、反社チェックを行います。

    2. 利用可能な外部データベースとの照合や、外部会社のサービスを利用した新聞記事、SNS 情報などの公知情報の確認を通じて、 「反社会的勢力との繋がり」「犯罪や不祥事への関与」などが無いかの反社チェックを行なっていきます。

  • 転送不要郵便物

    1. 最後に、ユーザーが入力した住所に転送不要郵便としてハガキを送信し、ユーザーが受け取ることで本人確認が完了します。

    2. 弊社では転送不要郵便を送信するのにハガキ発送業務代行業者を利用しており、こちらもAPIで連携しています。

    3. 反社チェックが完了したユーザーを対象にバッチ処理でAPIに情報を送信しハガキ発送依頼を登録します。

    4. そして到達確認をAPIで取得する、またはハガキに記載のQRコードをユーザーが読み込むことで本人確認フローが完了します。

これがつみたてNISA開始前の弊社における一連の本人確認フローです。

つみたてNISAの開設フローを既存のフローにマージする


つみたてNISAを弊社で提供するにあたり以下のフローが新たに必要になりました。

弊社ではデフォルトでおまかせ投資口座は開設、つみたてNISA口座の開設は選択できるという設計でサービスを提供することが決まり、上記フローを既存の口座開設フローに組み込むになりました。
その際、以下2点をシステム上満たすべき要件として定め、設計を進めていきました。

  1. おまかせ投資口座の開設時につみたてNISA利用の有無を選択できるようにする

  2. 既におまかせ投資口座を利用しているユーザーは再度KYC(本人確認)を行なった後つみたてNISAを利用できるようにする

社内各部署と議論を進めていき、最終的には以下の図のような口座開設フローになりました。

「新規口座開設」の矢印がSUSTENを新しく利用するユーザーがつみたてNISA口座開設を希望する場合のフローで「既存口座開設」の矢印が既にsustenでおまかせ投資口座を開いているユーザーがつみたてNISA口座開設を希望する場合のフローです。

法的に必要な条件を満たしつつユーザーにとって不必要な入力項目を省き、口座開設フローを設計しました。

難しかったポイント

システム上難しかった点としては本人確認フローでのエッジケースを漏れなく考慮することでした。
例えば

  • つみたてNISA口座の開設を希望したユーザーが途中で開設を取りやめる場合はどうするか

  • おまかせ投資口座の利用年齢(18歳以上)には達しているがつみたてNISAの利用年齢(口座を開設する年の1月1日現在で18歳以上)を満たしていない場合どうするか

など様々なエッジケースが浮かんできました。

この問題を解決するにあたり意識した点は、他部署と積極的にコミュニケーションを取ることと国税庁のサイトなどの一次ソースを自ら確認し満たすべき要件をまとめることです。

このような大規模開発のプロジェクトリードをした経験は初めてでしたが、法律や金融のエキスパートの他部署のチームに助けてもらいながら無事問題なくリリースすることができました。

sustenではエンジニアが積極的にプロジェクトリードする裁量があるのが特徴で、私はつみたてNISA口座開設の要件定義&実装を任せてもらいとてもやりがいがありました!

日本で一番スムーズに口座開設できる金融サービスを目指して

多くの皆さんが金融サービスを利用する際に、「入力項目が多くてめんどくさい」や「信用できるサービスか不安」などの感想を抱くことがあるかと思います。

弊社は日本で一番スムーズに口座開設できる金融サービスの提供を目指しており、UIUXの改善に日々取り組んでいます。その一方で金融事業者としてサービスの信頼性を高めるために本人確認プロセスや反社チェックなどを厳格に行っております。

弊社では現在マイナンバーカードを利用した公的個人認証の導入なども進めており、よりユーザーが簡単に安心してサービスを利用できるようにするための施策を進めています。

金融業界に興味がある、だけどどんどん新しいことにチャレンジしていきたい、そんなエンジニアの方は是非一度カジュアル面談させてください!絶賛エンジニア大・大・大募集中でございます!

最後につみたてNISA開発に向けた開発合宿での様子を載せておきます。山中湖で行われたのですが昼は開発、夜はお酒を飲みながら親睦を深めとても充実した時間になりました。

ちなみに開発合宿の記事はこちらにありますので気になる方は是非覗いてみてください!

募集ポジションについてはこちら!


この記事が気に入ったらサポートをしてみませんか?