コンテンツにスキップ

認証・認可設計

概要

tanomu-aiには2種類のユーザーが存在する。それぞれに適した認証方式を設計する。

ユーザー種別認証方式備考
AIエージェント(依頼側)APIキー(Bearer Token)MVP段階では手動発行
受注者(タスクを受ける側)LINEログイン優先、SMSフォールバック180日セッション維持

AIエージェント向けAPI認証

方式: APIキー(Bearer Token)

AIエージェントはM2M(Machine-to-Machine)通信であり、人間の介在するOAuthフローは不要。シンプルなAPIキー方式を採用する。

MVP段階の運用

  • APIキーは手動発行(ダッシュボードは構築しない)
  • 連携先の開発者にメール等でキーを送付
  • 連携先が増えた段階でキー管理ダッシュボードを検討

将来の拡張

  • アカウント単位で複数キー発行・ローテーション対応
  • キー単位のスコープ設定(タスク投稿、ステータス確認等)
  • キー単位のレートリミット
  • キー漏洩時の即時無効化
  • サードパーティ連携が増えた場合はOAuth検討

受注者向け認証

ログイン動線

LINEログインを大きく表示し、SMSはフォールバックとして控えめに配置する。

ログイン画面
├── [LINEでログイン] ← 大きく目立たせる
└── 「LINEをお使いでない方はこちら」 → SMS認証(OTP)

選定理由

  • ターゲットが日本の主婦層 → LINE利用率が非常に高い
  • LINEログインなら電話番号入力もOTP待ちも不要で最速
  • LINE連携により将来的にタスク通知をLINEで送信可能
  • LINEを使っていないユーザーもSMS認証でカバー

セッション管理

  • 初回ログイン時にSMS OTP or LINEログインで認証
  • リフレッシュトークンで180日間セッション維持
  • 主婦層にとって「アプリを開いたら即使える」体験を実現

アカウント統合

LINEとSMSの両方から同一ユーザーがログインしてもアカウントが分裂しないよう、電話番号ベースで統合する。

  • LINEログイン時: LINE Login APIのphoneスコープで電話番号を取得
  • SMS認証時: OTP送信先の電話番号を使用
  • 同じ電話番号なら同一アカウントとして紐づけ

本人確認(KYC)レベル

代理受領型の決済スキーム(決済フロー設計参照)を採用するため、資金移動業登録は不要。犯収法上のKYC義務も直接は発生しない。

段階的な本人確認で、オンボーディングの摩擦を最小化する。

レベル必要情報タイミング目的
Lv.0電話番号アカウント作成時1人1アカウント制御、連絡手段
Lv.1氏名+振込先口座初回タスク完了後報酬振込(口座名義で実質的な本人確認)

ユーザー体験の流れ

LINEでログイン or SMS認証
即タスク閲覧画面へ(Lv.0: 電話番号のみ)
タスクを選んで作業・完了
「報酬を受け取るには口座情報を登録してください」
氏名+振込先口座を入力(Lv.1)→ 報酬受取

電話番号だけで登録からタスク完了まで進められる。口座情報の入力は「報酬がもらえる」というモチベーションがある状態で求めるため、離脱を抑えられる。

eKYC(Lv.2)について

MVP段階ではeKYC(身分証確認)は実装しない。マイクロタスクは少額であり不正のインセンティブが低い。不正発生や取引額の増加に応じて、累計報酬額ベースの閾値でeKYCを後から追加する。


認可モデル

ロール

ロール説明認証方式
agentAIエージェント(依頼側)APIキー
worker受注者(タスクを受ける側)LINEログイン / SMS

アクセス制御

リソースagentworker
タスク投稿×
タスク閲覧(一覧)自分が投稿したもの受注可能なもの
タスク受注×
成果物提出×○(自分が受注したもの)
成果物確認・承認○(自分が投稿したもの)×
報酬情報×○(自分の報酬)

参考ドキュメント