---
url: 'https://dxpr.com/ja/hc/documentation/learn-dxpr-builder/getting-started/behind-a-firewall'
title: 'ファイアウォールとデータレジデンシー | DXPR'
author:
  name: Jurriaan
  url: 'https://dxpr.com/users/jurriaan'
date: '2026-10-24T14:17:54+00:00'
updated: '2026-10-24T17:19:22+00:00'
copyright: 'Copyright DXPR. All rights reserved.'
type: article
summary: 'DXPR Builderはページを自分のDrupalデータベースに保存します。ライセンス確認、エディターアセット、AIリクエストのためにDXPRサービスに接続します。このページではすべての接続先、各接続が運ぶ内容、DXAI Kavyaモデルの動作場所、プロダクトキーの保存方法、外部アクセス制限時に動作する内容を説明します。'
tags:
  - 'Meet compliance requirements'
image: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
published: true
og:
  site_name: DXPR
  updated_time: '2026-10-24T17:19:22+0000'
  'image:alt': 'DXPR, powered by Drupal: AI-powered Drupal for marketers.'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      mainEntity: {  }
    -
      '@type': TechArticle
      headline: ファイアウォールとデータレジデンシー
      description: 'DXPR Builderはページを自分のDrupalデータベースに保存します。ライセンス確認、エディターアセット、AIリクエストのためにDXPRサービスに接続します。このページではすべての接続先、各接続が運ぶ内容、DXAI Kavyaモデルの動作場所、プロダクトキーの保存方法、外部アクセス制限時に動作する内容を説明します。'
      image:
        '@type': ImageObject
        url: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
        width: '1200'
        height: '630'
      datePublished: '2026-10-24T14:17:54+0000'
      dateModified: '2026-10-24T17:19:22+0000'
      author:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      mainEntityOfPage: 'https://dxpr.com/ja/hc/documentation/learn-dxpr-builder/getting-started/behind-a-firewall'
      articleSection: コンプライアンス対応
    -
      '@type': WebPage
      '@id': 'https://dxpr.com/ja/hc/documentation/learn-dxpr-builder/getting-started/behind-a-firewall'
      description: 'DXPR Builderはページを自分のDrupalデータベースに保存します。ライセンス確認、エディターアセット、AIリクエストのためにDXPRサービスに接続します。このページではすべての接続先、各接続が運ぶ内容、DXAI Kavyaモデルの動作場所、プロダクトキーの保存方法、外部アクセス制限時に動作する内容を説明します。'
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: ホーム
            item: 'https://dxpr.com/ja'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
      inLanguage: ja
---
[ヘルプセンター](/ja/node/75)/[ドキュメント](/ja/hc/documentation) /[DXPR Builderを学ぶ](/ja/hc/documentation/learn-dxpr-builder) /[サイト管理](/ja/hc/documentation/learn-dxpr-builder/manage) /[コンプライアンス対応](/ja/hc/documentation/learn-dxpr-builder/manage/compliance) # ファイアウォールとデータレジデンシー.

 DXPR Builderを学ぶサイト管理コンプライアンス対応

   ## このガイドの内容

 関連ガイド

- [DrupalサイトへのDXPR Builderのインストール](/ja/hc/documentation/learn-dxpr-builder/getting-started/installation)
- [セキュリティ](/ja/hc/documentation/learn-dxpr-builder/advanced/security)
- [ライセンスとプロダクトキーのエラー](/ja/hc/documentation/learn-dxpr-builder/troubleshooting/licence-and-product-key)

DXPR Builderはページを自分のDrupalデータベースに保存します。ライセンス確認、エディターアセット、AIリクエストのためにDXPRサービスに接続します。このページではすべての接続先、各接続が運ぶ内容、DXAI Kavyaモデルの動作場所、プロダクトキーの保存方法、外部アクセス制限時に動作する内容を説明します。

## 接続一覧

| ホスト | 接続元 | 目的 | 必要な機能 |
|---|---|---|---|
| `dxpr.com` | Drupalサーバー | ライセンス状態、ドメインチェック、ライセンスユーザーの同期 | 編集 |
| `cdn2.dxpr.com` | エディターのブラウザー | エディターのJavaScriptとCSS（プライマリー） | 編集 |
| `cdn.dxpr.com` | エディターのブラウザー | エディターのJavaScriptとCSS（フォールバック） | 編集 |
| `kavya.dxpr.com` | Drupalサーバー | AIリクエストとAIクレジット残高 | AI機能 |
| `html-extract.dxpr.com` | エディターのブラウザー | AIの「URLからの複製」 | AI機能 |
| `r.jina.ai`（サードパーティー） | エディターのブラウザー | プロンプト内のURLのWebページ読み取り | AI機能 |
| `tuur.dxpr.com` | エディターのブラウザー | エディターの利用状況分析 | 任意 |

すべての接続はポート443のHTTPSです。サイト訪問者はDXPRサーバーから何も読み込みません。公開ページはデータベースに保存されたHTMLから描画され、フロントエンドスクリプト（`dxpr_builder/dxpr_frontend.min.js`）はモジュールに同梱です。`app.dxpr.com`は管理者に表示されるリンクにのみ現れます。

## ライセンス確認（`dxpr.com`）

Drupalサーバーは`src/Service/DxprBuilderLicenseServiceInterface.php`定義の4つのエンドポイントを呼びます。各呼び出しはプロダクトキーを`Authorization: Bearer`ヘッダーで送ります。

| エンドポイント | タイミング | 送信データ |
|---|---|---|
| `GET /api/user-license` | 認証済みは24時間ごと、未認証は30分ごと | `gba`と`users_tier`（`edit with dxpr builder`権限を持つアカウント数と該当ティア）、`values_count`（ビルダーフィールドを使うコンテンツアイテム数）、`site_base_url`、`site`（サイトのハッシュソルトのHMAC。ソルト自体は送りません）、`site_mail`（`system.site`由来）、`project`、`version` |
| `GET /api/domain-blacklist/{hostname}` | 1時間ごと | ホスト名のみ。認証ヘッダーなし |
| `POST /api/central-user-storage/{add,remove,sync}` | アカウント、権限、プロダクトキー変更時。後続処理はキューに入りcronで実行 | ホスト名に加え、編集権限を持つ各アカウントのメールアドレスとロール名。有効なメールアドレスのないアカウントは飛ばします |
| `GET /api/user-license/users` | User Licensesページを開いたとき | キー以外なし |

ページコンテンツがライセンスリクエストに含まれることはありません。モジュールはフロントページに隠し`<div>`も出力します。固定マーカー文字列、ライセンスティア、エディター数、保存回数が入ります（`dxpr_builder.module`の`dxpr_builder_page_bottom()`）。ページソースで読めます。

## エディターアセット（`cdn2.dxpr.com`、`cdn.dxpr.com`）

設定が**Editor Assets**＝**Cloud**（初期値）の場合、エディターのブラウザーはビルダーのJavaScriptとCSSを`https://cdn2.dxpr.com/<version>/`から読み込みます。`/health`プローブ失敗後は`https://cdn.dxpr.com/<version>/`にフォールバックします。プロダクトキーは各アセットURLに`jwt`クエリーパラメーターで付きます（`dxpr_builder_library_info_build()`）。CDNはそのキーを確認します。401応答では`js/editor_validation.js`が「Your product key is not valid」と表示します。

選択肢**Local (minified)**と**Local (unminified)**は、モジュールの`dxpr_builder/`ディレクトリーにエディターのビルド済みコピーがある場合のみ設定フォームに表示されます。そのコピーはCloud選択時も自動で使われます。Gitリポジトリーはこれらのビルド済みファイルを追跡しないため、drupal.orgからダウンロードしたリリースではエディターはCDNから読み込まれます。

## AIリクエスト（`kavya.dxpr.com`）

ブラウザーが`kavya.dxpr.com`に直接接続することはありません。エディターは自分のサイトのルート（`/dxpr_builder/ajax/ai/chat`、`/dxpr_builder/ajax/ai/image`、`/dxpr_builder/ajax/ai/image/edit`。いずれも`edit with dxpr builder`権限、CSRFトークン、ライセンス済みアカウントが必要）に投稿します。サイトは各リクエストをDrupal AIモジュールのDXPRプロバイダー（`ai_provider_dxpr`）経由で`https://kavya.dxpr.com/v1/chat/completions`、`/v1/images/generations`、`/v1/images/edits`に中継します。認証はKeyモジュールに保存されたDXPR APIキーです。プロバイダーの`host`設定（`ai_provider_dxpr.settings`）で別のホストに向けられます。別途、AI設定ページはプロダクトキーで`GET https://kavya.dxpr.com/v1/account/balance`を呼び、クレジット残高を表示します。

### AIリクエストの内容

ページコンテンツをサイト外に送るのはAI機能のみで、編集者が実行したときに限ります（`dxpr_builder/build/dxpr-global/ai-service.js`）。

| リクエスト | 送信内容 |
|---|---|
| テキストとページの生成 | システムプロンプト、エディターのプロンプト、チャット履歴 |
| エレメント選択時 | エレメントの外側HTML。500文字以下は全体、それ以上は先頭と末尾の200文字 |
| ページレベルの操作 | 既存ページのHTML（最大50,000文字）。ページ全体の置き換え時はページ全体 |
| 任意フィールド | モデル名、有効プロバイダーの順序、予測HTML結果、許可タグとクラス、`web_search`フラグ、応答形式 |
| 画像生成 | プロンプト、サイズ、品質、背景 |
| 画像編集 | 同上とソース画像（base64エンコード） |

2つのおまけ機能がエディターのブラウザーからWebページを取得します（`ai-service-url-fetch.js`）。プロンプト内のURLは`.md`付きでリクエストし、失敗時はサードパーティーのリーダーサービス（DXPR運営外）`https://r.jina.ai/<url>`経由です。ページ複製のプロンプトではURLを`https://html-extract.dxpr.com/?url=...`に送ります。いずれも送るのはURLのみです。

AI出力は戻り際にフィルターされます。許可ドメイン、ブロックタグ、許可タグは`/admin/dxpr_studio/dxpr_builder/ai_settings`の**AI Output Filtering**で設定します。

## DXAI Kavyaモデルの動作場所

DXPR Builderは3つのモデルを提供します（`src/Constants/AiModelConstants.php`）。

| モデル | API名 | 設定フォームの説明 |
|---|---|---|
| DXAI Kavya M1 | `kavya-m1` | Best performance (OpenAI, Google Gemini, Anthropic) |
| DXAI Kavya M1 EU | `kavya-m1-eu` | Privacy-focused (MistralAI) |
| DXAI Kavya M1 Fast | `kavya-m1-fast` | Fastest responses, lower quality |

どちらのモジュールにも地域設定はありません。データレジデンシーはモデルと有効化した上流プロバイダーで決まります。

- `kavya-m1`は5つのプロバイダー間でフェイルオーバーします。DXPR AIプロバイダー設定フォームの国名付き一覧：Anthropic（米国）、Google Gemini（米国）、MistralAI（フランス）、OpenAI（米国）、XAI（米国）。**Manual priority**モードでは、プロバイダーを**Enabled**と**Disabled**間でドラッグし、順序を設定します。
- `kavya-m1-eu`はMistralAIのみ使います。DXPR AIプロバイダーREADMEには「データを欧州域内に保持（オランダのサーバー）」とあり、ドキュメントにはKavyaサーバーがオランダで動作しバックアップがドイツにあること、リクエストはフランスのMistralAIサーバーを経由すること、EU域外プロバイダーへのフォールバックがないことが書かれています。これらの場所はDXPRの文書によるもので、Drupalコードで強制されるものではありません。

モジュール`ai_provider_dxpr`が入っている場合、モデルは`/admin/config/ai/providers/dxpr`で選び、`allowed_models`設定で編集者が選べるモデルを制限します。未インストールの場合、モデルとプロバイダーの順序は`/admin/dxpr_studio/dxpr_builder/ai_settings`で設定します。

## プロダクトキーの保存方法

セクション**License**の`/admin/dxpr_studio/dxpr_builder/settings`には2つの**Storage method**選択肢があります（`src/Form/DxprBuilderSettingsForm.php`、`src/Service/DxprBuilderKeyService.php`）。

- **Key module**：**Key**で選んだKeyエンティティからキーを読みます。`dxpr_builder_update_9020()`は`dxpr_builder.settings`内のキーをKeyエンティティ`dxpr_builder_jwt`に移します。その**Configuration**プロバイダーは引き続きエクスポートします。**File**または**Environment**プロバイダーのみ、設定エクスポートからキーを外せます。
- **Configuration storage**：キーは`dxpr_builder.settings.json_web_token`に平文で保存され、設定エクスポートに含まれます。

プロダクトキーはJSON Web Tokenで、ライセンス呼び出し、クレジット残高呼び出し、CDNアセットURLを認証します。認証情報として扱います。

## ファイアウォール設定

| 接続元 | 外部HTTPS許可先 | 備考 |
|---|---|---|
| Drupalサーバー | `dxpr.com` | ライセンス |
| Drupalサーバー | `kavya.dxpr.com` | AIのみ |
| 編集者のワークステーション | `cdn2.dxpr.com`、`cdn.dxpr.com` | エディターアセット |
| 編集者のワークステーション | `html-extract.dxpr.com`、`r.jina.ai` | AIのみ。これらをブロックしてもURL調査と複製が無効になるだけです |
| 編集者のワークステーション | `tuur.dxpr.com` | 分析。ブロックしても編集への影響はありません |

分析（`dxpr_builder/build/dxpr-analytics/`、PostHog）は、エディターのメールアドレスとサイトホスト名でイベントを識別します。`drush config:set dxpr_builder.settings record_analytics 0`で無効化します。このキーにフォームフィールドはありません。フォームフィールドのないキーが他に2つ、`dxpr_builder.settings`から読まれます。`cloud_url`はCDNベースURLを置き換えます（`VERSION`はモジュールバージョンに置換）。`license_endpoint`は中央ユーザー保存エンドポイントを置き換えます。`settings.php`の設定上書きで指定します。

## プロキシー設定

ライセンスとAI呼び出しはDrupalのHTTPクライアントを使うため、プロキシーは`settings.php`で設定します。

```php
$settings['http_client_config']['proxy'] = [
  'http' => 'http://proxy.example.com:8080',
  'https' => 'http://proxy.example.com:8080',
  'no' => ['localhost', '127.0.0.1'],
];

```

エディターのブラウザーはCDNアセットを読み込み、分析・リーダーサービスを直接呼ぶため、それらのリクエストはワークステーションのプロキシー設定に従います。

## エアギャップとオンプレミスの導入

DXPR Builderは自分のサーバーで動作します。コンテンツがホスト型コンポーネントを通過することはありません。サーバーもエディターもDXPRに届かない場合：

| 機能 | DXPRアクセスなしの場合 |
|---|---|
| 公開ページの提供 | 動作します。DXPRからの読み込みはありません |
| コンテンツ保存 | 動作します。ページはデータベースのフィールド値です |
| エディターの読み込み | エディターのローカルビルドがない限り失敗します。場所は`dxpr_builder/` |
| ライセンス検証 | 失敗します。モジュールはエラーを記録し、管理者に「We are having trouble connecting to the DXPR servers」と表示して30分ごとに再試行します。プロダクトキー設定中は編集をブロックしません |
| User Licensesページ | 空で、必要なのは`dxpr.com` |
| AI機能 | 利用不可です。各リクエストの経由地は`kavya.dxpr.com` |
| 分析、URL調査、URLからの複製 | 静かに飛ばされます |

プロダクトキーなしでは、モジュールは無料ティア制限をコードで適用します。エディター1人、コンテンツアイテム100件です。

完全オンプレミスの導入では、提供と保存は動作します。編集にはCDNアクセスかローカルエディタービルド、ライセンス検証には`dxpr.com`が必要です。内部ホスト用のエディタービルドが必要な場合はDXPRにお問い合わせください。

## 次のステップ

- [インストール](/ja/hc/documentation/learn-dxpr-builder/getting-started/installation)：プロダクトキーと保存方法を設定します
- [AI機能](/hc/documentation/learn-dxpr-builder/ai)：AIを有効化し、モデルを選びます
- [セキュリティ](/ja/hc/documentation/learn-dxpr-builder/advanced/security)：権限と出力フィルターを確認できます
- [ライセンスとプロダクトキー](/ja/hc/documentation/learn-dxpr-builder/troubleshooting/licence-and-product-key)：ライセンスエラーの対処法を確認できます