AXIOM

AXIOM 通信仕様書

対象: 本サイトで配布している docker-compose.prod.yml による構成

1. 構成

AXIOMは次のコンテナで構成され、すべてお使いのホスト上で動作します。

  • Web画面(Next.js):ホストのポート 3001 で公開
  • API(Go):ホストのポート 8081 で公開。認証、ジョブ管理、ライセンスキーの検証を行います。
  • テスト実行ランナー(Python / Playwright / Maestro):Dockerネットワーク内でのみ通信
  • PostgreSQL / Redis / MinIO:ホストの 127.0.0.1 のみにポートを公開し、外部ネットワークからは接続できません。

テスト対象のURL、ログイン情報、テストコード、画面の内容、実行動画、スクリーンショットは、PostgreSQLとMinIOのボリュームに保存されます。

Web画面とAPIのポートは、初期設定ではホストのすべてのネットワークインターフェースで待ち受けます。社外に公開しない場合は、ファイアウォール等で接続元を制限してください。

2. 外部との通信

設定したAIプロバイダ(OpenAI / Google / Anthropic)

タイミング: AI機能の利用時

テスト生成・修正・分析に必要なシナリオ、テストコード、画面の情報を送信します。Ollamaを指定した場合、この通信は指定したOllamaとの間でのみ行われます。

telemetry.axiom-qa.com

タイミング: 1日1回

インスタンスID、ライセンスID、バージョン、OS、CPUアーキテクチャ、稼働時間、テスト実行数などの件数、AIプロバイダの種類を送信します。AXIOM_TELEMETRY_DISABLED=true で停止できます。

テスト対象のシステム

タイミング: テストの実行時

ランナーがテスト対象にアクセスします。

ghcr.io、Docker Hub

タイミング: コンテナイメージの取得時

インストール時および更新時にイメージを取得します。インターネットに接続できない環境では、事前に取得したイメージを読み込んでください。

3. ライセンスキーの検証

ライセンスキー(AXIOM-LIC-...)には運営者の電子署名(Ed25519)が付いており、APIに組み込まれた公開鍵で署名と有効期限を検証します。検証のために外部と通信することはありません。

なお、利用統計の送信が有効な場合、その応答でライセンスが無効化されているかどうかを確認します。