◼︎基本方針
本ツールは、Google広告アカウントに対する自動変更を一切行いません。以下はその運用保証です。
- キャンペーンの自動変更なし
- 入札の自動変更なし
- 予算の自動変更なし
- キーワードの自動変更なし
- 広告文の自動変更なし
- アカウントに影響するすべての操作に、運営者(高野)の承認が必須
- 認証情報はローカル環境にのみ保存
- 認証情報をGitの管理対象に含めない
- 認証情報を第三者と共有しない
◼︎読み取り専用の担保方法
Google Ads APIのOAuthスコープ(https://www.googleapis.com/auth/adwords)自体は、技術的には読み取りと書き込みの両方をカバーするものです。そのため本ツールでは、読み取り専用であることを「運用ルール」および「コード実装レベル」の両方で担保しています。
キャンペーン・広告グループ・キーワード・広告を変更するAPI(Mutate系のサービス)は、コード上に一切実装しておらず、呼び出してもいません。現在コード上に存在するGoogle Ads API呼び出しは、アカウント一覧の取得(ListAccessibleCustomers)とアカウント基本情報の読み取り(GoogleAdsService.Search)のみです。これはソースコードを確認すれば検証できます。
◼︎認証方式
Google Ads APIへの接続には、OAuth2(デスクトップアプリケーション向けのInstalled Appフロー)を使用しています。認証は最初に1度だけ、ローカル環境で一時的に起動するリダイレクトリスナーを通じて行い、以降はそこで取得したリフレッシュトークンを使用します。
◼︎認証情報の管理方法
- リフレッシュトークンは取得時に一度だけターミナルへ表示され、ファイルへ自動保存されることはありません。運営者が手動でローカルの設定ファイル(.env)へ記録します
- 開発者トークン・クライアントシークレット・リフレッシュトークンは、ソースコード・ログファイル・エラーメッセージのいずれにも書き込まれません。エラー発生時も、エラーの種類のみを記録し、認証情報を含みうるエラー本文は記録しません
- .envファイルはGitの管理対象から除外しています
- 認証情報を、本ツールの開発に利用する外部サービス等へ入力・共有することはありません
- 認証情報の送信先は、Google自身のOAuth・Google Ads APIのエンドポイントに限られます
◼︎人間による承認プロセス
本ツールが作成する分析レポートに含まれる改善提案には、それぞれ承認区分が設定されています。
- 提案のみ:本ツールが提案するだけで、実行判断は完全に人間に委ねられる
- 承認必須:本ツールが実行案を用意し、運営者が明示的に承認した場合のみ実行される
- 自動実行:現時点では一切使用していません
アカウントに変更を加えるすべての提案は、現状「承認必須」に固定されています。この制限を緩和する場合も、運営者自身の明示的な判断によってのみ行われます。
◼︎開発者トークンの管理
開発者トークンは、ローカルの設定ファイル(.env)にのみ保存し、実行時に環境変数として読み込みます。ログや画面への表示は行いません。トークンの現在のアクセスレベルは、Google Ads API Centerで実際に確認したうえで判断し、推測で扱うことはしません。