発行側での不正QR対策。保存側でのデータ所在地管理。
すべてのProリンクは、発行時・宛先変更時・定期スケジュールの3タイミングで7層の不正QR検出パイプラインを通過します。スキャンログは国とデバイス種別のみ記録し、IP・ユーザーエージェント・Cookie・行動プロファイルは一切保持しません。単一リージョンD1はAgencyおよびカスタムEnterpriseで利用可能です。
収集するデータ
サーバーに保存されるデータはすべて以下の4種類に分類されます。
アカウントデータ
メールアドレス・プランの種別とステータス・Stripeの顧客ID・サブスクリプションID・任意のチーム名とワークスペースラベル。以上です。電話番号・住所(請求先住所はStripeに保存)・行動プロファイルは収集しません。
コードデータ
宛先URL・7文字のBase58ショートコード・設定したラベルとタグ・任意のQRデザイン(色/ロゴ/フレーム)・任意のパスワードゲート・任意のスケジュール。データはお客様のものであり、CSV形式でいつでもエクスポートできます。
スキャンデータ
UTCの日付バケット・国(CF-IPCountryから取得)・デバイス種別(mobile / tablet / desktop / unknown)。生のUser-Agentは分類直後に破棄します。IPはデータベースに入りません。リダイレクトのホットパス用にKVにキャッシュし、ctx.waitUntil経由でD1に集計します。スキャン数が5件未満の国別集計は「その他」にまとめて再識別を防ぎます。
監査/請求メタデータ
変更の追記専用ログ(誰が・何を・いつ・どのスコープで行ったか), 保持期間180日。Stripeのウェブフックイベントは冪等性のために重複排除済み, Stripe顧客ID以外の顧客PIIは含みません。GDPRリクエストログ(エクスポート/削除/復元), 期限内処理の証明のためアカウント削除後も保持します。
完全なスキーマについてはソースリポジトリのdocs/SCHEMA.mdをご覧ください。すべてのカラムに保持ポリシーが記載されています。
データの保存場所
| サービス | プロバイダー | リージョン | 単一リージョンオプション |
|---|---|---|---|
| ダッシュボード + API | Cloudflare Pages Functions | グローバルエッジ(最寄りPoP) | あり, Agency以上のみ |
| コードレコード(D1) | Cloudflare D1(SQLite) | プロビジョニング時に割り当てられたプライマリリージョン(現在: ENAM) | あり, Agency以上のテナント別シャード |
| リダイレクトホットパス(KV) | Cloudflare Workers KV | p99 <50ms のためグローバルにエッジレプリケート | なし(レプリケーションが機能の本質) |
| 暗号化バックアップ | Cloudflare R2 | バケット作成時に割り当てられたプライマリリージョン | あり, EU / APAC 管轄バケットをリクエスト可 |
| 決済 | Stripe | US, Stripe独自の所在地管理による地域別PII処理 | Stripe契約による |
| トランザクションメール | ZeptoMail(Zoho) | IN(リクエストによりZohoのEUリージョン利用可) | あり, Zoho EUリージョン |
国境を越えるデータ
- スキャンデータは情報損失なく国境を越えません。リスボンからのスキャンはリスボンのCloudflare PoPに届き、ワーカーはエッジのKVに日付/国/デバイス情報を書き込み、D1のプライマリリージョンに非同期で集計します。スキャン元のIPはHTTPリクエストの期間中Cloudflareの一時的なリクエスト状態にのみ存在し、データベースには保存されません。
- ダッシュボードへのリクエストは最寄りのCloudflare PoPで終端し、Cloudflareのプライベートネットワーク経由でD1を呼び出します。Pages Functionsは割り当てられたリージョンのD1を読み書きし、エッジPoPはグローバルな静的アセットキャッシュからHTML + JSバンドルを配信します。
- Stripeのウェブフックは1回だけ国境を越えます。Stripe(US)が当社のCloudflare Pagesエンドポイントにポストし、HMACを検証して冪等性用の最小行(event_id, type)を書き込み、下流イベントを送出します。
- トランザクションメール(Zepto)は送信ごとに1回だけ国境を越えます。ワーカーがレンダリング済みテンプレートをZepto APIに渡し、Zepto が受信者のメールサーバーに配信します。内容は招待リンク・請求ライフサイクル通知・スキャン上限アラートのみで、顧客のスキャンデータは含みません。
不正QR検出パイプライン
QRフィッシング(クイッシング)は2026年Q1に146%増加しました。一般的なショートリンクベンダーは顧客からの苦情を受けてから対処します。当社はリンク発行時・宛先変更時に毎回チェックを行い、さらに定期スケジュールでも実施します。顧客が当社APIを呼ばずに自分のサーバー上のURLを書き換えられるからです。公開スキャナーcheck.qr.abundera.aiを動かす脅威インテルパイプラインと同じものが、当社が発行するすべてのリンクに適用されます。
7つの検出レイヤーにはそれぞれ米国特許出願が進行中です。各レイヤーの結果は統合された判定に集約され、いずれか1つにヒットすると作成のブロック・宛先変更の拒否・既存リンクの停止につながります。
| レイヤー | 検出内容 | 実行タイミング |
|---|---|---|
| リダイレクトチェーンの可変性 | 当社のショートリンクから最終ページまでの経路を独立した当事者が何者制御しているか。他社リダイレクターを経由する2ホップチェーンは直接宛先とはリスク分類が異なります。 | 作成時、宛先変更時、定期再チェック |
| マルチモーダルペイロード解析 | WiFi・連絡先・電話・メール・カレンダー・位置情報・暗号通貨・Androidインテント・インラインデータの各ペイロードに専用アナライザーを適用。ハードブロック対象スキームは送信時に拒否します。 | 作成時、宛先変更時 |
| クローラー/ブラウザー偽装 | スキャナーにはクリーンなコンテンツを返し、人間にはフィッシングページを表示するサイト。指紋分散を制御した並列フェッチと乖離スコアで検出します。 | 作成時、定期再チェック |
| 宛先サーバーの可変性 | 登録直後のドメイン・新しい証明書・解約率の高いTLD・HSTSの欠如・トランスポートスキームのダウングレード。リダイレクトチェーンとは独立して評価し、1ホップでも6日前の証明書と怪しいTLDの組み合わせはフラグを立てます。 | 作成時、宛先変更時、定期再チェック |
| 物理インスタンスの来歴 | デコードされたペイロードをキーとするクラウドソース型ハッシュ台帳。短期間に多数の離れたリージョンからスキャンされた1枚のQRはステッカー攻撃の候補として浮上します。当社が発行するすべてのリンクは作成時にクリーンな来歴エントリーを持つため、正規のProコードへのオーバーレイ攻撃を検出できます。 | 継続的 |
| ビジュアルブランドの乖離 | コードが使用するブランドロゴの正規ドメインセットにデコード先が含まれない場合、そのコードはブランド乖離と判定されます。センターロゴ機能を使用するすべてのProコードに適用し、攻撃者はChaseのロゴを付けたコードをChase以外のドメインに向けることができません。 | 作成時、ロゴ変更時、宛先変更時 |
| センサー/会場トポロジー | 会場固定コード(駐車メーター・ホテルチェックイン・飲食店メニュー・博物館展示)の場合、スキャンデバイスの周辺RFコンテキストがその会場の登録済みトポロジーと照合されます。不一致は不正ステッカーの最初のスキャンでもセンサーコンテキスト異常として返ります。Enterpriseティア。会場オペレーターがコード作成時に期待するトポロジーを登録します。 | スキャンごと |
顧客側の変更問題
ProリンクのURLは顧客のサーバー上にあり、当社のサーバーにはありません。顧客はAbundera APIを呼ばずにexample.com/promoを本物のプロモから詐欺ページに切り替えることができます。当社はこれをエッジケースではなく主要な悪用経路として扱います。アクティブな宛先に対して定期的な再チェックを実施し、クローキング検出レイヤーは送信後にページが変化するケースを特に標的にします。作成後に宛先がチェックを通らなくなった場合、リンクは自動停止され、オーナーに具体的な判定内容がメールで通知され、監査証跡にイベントが記録されます。
誤検知と異議申し立て
脅威インテルは間違えることがあります。新発行の証明書を使う正規ブランド、ページが正当な理由で変わった本物のプロモ、移転したドメイン。すべてのブロックと自動停止には、発動した具体的な判定レイヤー・トリガーとなった入力・1営業日以内に人間にエスカレートされるワンクリック異議申し立てが含まれます。削除より停止を優先します。停止されたリンクは異議申し立てが通れば数秒で再有効化できます。
単一リージョン所在地(Agency以上およびカスタムEnterprise)
EUのみまたはAPACのみのお客様向けに、Agencyティアのお客様は以下をリクエストできます。
- 単一管轄へのD1配置(EU: EEUR または WEUR、APAC: APAC)。Cloudflareはデータベース作成時に
locationヒントを受け付け、当社は指定リージョンにテナント別のD1シャードを作成します(ADR-0010)。 - 同じ管轄のR2バケット, 毎晩の暗号化D1 → R2バックアップが対応リージョンに保存されます。
- トランザクションメール用のZepto EUリージョン, サービスレベルで設定され、コード変更は不要です。
- KVはグローバルのまま, エッジレプリケーションは <50ms リダイレクト保証の根幹です。単一リージョンKVが必須要件の場合はご相談ください。お客様のキャンペーンでリージョン限定Workerが実現可能かどうか検討します。
単一リージョンアドオンの料金は定額(シートごとの追加料金なし)で、具体的な組み合わせによります。対象管轄と予想スキャン数を明記の上、enterprise@abundera.aiまでお問い合わせください。
コンプライアンスの状況
- GDPR, 設計段階からの最小データ収集(国とデバイス種別のみ、IP・UA・Cookieなし)、ワンクリックエクスポート、30日での完全削除。すべての有料ティアにDPAとEU SCCを提供します。
- CCPA, 同じエクスポート・削除サービスで対応。「データの販売」は行いません。第三者共有・広告パートナー・リターゲティングは一切なし。
- SSO + SCIMプロビジョニング, SAML 2.0 + OIDCシングルサインオンとSCIM 2.0によるユーザーおよびグループのライフサイクル管理(AgencyおよびカスタムEnterprise)。RFC 7643/7644準拠確認済み(PingIdentity派生テストスイートで20/20)。接続ごとの機能フラグによりSCIMはデフォルト無効で顧客ごとに有効化。トークンあたり毎秒50リクエストに制限。監査ログ記録済み。Okta/Entra/JumpCloudはカスタムSCIMアプリとして今すぐ利用可能。パートナーカタログへの掲載も進行中。
- SOC 2 Type II, スコーピング中。6〜9ヶ月のプロセス。必須要件の場合はenterprise@abundera.aiへご連絡ください。現状と見込みタイムラインをお伝えします。
- PCI-DSS, 当社の直接スコープ外。決済はStripe(PCI Level 1認定)がエンドツーエンドで処理します。
セキュリティ脆弱性の開示
脆弱性を発見しましたか?security@abundera.aiまでメールでご連絡ください。協調的開示を採用しています。24時間以内(営業日)に確認の返信、72時間以内にトリアージを行い、修正と開示のスケジュールを調整します。バグバウンティプログラムはまだありませんが、修正リリース後にabundera.ai/security/thanks/で発見者を公表して感謝の意を示します。