サインインと本人確認
サインインは https://auth.mithril.fund/sign-in で行います(サービス kotoba-authn、WebAuthn rpId auth.mithril.fund、apex mithril.fund)。手段はパスキー(Face ID / Touch ID)、Base Account(パスキー所有のスマートアカウント + Base chainId 8453 上の SIWE)、Ethereum SIWE(EIP-4361)、DID/CACAO(kotoba cacao --aud https://auth.mithril.fund、ワンショット)、復旧フレーズ(クライアント導出・サーバ非保存)、および TOTP 2FA とリカバリコードです。パスワード・メール・SMS・OAuth はログイン手段ではありません。Google / GitHub の連携はアカウントの目印で、証明は上記の手段が行います。
rpId と旧ホスト
パスキーは rpId auth.mithril.fund に束縛されます。auth.kotobase.net で登録したパスキーは auth.mithril.fund へ自動移行しません。新しい rpId の下で再登録してください。
セッション cookie の意図する scope は登録可能ドメイン mithril.fund(console / api の product shell と共有)です。host-only の auth cookie としては文書化しません(変更は eng 確認後)。
principal
サインインすると安定した ID(principal、did:web:kotoba.cloud:tenant:…)が付きます。パスキーやウォレットを替えても変わらず、本人確認・スコープ・残高・ジョブはすべてこの ID に束縛されます。
本人確認と assurance ladder
レッドチームのモデルは本人確認の上でだけ動きます。確認の段(rung)ごとに証拠と 1 日の token 枠が決まっています(/v1/secure と同じ表)。
| rung | 証拠 | tokens/day | 開く band |
|---|---|---|---|
card · L1 |
a live credit/debit card (prepaid rejected) verified with a $0 check | 102400 (ceiling 102400) | code-review |
identity · L2 |
Stripe Identity document + selfie check bound to the principal | 50000 (ceiling 200000) | code-review |
business · L3 |
a company on a public registry, a proven domain claim, clean screening | 2000000 (ceiling 8000000) | cyber |
contracted · L4 |
named researchers, a signed authorized-scope statement, a contract | 8000000 (ceiling 32000000) | offensive |
- カード認証: クレジットまたはデビットカードを Stripe Checkout(setup モード、請求なし)で登録。プリペイド・バーチャルカードは 403 prepaid-card-not-accepted。承認は Stripe の webhook から数秒で届き、code-review スコープが同時に承認されます。
- 書類確認(Stripe Identity)は追加できます。証拠本体は Stripe にのみ残り、mithril.fund は状態・有効期限・証跡参照だけを持ちます。
- 有効期限: 本人確認 365 日、AML/CTF 照合 24 時間、信頼経路 60 秒の projection(読むたびに再刻印)。
接続トークン(PAT)
- アカウントコンソールで発行。一度だけ表示。principal の代理として研究 API と残高の読み取りができ、購入・組織操作はできません。
- 1 つずつ取り消せます(コンソールの一覧 → 取消)。取り消したトークンは 401 token-revoked。以前の形式(v1)のトークンは「旧トークンをすべて取り消す」で一括無効化され、その後は同じ 401 になります。
401 {"error": {"code": "token-revoked", "message": "personal API token refused: legacy-token-revoked — issue a new one at https://console.mithril.fund/account"}}
Auth API(機械向け)
正確な文書化のためのルートです。秘密を貼り付けないでください。ホストは https://auth.mithril.fund です。
-
POST /v1/passkey/{login,register}/{options,verify} -
POST /v1/passkey/smart-account/{options,verify} -
POST /v1/siwe/{nonce,options,verify} -
POST /v1/cacao/session -
POST /v1/totp/verify -
GET /v1/session -
GET /v1/link/hint
auth ホストにはまだ /.well-known/kotoba-cloud.json も /ready もありません(404)。出荷するまで主張しないでください。
復旧(登録した手段をすべて失った場合)は 48 時間以上のサーバ側遅延とオフラインの one-time secret を伴います。運用者が代わりにログインを開けることはありません。