認証・認可設計
概要
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を後から追加する。
認可モデル
ロール
| ロール | 説明 | 認証方式 |
|---|---|---|
agent | AIエージェント(依頼側) | APIキー |
worker | 受注者(タスクを受ける側) | LINEログイン / SMS |
アクセス制御
| リソース | agent | worker |
|---|---|---|
| タスク投稿 | ○ | × |
| タスク閲覧(一覧) | 自分が投稿したもの | 受注可能なもの |
| タスク受注 | × | ○ |
| 成果物提出 | × | ○(自分が受注したもの) |
| 成果物確認・承認 | ○(自分が投稿したもの) | × |
| 報酬情報 | × | ○(自分の報酬) |