BroadNet
MyOTP.App · ドロップイン・ウィジェット

ドロップイン型OTP認証—あらゆるアプリに導入可能。

MyOTP.Appは、Webやモバイルアプリに貼り付けるだけで導入できる、構築済みの認証ウィジェットです。電話番号入力、コード取得、再試行、音声フォールバック、不正防止機能を備え、すべてBroadNetの通信事業者直結OTPルート上で動作し、単一のスクリプトタグで導入できます。

5分で統合完了 30以上の言語 ISO 27001
配信先:
2.1s
認証済み
電話番号の認証
myotp.app
ステップ3 / 3
電話番号
+971 50 ••• 4567
認証コード
4
8
2
9
1
2
SMS · 2.1秒で到着0:24後に再送
ユーザー認証済み
token · jwt.eyJhcHAiOiJhcHBfO…
Powered by MyOTP.App
エンドツーエンド署名済み
連携
5 min
1つのscriptタグとdivを貼り付け
言語
30+
ローカライズされたUIコピーを標準搭載
ラベル
White
独自の送信元、ブランドカラー、ドメイン
稼働率SLA
99.99%
契約で保証されたプラットフォーム可用性
ペーストから署名済みJWTまで

たった1つのスクリプトタグで、
5つの工程を実現。

ウィジェットそのものが統合インターフェースです。その裏側では、すべての認証がBroadNet独自のOTP専用ルートを経由します。中央値5秒未満の配信スピード、HLRによる事前検証、そして音声フォールバックも標準実装済みです。

  1. 01 · ウィジェット
    Script + div

    12kBのJSウィジェットを任意のdata-myotp divにマウント可能。電話番号入力、テーマ、ロケールはdata-*属性から読み込まれます。ステートマシンを記述する必要はありません。

    マウント < 80ms
  2. 02 · App ID
    セッションの検証

    Widgetは、お客様のアプリキーを使用してBroadNetの認証サービスを呼び出します。送信元チェック、CORSピン留め、IPおよびセッションごとのレート制限が適用されます。

    p50 < 60ms
  3. 03 · チャネル
    SMS、Telegram、または音声

    チャネルはアカウントポリシーによって選択されます。HLRによる事前検証で無効な番号を排除し、SMS DLRが時間内に届かない場合は音声フォールバックが作動します。

    p50 < 1.4s
  4. 04 · コード
    ユーザー入力

    iOSおよびAndroidのSMS通知からオートコンプリート。6桁入力、アクセシビリティ対応、アラビア語およびヘブライ語のRTL(右から左への記述)にも対応。

    レイテンシではなくUXを
  5. 05 · トークン
    署名済みJWT

    検証に成功すると、ウィジェットから有効期限の短いJWT(デフォルト5分)が発行されます。セッションを許可する前に、サーバー側で署名を検証してください。

    p50 < 30ms
  6. ← Webhook · サーバー・オブ・トゥルースJWT検証
ウィジェットの機能

構築する必要のない6つの要素

ウィジェットを設置し、アプリIDを指定して送信を開始するだけです。テーマ設定、ローカライズ、そしてBroadNetのネットワーク全体と同じOTP配信ルートへの接続まで、必要なものはすべてパッケージに含まれています。

ドロップインJSウィジェット

単一のスクリプトタグをマウントするだけで、電話番号入力、認証コードの取得、リトライ、音声フォールバックを含む検証フロー全体が実装可能です。デザイン作業やステートマシンの構築は不要です。

バンドル
12 kB
マウント
<div>
テーマ
ライト · ダーク

ネイティブSDK

React、React Native、Flutter、iOS、Android向けのファーストパーティ製SDK。Webウィジェットと同じ認証インターフェースを提供し、あらゆるプラットフォームでネイティブレンダリングを実現します。

Web
React
モバイル
iOS · Android
ハイブリッド
Flutter · RN

ブランド送信元ID

許可されている地域では英数字の送信元IDを登録し、それ以外の地域では数値のロングコードまたはショートコードを使用します。コードは共通のショートコードではなく、お客様の名前で届きます。

送信元ID
登録済み
ロングコード
国別
テンプレート
ロケール別

音声フォールバック

指定した時間内にSMSから配信レポートが返されない場合、ウィジェットが自動的に音声OTPへエスカレーションします。同一セッション、同一コードで実行されます。

トリガー
<10s
TTS
30以上の言語
料金
レグごと

不正防止

速度制限、地理ルール、IPレピュテーション、およびHLRの事前検証により、メッセージがプラットフォームから送信される前に、OTPのトールフラウド(通信詐欺)やサインアップパンピングをブロックします。

ベロシティ
ユーザーごと
Geo
許可 / 拒否
HLR
インライン

分析ダッシュボード

認証成功率、チャネル構成、国別の離脱率、および中央値の配信時間。これらはダッシュボードでリアルタイムに確認でき、データウェアハウスへのエクスポートも可能です。

リアルタイム
ライブ
エクスポート
CSV · API
継続率
12 mo
スニペットを埋め込む

3行のHTMLのみ。
認証済みユーザー1名

指定された要素にウィジェットが自動的にマウントされますdata-myotp。成功すると短期間有効なJWTが返されます。サーバーでこれを検証してセッションを開始してください。

フレームワークに依存しない
React、Vue、Svelte、Rails、Laravelなど、HTMLを貼り付けられる場所であればどこでも動作します。
自動テーマ適用
CSS変数からブランドカラーを継承。ライト、ダーク、ブランドのプリセットが付属しています。
DOM内にPII(個人情報)を含まない
コードやトークンがページの状態(ステート)に触れることはありません。これらは密閉されたiframe内で保持されます。
index.html
v1 · stable
1<!-- 1 · Drop the script on any page2       (the widget script URL is issued with your app_id) -->3<script src="MYOTP_WIDGET_SCRIPT_URL" async></script>4 5<!-- 2 · Mount the verify flow -->6<div7  data-myotp8  data-app-id="app_8f2c9b1e"9  data-locale={__L}10  data-theme="light"11  data-on-verified="onUserVerified"12></div>13 14<!-- 3 · Handle the signed result -->15<script>16  function onUserVerified(result) {17    // result.token   — short-lived JWT, verify on your server18    // result.phone   — E.16419    // result.channel — "sms" | "voice"20    fetch("/api/session", {21      method: "POST",22      body: JSON.stringify({ token: result.token }),23    });24  }25</script>
コールバックによる結果React · Flutter · iOS · Android SDK対応
導入事例

3つのチームの事例:
独自の認証フローを廃止。

湾岸地域の不動産デベロッパー不動産 · GCCAE

課題:独自の認証フローの継続的なメンテナンスに、エンジニアが拘束されていました。アプローチ:MyOTPウィジェットがカスタムUIを置き換え、アラビア語・英語を含む3言語のコピーを並行して実装しました。

デジタルエクスペリエンス責任者(NDAに基づき参照可能)
東南アジアのフィンテックプラットフォームフィンテック · APACPH

課題:大規模なユーザーベースが、統合された分析機能のないまま、Webとモバイルで複数の異なるOTP UIを使っていました。アプローチ:単一のFlutter SDKとWebウィジェットにより、iOS、Android、ブラウザでの認証を標準化しました。

VP engineering(NDAに基づき参照可能)
中東・北アフリカ全域の航空会社航空 · 中東・北アフリカJO

課題:旅行のピークシーズンにおいて、高齢の乗客がSMS認証コードを見落とすことが多く、予約コンバージョン率の低下を招いていました。アプローチ:決済セッション内で、アラビア語による音声フォールバックを有効にしたウィジェットを導入しました。

デジタルプロダクト責任者(NDAに基づき参照可能)
コンプライアンス

規制対象のワークロードに対応した監査済み仕様。

すべての認証にはイベント履歴が残ります。データの保持期間と保存場所はワークスペースごとに設定可能で、湾岸諸国の規制対象ワークロード向けにMENA居住オプションも用意されています。

ISO 27001
情報セキュリティマネジメント認証取得済み
GDPR準拠
EU居住地および要請に応じたDPA
Webhook
すべての認証結果に対して送信
中東・北アフリカ拠点
規制対象のワークロードに対応する湾岸地域のデータレジデンシー
よくあるご質問

MyOTP、
直接お答えします。

静的ページの場合、アプリID作成から最初の認証ユーザーまで5分以内です。スクリプトタグを貼り付け、divを配置し、コールバックを1つ記述するだけです。SPA(React/Vue/Next.js)の場合は、SDKのインストールとサーバーでのJWT認証を含めて15〜30分です。モバイルSDKは、ビルド設定によりますが、統合に30〜60分を要します。

テーマ(ライト/ダーク/カスタムCSS変数)、ブランドカラー、ロゴURL、アクセントカラー、フォントファミリー、全ロケールの全UI文字列のコピー、国別の送信元ID、音声フォールバックのタイミング、リトライポリシー、およびモーダルフレーム自体のCSSオーバーライド。ウィジェットはShadow DOMウェブコンポーネントであるため、ページのCSSが漏れ出すことはありません。

はい。「powered by MyOTP」のバッジは表示されません。送信元IDがコードを配信し、お客様のドメインがiframeをホスト(CNAME設定)し、お客様のロゴとブランドカラーがモーダルに表示されます。MyOTPへの言及はお客様自身のダッシュボード内のみに限定されます。

直近の集計では30言語以上に対応:英語、アラビア語(完全なRTL対応)、フランス語、スペイン語、ポルトガル語(PTおよびBR)、ドイツ語、イタリア語、オランダ語、ポーランド語、トルコ語、ウクライナ語、ヒンディー語、ウルドゥー語、ベンガル語、タミル語、インドネシア語、マレー語、タイ語、ベトナム語、日本語、韓国語、簡体字中国語および繁体字中国語、ヘブライ語、ギリシャ語、ルーマニア語、チェコ語、ハンガリー語、スウェーデン語、ノルウェー語、デンマーク語、フィンランド語。ロケールごとに任意の文字列を上書きできます。

認証済みユーザーごとに料金が発生し、評価用の無料ティアも用意されています。標準的な送信元IDの場合、本番環境の料金目安は1認証あたり約$0.05から始まり、ボリュームディスカウントにより低下します。大量送信およびエンタープライズティアについては、対象国や月間のコミットメントに基づいて見積もりを行います。音声フォールバックは、接続された通話ごとに別途請求されます。これらの数値はイメージであり、配信ルートによって異なります。最終的な料金は商用契約にて決定されます。

常に可能です。ウィジェットはブラウザに短期間有効なJWTを渡すと同時に、同じ認証イベントを含むWebhookを貴社のサーバーにPOSTします。クライアントのJWTはヒントとして扱い、Webhookを正当なものとして扱うべきです。これがすべてのコードサンプルにおける統合パターンです。

標準機能として、電話番号ごとの送信速度制限、IPごとの送信速度制限、地理的な許可/拒否設定、IPレピュテーションによるゲート制御、番号ポータビリティや切断済み番号に対するHLRによる事前検証、および既知の不正課金(toll-fraud)プレフィックスに対する宛先リスクスコアを備えています。これらはすべてダッシュボードで設定可能であり、SMSパンピング攻撃は課金が発生する前にブロックされます。

専任のテクニカルアカウントマネージャー、カスタムレート制限を適用した専用アプリID、ホワイトラベル対応のCNAMEおよびカスタムサブドメイン、オンプレミスでのJWT署名キーのローテーション、自動クレジット付与を含むウィジェット稼働率99.99%のSLA、およびインシデント対応のためのエンジニアリングチームとの共有Slackチャネル。

お探しの回答が見つかりませんか?エンジニアリングチームにお問い合わせください

導入、認証、完了。

ランチの時間までに最初のユーザーを認証。

1つのスクリプトタグを貼り付け、1つのdivをマウントするだけで、ウィジェットが電話番号の取得、コード入力、音声フォールバック、不正防止、分析などの残りの処理をすべて実行します。無料プランではカード登録不要です。

$ <div data-myotp data-app-id="your_app_id"></div>