本人確認サービス

機械が下ごしらえし、
が照合する。

あなたのアプリの中で身分証を撮り、機械が読み取りと顔の照合を済ませ、 最後は人が承認します — あなたの Slack で、もしくは HANAUTA の担当者が。どちらかを選べます。

青緑 ― 機械がすること ― 人が決めること
提供するもの

撮る、読む、承認する、届く。

スマートフォンでカードを撮る手

撮る

あなたのアプリの中で
カードに拡大鏡をかざす

読む・照合する

機械が、東京で
判子を押す手

承認する

あなたの Slack で、もしくは HANAUTA の担当者が(選べます)
封蝋のある封筒

届く

あなたのサーバーへ、署名付きで

画面も、保管も、審査の場も HANAUTA が持ちます。あなたが書くのは「始める」と「受け取る」の2箇所だけ。

受け付ける書類

4種。打ち込む欄はありません。

運転免許証を思わせるカードの線画

運転免許証

マイナンバーカードを思わせるカードの線画

マイナンバーカード

在留カードを思わせるカードの線画

在留カード

旅券の冊子の線画

パスポート

顔写真のページ

マイナンバーカードの裏面は、個人番号が印字されているので受け付けません。反射・ぶれ・暗さはその場で検査し、読めない写真は撮り直していただきます。

データの置き場

画像は東京の保管庫へ直接。あなたの Slack にはリンクだけ。

あなた HANAUTA 東京リージョン・国外へ出ない アプリ 利用者の端末 あなたの Slack または HANAUTA の担当者 サーバー 撮影画面 アプリ内に出す 保管庫 専用の鍵で暗号化 読み取り・照合 機械 結果 署名付き 開く 画像は直接 審査カード ― リンクだけ。画像は置かない 人が承認 届ける

持たないもの

氏名住所電話番号 メールアドレス個人番号生年月日 読み取った文字

持つのは「18歳以上か」の真偽と、有効期限内かの判定だけ。

画像を持つ期間 ― あなたが決める

0日(既定)
365日

審査が済んだら消す、が既定。期限が来たものは自動で消えます。

画像の取り出し ― あなたが許可した種別だけ

自撮り

既定は「1枚も取れない」。取り出し元の IP も絞れます。取り出しの記録は成功も失敗も1年間残します。

責任の分かれ目

判断はあなた。材料と配達は HANAUTA。

HANAUTA が引き受けること

  • 撮影画面と、写りの検査
  • 書類の読み取り(種別・生年月日・有効期限)
  • 身分証の顔写真と自撮りの照合
  • 審査カードをあなたの Slack ワークスペースへ届ける — もしくは HANAUTA の担当者が審査する(選べます)
  • 画像の保管と、期限が来たときの削除
  • 結果をあなたのサーバーへ届ける(署名付き・届くまで7回)
  • 取り出しの記録を1年間残す

あなたにお願いすること

  • 審査カードを見て、承認または却下する(HANAUTA の担当者に任せることもできます)
  • 画像を持つ期間と、取り出しを許す種別を決める
  • API キーと Webhook の署名鍵を保管する
  • 受け取った結果を、あなたのサービスでどう使うかを決める
  • 参照 ID とメモ欄に個人情報を入れない
  • 法令上の本人確認義務を負う主体として、判断の責任を持つ

承認ボタンを押すと、その保証レベルが約束した属性を「満たしている」として返します。機械の判定をそのまま上げるのではなく、人が保証します。

全体の流れ

ひとつの申請が、どこを通るか。

eKYC 基盤の構成 HANAUTA Humatch の基盤 あなたのサーバー API キーで呼ぶ あなたのアプリ 利用者の端末 撮影画面 HANAUTA がアプリ内に出す あなたの Slack または HANAUTA の担当者 1. 本人確認を始める 2. セッションを作る POST /v1/verification_sessions 3. 撮影画面の URL が返る /s/{token} 4. 撮影画面の URL を渡す 5. アプリ内で撮影画面を開く GET /s/{token} 6. 置き場への切符をもらう POST /v1/capture/{token}/upload-url 7. 画像を置き場へ上げる PUT(署名付きの URL へ・API は通さない) 8. 撮っている最中の顔検出 POST /v1/capture/{token}/detect 9. 提出する POST /v1/capture/{token}/submit 10. 読み取りと顔の照合 OCR・顔照合・品質の測り直し 11. 審査カードを出す 書類は短命のリンク 12. 人が承認する/却下する 13. 結果を届ける(署名付き) POST {あなたの webhook_url} 14. ひらいたときに状態を見る 通知は無い 15. 状態を引く GET /v1/verification_sessions/{id}

画像はあなたのサーバーを通りません。結果は利用者の端末を通りません。

設計方針

なぜ、人の承認を外さないのか。

判子を押す手の挿絵
白黒を付けるのは、人。

機械が読めない書類がある

読めないことは、本人でない理由にならない。人は目で読める。

顔の照合には、言い切れない帯がある

機械が無理に白黒を付けると、誤って通したことに誰も気づけない。

なりすましの検知は完成していない

ライブネス検出は持っていない。機械の照合は、人の下ごしらえ。

読み取りの精度は、まだ測り切っていない

精度を根拠に自動判定へ倒すのは、測ってから。いま材料を貯めている。

安全のつくり

鍵は経路ごとに分けてあります。

経路開くもの
あなたのサーバーからAPI キーセッションを作る/状態を引く/画像を取り出す
利用者の端末から撮影 URL の一回限りのトークン(既定15分)撮影画面を開く/画像を上げる/提出する
HANAUTA からあなたへWebhook の署名鍵(止めずに入れ替え可)結果を届ける

1本の鍵で全部が開かないので、どれかが漏れても被害は経路の中で止まります。API キーは端末へ配りません。

必要な強さを選べます

3段。上ほど手間と責任が増えます。

age_only

年齢だけ

生年月日を読み、年齢の条件を満たすかだけ。自撮りは要りません。

お返しするもの
age_over_18
document

書類の確認まで

受付対象の書類で、有効期限内であることも。自撮りは要りません。

お返しするもの
age_over_18 / document_type / document_valid
identity_match

本人であることまで

自撮りをお願いし、身分証の顔写真と同一人物であることを。

お返しするもの
上記 + face_match

導入までの流れ

一、お話を伺う強さ・審査の場(あなたの Slack か、HANAUTA の担当者か)・画像を持つ期間・取り出しの要否を決めます
二、設定をお渡しするAPI キーと署名鍵をお渡しし、あなたの Slack には導入リンクからアプリを入れていただき、審査に使うチャンネルで /ekyc-config bind と打つだけです(無料プランで構いません)
三、繋いでいただく「始める」と「受け取る」の2箇所。API のしくみ
四、通しで確かめる1件流して、撮影から結果の受け取りまでをご一緒に確認します
Humatch
hum
鼻歌。HANAUTA から
match
照合。身分証と自撮りを合わせること
human
最後に承認するのは、人であること