必要な情報はすべて、不要な情報は一切なし
コード設計と有効期限
4〜8桁の数字を使用してください。推測を防ぐのに十分な長さであり、かつ入力しやすい長さです。有効期限を短く設定し(5〜10分)、1回の成功後にコードを無効化し、再送を強制する前に認証試行回数の上限を設定してください。詳細は/answers/what-is-otpおよび/answers/what-is-2faをご覧ください。
SMSパンピング(AIT)への防御
トラフィックの人工的な水増し — トラフィックの分け前を得るために、詐欺師がプレミアム番号に対して大量のOTPをトリガーする行為 — は、気づかないうちにOTPの請求額を膨らませる可能性があります。番号ごと、IPごとにレート制限を設け、速度チェックを追加し、異常な国番号への急激なスパイクを監視してください。/answers/what-is-sms-pumpingと/answers/what-is-aitの詳細を見る
速度と配信ルートの優先順位
OTPはタイムクリティカルです。ユーザーが諦めてしまった後に届くコードは、ログイン失敗を意味します。バーストに対応できる余裕を持った、直接接続の優先度の高いルートでOTPを送信してください。また、ユーザーが気づく前にルートの品質低下を検知できるよう、DLRを監視してください。詳細は/answers/what-is-dlrをご覧ください。
フォールバックチャネルの追加
特定の市場でSMSが遅延した場合は、コンバージョンが単一のチャネルに依存しないよう、フラッシュコール認証、WhatsApp、または音声OTPへ自動的にフォールバックします。詳細は/answers/what-is-flash-call-verificationおよび/answers/what-is-silent-network-authを参照してください。
メッセージ内容とアンチフィッシング
ブランド名と認証コードを先頭に記載し、用途を明記してください。リンクは含めないでください。正当なOTPメッセージがユーザーにリンクのクリックを求めることはありません。これにより、リンクを含むOTPスタイルのメッセージを信頼しないようユーザーを教育できます。詳細は/answers/what-is-smishingをご覧ください。