社員のSaaSの利用申請ごとに、公開情報から確かめるべき点の質問と承認者向けの要約を作り、情報システムの審査へ回す
社員からSaaSの利用申請が届くたびに、申請内容と提供元の公開ページを読み、データの保存先・認証・連携について確かめるべき点の質問と、承認者向けの要約を作って情報システムの審査に回します。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- IT・SaaS/人材/広告/製造/金融
- 対象部門
- 情報システム
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 人手が足りない/判断に時間がかかる/属人化している
- AIで行う処理
- 生成
- 主な効果
- 判断支援/品質標準化/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- ノーコード連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 申請がフォームに届き、審査担当に通知が来る
- 審査担当が申請を読み、扱うデータの種類と連携先を確かめる。書き漏れがあれば申請者に聞き返す
- 提供元のWebサイトを開き、セキュリティ、プライバシーポリシー、利用規約、ヘルプのページを探して読む
- 審査の観点ごとに、分かったことを台帳にメモする
- 分からなかったことを、提供元への質問か申請者への質問にまとめる
- 承認者(部門長と情報システムの責任者)向けに、申請の要旨と気になる点を数行にまとめる
- 台帳に登録し、承認の手続に回す
- 人申請者がフォームに申請を書き、提供元のセキュリティ・プライバシーのページのURLを貼る
- 自動申請の送信をきっかけに Zap が動く
- 自動審査の台帳を引き、同じサービスの過去の審査があるかを確かめる
- 自動申請に貼られた提供元のページを取得し、HTMLのタグを外して本文にする
- 自動AIが申請内容とページの本文を読み、観点ごとに「書かれている」「書かれていない」「判断できない」を分け、根拠の文を書き出す
- 自動書かれていない観点を、提供元への質問と申請者への質問に変える
- 自動承認者向けの要約を作る
- 自動扱うデータの種類で審査の重さを決め、台帳に1行足し、審査担当へ知らせる
- 人審査担当が根拠のURLを開いて確かめ、質問を直して提供元または申請者に送る
- 人回答がそろったら、審査担当が可否の意見を付け、承認者が決める
各工程の詳しい説明を読む
- 申請がフォームに届き、審査担当に通知が来る
- 審査担当が申請を読み、扱うデータの種類と連携先を確かめる。書き漏れがあれば申請者に聞き返す
- 提供元のWebサイトを開き、セキュリティ、プライバシーポリシー、利用規約、ヘルプのページを探して読む
- 審査の観点ごとに、分かったことを台帳にメモする
- 分からなかったことを、提供元への質問か申請者への質問にまとめる
- 承認者(部門長と情報システムの責任者)向けに、申請の要旨と気になる点を数行にまとめる
- 台帳に登録し、承認の手続に回す
(a)提供元のページを探すのに時間がかかる。 セキュリティのページの名前はサービスごとに違い、トラストセンター、セキュリティ、コンプライアンス、ヘルプの一項目と、置き場所もばらばらです。読む時間より探す時間のほうが長い申請もあります。
(b)担当者によって調べる深さが違う。 経験のある担当者は、保存先の国、サブプロセッサの一覧、解約後のデータの削除まで見ます。忙しい月や新しい担当者は、シングルサインオンの有無だけ見て台帳を埋めることがあります。審査の結果が、誰が見たかで変わります。
(c)承認者が判断の材料を読み切れない。 台帳のメモは審査担当の言葉で書かれ、承認者には「SAML可、ISO有、保存先US」のように見えます。それが自社にとって何を意味するのかは、承認者が聞き返さないと分かりません。
(d)同じサービスを何度も調べる。 別の部署から同じサービスの申請が来ても、前回の台帳を探さずに最初から調べ直すことがあります。前回の審査の結果が見つからないのは、台帳がサービス名の表記ゆれで引けないためです。
- 【人】 申請者がフォームに申請を書き、提供元のセキュリティ・プライバシーのページのURLを貼る
- 【自動】 申請の送信をきっかけに Zap が動く
- 【自動】 審査の台帳を引き、同じサービスの過去の審査があるかを確かめる
- 【自動】 申請に貼られた提供元のページを取得し、HTMLのタグを外して本文にする
- 【自動】 AIが申請内容とページの本文を読み、観点ごとに「書かれている」「書かれていない」「判断できない」を分け、根拠の文を書き出す
- 【自動】 書かれていない観点を、提供元への質問と申請者への質問に変える
- 【自動】 承認者向けの要約を作る
- 【自動】 扱うデータの種類で審査の重さを決め、台帳に1行足し、審査担当へ知らせる
- 【人】 審査担当が根拠のURLを開いて確かめ、質問を直して提供元または申請者に送る
- 【人】 回答がそろったら、審査担当が可否の意見を付け、承認者が決める
9番目が、この設計の分かれ目です。 審査担当は要約を読むだけで済ませず、根拠の文を開いて確かめます。 そのぶん時間は残りますが、探す時間が無くなります。
8番目の審査の重さは、AIではなく申請の選択肢で決めています。 「顧客の情報」「個人情報を含む」を選んだ申請は重い審査、それ以外は軽い審査です。重さの判断を、提供元のページの書きぶりに左右させないためです。
02今回想定するシステム構成
社内の申請フォーム(送信時に Webhook を呼ぶ) │ ▼【トリガー】Webhooks by Zapier(Catch Hook) Zapier の Zap ├──▶ Google Sheets:Lookup Spreadsheet Row で過去の審査を引く ├──▶ Webhooks by Zapier:GET で提供元のページを取得(最大3つ) ├──▶ Formatter:Remove HTML Tags で本文だけにする ├──▶ AI by Zapier(Analyze and Return Data) │ 観点ごとの found/not_found/unclear と根拠の文 │ 提供元への質問/申請者への質問/承認者向けの要約 ├──▶ Paths:扱うデータの種類で重い審査と軽い審査に分ける ├──▶ Google Sheets:審査の台帳に1行追加 └──▶ Gmail:審査担当へ通知、提供元への質問の下書き ▼【人】根拠の確認、質問の送付、可否の判断
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Zapier(Webhooks by Zapier、Formatter、Paths、Google Sheets、Gmail) | Make、Power Automate、n8n |
| 生成AI | AI by Zapier(Analyze and Return Data) | ChatGPT(OpenAI)、Claude、Gemini |
| 保管 | Google スプレッドシート(審査の台帳) | Airtable |
| メール | Gmail(情報システムの共有アドレス) | Microsoft Outlook |
新しく足すのは、Zap と、審査の台帳の列だけです。 申請フォームはいまのものに、提供元のページのURLを貼る欄と、送信時に Webhook を呼ぶ設定を足します。
申請フォームから Zapier へは Webhook で渡します。 Webhooks by Zapier の Catch Hook は GET・PUT・POST を受けてリクエストの本文を解析し、Zap ごとにURLが発行されます。 トリガーで受け取れる大きさは10MBまでで、Webhook は Professional 以上の有料プランで使えます。
この構成で必ず知っておくべき制約があります。 AI by Zapier は、WebサイトやURLから情報を検索・抽出できないとされています。URLを指示に書いても、AIはそのページを読みに行きません。そこで、ページの取得は Webhooks by Zapier の GET で行い、取得した本文をAIに渡します。 GET は情報をサーバーから取ってくるための方式で、取得した結果は自動で解析されます。
取得したページはHTMLのままなので、Formatter の Remove HTML Tags で本文だけにします。 すべてのHTMLタグを外し、書式の無い文字列にする変換です。タグを残したまま渡すと、AIに渡す量の大半がタグになります。
03どうやって実装するのか
処理の起点を決める
申請フォームの送信を1件ずつきっかけにします。 フォームの側で、送信時に Catch Hook のURLへ申請の内容を送る設定を入れます。毎日まとめて処理する形にはしません。 申請者は使いたいから申請しているので、審査に入るまでの待ちが1日延びるごとに、申請を通さずに使い始める誘惑が増えます。
申請者が申請を取り下げ、出し直したときも、新しい申請として動きます。 台帳には申請番号ごとに1行ずつ足し、同じサービスかどうかは次の段の過去の審査の照会で見ます。
Catch Hook はJSONの配列を受け取ると、要素ごとに Zap を動かします。フォームの側で1件ずつ送る設定にし、まとめて送らないようにします。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 申請 | サービス名、提供元のURL、使う目的、扱うデータの種類、使う人数、連携したい社内のシステム、試用か本契約か | 申請フォーム |
| 提供元のページ | セキュリティ(トラストセンター)、プライバシーポリシー、データの取扱いのページ(最大3つ) | 申請者が貼ったURLを GET で取得 |
| 過去の審査 | 同じ提供元のドメインの審査の結果と日付、そのときの質問と回答 | 審査の台帳 |
| 審査の観点 | 7つの観点と、それぞれで見るもの | 指示の中に書く |
質を決めるのは、申請者が貼るURLです。 提供元のトップページのURLだけでは、セキュリティの記載はほとんど取れません。申請フォームの説明に「セキュリティ」「トラスト」「プライバシー」などの名前のページを探して貼ってください、と書き、見つからなければ空でよいとしておきます。空のときは、AIは申請内容だけで質問を作ります。
過去の審査は、サービス名ではなく提供元のドメインで引きます。 申請者によって「〇〇」「〇〇 Pro」「〇〇(英語名)」と書き方が変わるので、申請フォームに「提供元のドメイン(例:example.com)」の欄を設け、それで引くほうが確実に一致します。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 申請の各欄 | Catch Hook の出力 | AIへの入力と、審査の重さの判定 |
| 提供元のドメイン | 申請フォームのドメインの欄 | 過去の審査の照会 |
| 過去の審査 | Lookup Spreadsheet Row(ドメインの列で探す) | 同じサービスの再申請かどうか |
| ページの本文 | Webhooks by Zapier の GET → Formatter の Remove HTML Tags | 観点ごとの記載の有無と根拠 |
ページは最大3つまでにします。 1つの申請で何十ページも取得すると、本文が長くなり、AIが根拠の文を取り違えます。セキュリティ、プライバシー、データの取扱いの3つで、審査の観点の大半は埋まります。
取得に失敗したページは、失敗したと記録します。 ログインが要るページ、ブラウザでスクリプトを動かさないと本文が出ないページは、GET では中身が取れません。取れなかったことを「書かれていない」と区別するために、取得の結果(成功・失敗・本文が短すぎる)をAIに一緒に渡します。
過去の審査が見つかったら、その結果もAIに渡します。 前回の質問と提供元の回答があれば、今回の質問から、すでに答えのあるものを外せます。
AIへ渡す前に整形する
- URLの形を確かめる …
https://で始まらないもの、社内のアドレスは取得しません - ドメインの書き方をそろえる … 申請フォームの説明に「
www.を付けず、example.comの形で」と書き、台帳の側も同じ形で持ちます。書き方がずれると、過去の審査があっても引けず、同じサービスを最初から調べ直すことになります - ページを取得する … GET で取得し、応答の状態を記録します。Webhook のアクションで扱える大きさは5MBまでです
- タグを外す … Remove HTML Tags で本文だけにします
- 本文の長さを確かめる … 数百文字しか残らないページは「本文が取れなかった」として印を付けます
- ページごとに見出しを付ける … 「ページ1(URL):本文」の形で並べ、AIが根拠のURLを書けるようにします
- 審査の重さを決める … 扱うデータの種類の選択肢から、規則で
heavyかlightを決めます
5番目を省くと、取れなかったページを「何も書かれていないページ」としてAIが読みます。 その結果、すべての観点が not_found になり、提供元に聞かなくてよい質問まで並びます。
AIに処理させる
させるのは、7つの観点ごとに、ページに書かれていることを根拠付きで拾い、書かれていないことを質問に変えることです。
| 観点 | 拾うもの | 書かれていないときの質問の例 |
|---|---|---|
| データの保存先 | 保存・処理する国や地域、選べるか | 「お預けするデータを保存・処理する国・地域を教えてください」 |
| 認証 | シングルサインオン(SAML など)、多要素認証 | 「シングルサインオンに対応したプランはありますか」 |
| 連携 | API、連携アプリ、求める権限の範囲 | 「連携の際に求めるアクセス権限の範囲を教えてください」 |
| 第三者の認証 | ISO/IEC 27001、SOC 2 などの記載 | 「取得している第三者の認証と、報告書の提供の可否を教えてください」 |
| 委託先 | サブプロセッサ(再委託先)の一覧の有無 | 「データの処理を委託している先の一覧はありますか」 |
| 解約時の扱い | 解約後のデータの削除・返却 | 「解約した後、データはいつまでにどう削除されますか」 |
| 学習への利用 | 預けたデータを提供元のAIの学習に使うか | 「お預けしたデータを提供元のモデルの学習に使いますか」 |
状態は3つに分けます。 found(ページに書かれていて根拠の文がある)、not_found(取得できたページのどこにも書かれていない)、unclear(書かれているが条件付き、プランによる、など一意に読めない)です。not_found は「対応していない」という意味ではないことを、指示と要約の両方に書きます。
| させないこと | 理由 |
|---|---|
| 利用を認めるかの結論 | 審査担当と承認者が決める |
| 書かれていない機能を「非対応」と書く | 書かれていないだけのことが多い |
| ページに無い情報を一般知識で補う | 根拠の無い記載が要約に混ざる |
| 自社の基準に適合するかの判定 | 基準の解釈は審査担当が行う |
| 提供元への質問の送信 | 下書きまで。送るのは人 |
3行目が最も起きやすい失敗です。 有名なサービスほど、AIは「このサービスはSAMLに対応している」と知っていることを書きます。それが正しくても、今日のページに書かれていない限り根拠になりません。 プランや時期で変わるからです。
指示内容を固定する
あなたは情報システム部門で、社員から届いたSaaSの利用申請の一次整理をする立場です。
与えられた申請内容と、提供元のページの本文だけを根拠にしてください。
あなたが知っている一般的な情報で補わないでください。
【観点】次の7つについて、それぞれ status を1つ選ぶ
1. storage ....... データを保存・処理する国・地域
2. auth .......... シングルサインオン、多要素認証
3. integration ... API、連携アプリ、求める権限の範囲
4. certification . 第三者の認証(ISO/IEC 27001、SOC 2 など)
5. subprocessor .. 再委託先の一覧
6. termination ... 解約後のデータの削除・返却
7. ai_training ... 預けたデータを提供元のAIの学習に使うか
【status の選び方】
- found ....... ページに書かれている。evidence にその文をそのまま写し、source_url を書く
- not_found ... 取得できたページのどこにも書かれていない
- unclear ..... 書かれているが、プランや条件によって変わるなど一意に読めない
「書かれていない」ことを「対応していない」と書かないでください。
【質問の作り方】
- not_found と unclear の観点について、提供元への質問を1つずつ作る
- 申請の内容が足りないもの(連携先の権限、扱うデータの具体例など)は、
申請者への質問にする
- 過去の審査で答えが出ている観点は、質問を作らない
- 丁寧な日本語で、1問1文。はい・いいえで終わらない聞き方にする
【承認者向けの要約】
- 300字以内。申請の目的、扱うデータの種類、found の要点、
まだ分からないことの数を書く
- 「利用してよい」「問題ない」「危険」といった結論を書かない
- not_found は「公開ページでは確認できなかった」と書く
【取得の結果】{fetch_status}
(取得に失敗したページ、本文が短すぎるページは、根拠に使わないでください)
【申請】{request}
【過去の審査】{past_review}
【提供元のページの本文】{pages}
「一般的な情報で補わない」を最初に置くのは、前節の3行目のためです。 書かなければ、ページに無い記載をもっともらしく found にし、evidence に要約した文を入れます。evidence に「そのまま写す」と書くのも、写した文がページに本当にあるかを審査担当が検索で確かめられるようにするためです。
結論を書かせない指示は、要約の側にも置きます。 観点ごとの status では結論を避けても、要約で「総じて問題ないと考えられる」と締めくくることがあります。
出力形式を固定する
Analyze and Return Data の出力の項目を、次の形で定義します。
{
"service_name": "",
"checks": [
{ "aspect": "storage", "status": "found | not_found | unclear",
"evidence": "", "source_url": "" }
],
"questions_to_vendor": [""],
"questions_to_requester": [""],
"approver_summary": "",
"pages_used": [""]
}
checks には7つの観点を1つずつ並べます。aspect は storage / auth / integration / certification / subprocessor / termination / ai_training です。
1つ目の理由は、台帳の列にそのまま書けることです。 観点ごとに status の列を持たせると、台帳を見ただけで、どのサービスがどの観点で not_found のままかが並びます。 自由文の要約だけでは、この一覧は作れません。
2つ目は、質問を2つの宛先に分けておけることです。 提供元への質問は審査担当が提供元の窓口に送り、申請者への質問は申請者に返します。宛先が混ざると、申請者が提供元に聞くべきことを聞かれて困ります。
3つ目は、pages_used で根拠の範囲が残ることです。 審査の後で提供元がページを書き換えても、どのページを見た時点の整理かが分かります。
| 審査の重さ | 決め方 | 回し先 |
|---|---|---|
heavy | 扱うデータの種類が「顧客の情報」または「個人情報を含む」 | 審査担当2名と情報システムの責任者 |
light | 上記以外 | 審査担当1名 |
| 共通 | storage が not_found または unclear で heavy のとき | 提供元への保存先の質問を必ず先に送る |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 申請フォーム | Catch Hook | 申請を受け取る |
| 提供元のページ | Webhooks by Zapier の GET | 公開ページの取得 |
| Formatter | Remove HTML Tags | 本文だけにする |
| AI by Zapier | Analyze and Return Data | 観点ごとの整理、質問、要約 |
| 審査の台帳 | Lookup Spreadsheet Row、Create Spreadsheet Row | 過去の審査の照会と1行の追加 |
| Gmail | Send Email、Create Draft | 審査担当への通知と、提供元への質問の下書き |
提供元への質問は Create Draft で下書きにします。 送るのは審査担当です。提供元の窓口の宛先は、申請者か審査担当が確かめてから入れます。 AIが宛先を推測する経路を作りません。
台帳には、観点ごとの status と根拠のURL、質問の一覧、要約を1行に書きます。 審査担当は台帳の行を見ながら確認を進め、可否の意見と承認の結果も同じ行に書き足します。
人が確認する
この構成の出力は、すべて審査担当が確かめてから使います。 自動で送るものはありません。
foundの根拠を開く … source_url を開き、evidence の文がページにあるかを確かめます。特にstorageとai_trainingは必ず開きます- 質問を直す … 自社の基準に照らして要らない質問を消し、足りない質問を足します
- 提供元と申請者に送る … 下書きを確かめて送ります
- 回答を台帳に書き、可否の意見を付ける … 承認者は要約と意見を読んで決めます
- AIの整理を覆したら記録する … どの観点を、どの status に直したかを残します
1番目を省かないでください。 found の evidence が別のプランの説明だった、旧版のページだった、ということは起きます。承認者が読む要約は、この確認を通った後のものです。
目標は、60件をならして1件15分です。 軽い審査は根拠を数か所開いて質問を送るまでで10分前後、重い審査は30分を超えます。重い審査が増える月は、扱うデータの種類の選び方が申請者に伝わっていないことがあります。 申請フォームの選択肢の説明を見直してください。
例外に対処する
| 起きること | 対応 |
|---|---|
| URLが貼られていない | ページを取得せず、申請内容だけで質問を作る。全観点が質問になる |
| ページの取得に失敗する(ログインが要る、応答が無い) | 取得の結果に失敗と記録し、根拠に使わない |
| 本文がほとんど取れない(スクリプトで描画するページ) | 「本文が取れなかった」と記録。審査担当がブラウザで開く |
| 本文が英語 | そのまま渡す。evidence は原文、要約は日本語 |
| 同じ提供元の過去の審査がある | 過去の結果と日付を通知に載せ、前回からの変更点だけを質問にする |
| 過去の審査で利用を認めなかった | 通知の冒頭に書き、審査担当が先に申請者と話す |
| AIの応答が出力の形にならない | 台帳に「整理失敗」と記録し、審査担当が手で行う |
| 申請が個人の試用で、業務データを入れない | 軽い審査に回す。試用の期間と、業務データを入れないことの確認を申請者への質問に入れる |
上から3行目までが大半を占めます。 どれもAIの問題ではなく、提供元のページが取れたかどうかの問題です。 取れなかったことを正直に記録しておけば、審査担当はそこだけをブラウザで見に行けば済みます。
記録を残す
- 申請の内容と申請番号、申請日時
- 取得したページのURL、取得日時、取得の結果、タグを外した本文
- AIの出力(
checks、質問、要約) - 審査担当が直した箇所と、直した後の質問
- 提供元と申請者からの回答、可否の意見、承認の結果
- 同じ提供元の審査の履歴(ドメインで引けるように)
2つ目で本文そのものを残すのは、提供元のページが変わるためです。 半年後に「このときは国内保存と書いてあった」と確かめたくなったとき、取得した時点の本文が無ければ、要約が正しかったのかを確かめようがありません。
04実装レベルの3段階
最小構成ではページのコピーが手作業のままです。 確かめるための段階です。 半自動化で、1件45分が25分程度になります。 ページを探して読む②の大半が無くなりますが、過去の審査を探す手間と、質問の宛先の整理が残ります。本格構成で15分になり、この段階が本記事の想定です。 半自動化の期間に、not_found の多い観点を数えてください。 多くのサービスで同じ観点が not_found になるなら、その観点は公開ページに載りにくいもので、最初から提供元への定型の質問に入れておくほうが速く進みます。
05工数削減シミュレーション
導入後 60件 × 15分 ÷ 60 = 15 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 部署ごとに新しいSaaSを使いたいという申請が月に数十件届き、情報システムの数名が1件ずつ提供元のWebサイトを読んで審査の材料を作っている会社。審査で確かめる観点(データの保存先、認証、他のシステムとの連携)は決まっているが、担当者によって調べる深さが違う場合。申請をフォームで受け付けていて、Zapier の有料プランを使える場合。
- 申請が月に数件で、担当者が調べれば足りる場合。利用してよいサービスを一覧で決めていて、一覧に無いものは一律に認めない運用の場合。提供元の情報がログインしないと見られない資料に限られ、公開ページに載っていない場合。なお、利用を認めるかどうかの判断、提供元との契約の条件の確認は、この構成では代替できません。
07最小構成で試す方法
- 先月の申請から10件を選ぶ(審査に時間がかかったものを3件ほど入れる)
- 各申請の提供元のセキュリティ・プライバシーのページを開き、本文をコピーする
- 手元のAIサービスの画面に、第7章の指示と申請内容、ページの本文を貼る
- 返ってきた観点ごとの status と根拠を、当時の審査のメモと突き合わせる
- evidence の文がページに本当にあるかを、ページ内の検索で1つずつ確かめる
10件は必ずやってください。 Zap を組む前に、「ページの本文だけで観点が埋まるのか」と「根拠の文が本物か」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時のメモと同じ記載を根拠付きで拾えた | Zap の作成に進む |
ページに無い記載を found にした | 指示の書き方で直る。構成は有効 |
ほとんどの観点が not_found | 貼るページの選び方が先。 申請フォームの説明を直す |
3行目が出たら、どのページに記載があったかを当時の担当者に聞いてください。 その答えが、申請フォームの「貼ってほしいページ」の説明になります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| URLを指示に書けばAIが読むと思っている | AI by Zapier はURLから情報を取れない。 GET で取得して本文を渡す |
| ページがタグだらけで渡される | Remove HTML Tags で本文だけにする |
| 取れなかったページが「記載なし」になる | 取得の結果をAIに渡し、根拠に使わせない |
AIが一般知識で found にする | 一般的な情報で補わないと最初に書く。evidence は原文を写させる |
not_found を「非対応」と書く | 状態の定義と要約の両方で禁じる |
| 要約に結論が入る | 「問題ない」「危険」を書かないと明記する |
| 同じサービスを何度も調べる | ドメインで過去の審査を引く |
| 質問の宛先が混ざる | 提供元向けと申請者向けを別の項目で返させる |
| 審査の重さがAIの文章に左右される | 扱うデータの種類の選択肢で規則として決める |
| 審査担当が要約だけ読んで承認に回す | storage と ai_training の根拠は必ず開く手順にする |
上の3行は、すべて「ページが本当に読めたか」の問題です。 AIの精度を上げる前に、取れたか取れなかったかを正直に記録する仕組みを先に作ります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 申請者の氏名と部署、使う目的、扱うデータの種類、そして提供元の公開ページの本文です。申請に顧客の情報そのものは含めません。
- データの保存先を必ず確かめる … 個人情報保護委員会のガイドラインでは、外国にある第三者に個人データを提供する場合、原則として本人の同意が必要で、同意を得る際には当該外国の名称などを本人に知らせる必要があるとされています。また、外国で個人データを取り扱う場合は、当該外国の個人情報の保護に関する制度等を把握した上で安全管理措置を講じることが求められています(外的環境の把握)。
storageの観点をheavyの審査で先に確かめる理由がここにあります。 どの提供の形がこれに当たるかの判断は、審査担当と法務が行います - ガイドラインの解釈をAIにさせない … 保存先が分かった後、それが自社にとって何を意味するかは、基準を持つ人が判断します
- 申請の内容を外部のAIで処理することを社内に知らせる … 申請フォームの説明に一文を入れます
- モデルの提供元を選ぶ … AI by Zapier で自社のAPIキーを使う設定にでき、処理する提供元と契約を自社で決められます
- 質問を自動で送らない … 提供元への質問は、自社がそのサービスを検討していることを外部に伝える行為です
- 台帳の閲覧の範囲を決める … 利用を認めなかったサービスと理由が並ぶ台帳は、社内でも限られた人が見るものです
誤りが起きた場合のリスクは、書かれていた記載を見落とすことと、書かれていない記載を書かれていたことにすることの2つです。 前者は質問が1つ増えるだけで済みます。後者は承認者の判断を誤らせるので、根拠の文を写させ、審査担当が開いて確かめる手順で防ぎます。
10まず何から始めるか
1週目:審査の観点を言葉にする
7つの観点ごとに、何が書かれていれば found とするか、書かれていなければ何を聞くかを書き出します。ベテランの審査担当が何を見ているかを聞き取って書きます。
2週目:10件で試す
先月の申請から10件を選び、手元のAIサービスで整理させます。evidence の文がページに本当にあるかを、1つずつ検索で確かめます。
3週目:申請フォームを直す
提供元のページのURLを貼る欄を足し、どのページを貼ればよいかの説明を書きます。扱うデータの種類の選択肢を、審査の重さの規則と合わせます。
4週目:取得と整理だけの Zap を動かす
Catch Hook から GET、Remove HTML Tags、AI by Zapier、台帳への記録までを作ります。この時点では通知と質問の下書きは作らず、台帳の行を審査担当が見ます。
2か月目: 過去の審査の照会と、審査の重さでの振り分け、通知と質問の下書きを足します。3か月目以降: 1件45分が何分になったかを実測し、not_found が多い観点を提供元への定型の質問に移します。審査担当が根拠を開いて確かめる時間以外の作業がほとんど無くなった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Catch Hook が GET・PUT・POST を受けて本文を解析すること。Zap ごとにURLが発行されること。JSONの配列は要素ごとに Zap を動かすこと。トリガーで10MBまでであること。Professional・Team・Enterprise のプランで使えること | Zapier Help: Trigger Zaps from webhooks | 2026-10-08 |
| Webhooks by Zapier のアクションに GET・POST・PUT があり自動で解析すること。Custom Request は解析しないこと。アクションで扱える大きさが5MBまでであること。Free では使えないこと | Zapier Help: Send webhooks in Zap workflows | 2026-10-08 |
| Formatter の Text に Remove HTML Tags があり、すべてのHTMLタグを外して書式の無い文字列にすること | Zapier Help: Change your Zap data to HTML, Markdown, ASCII, or plain text | 2026-10-08 |
| AI by Zapier がWebサイトやURLから情報を検索・抽出できないこと。出力の項目を項目名・型・説明・必須で定義できること。Standard・Advanced・Premium のモデルと自前のキーを使う設定があること | Zapier Help: Use AI by Zapier to analyze and return data | 2026-10-08 |
| Google Sheets の Lookup Spreadsheet Row が列と値で1行を探すこと。Create Spreadsheet Row で行を追加できること | Zapier Help: How to get started with Google Sheets on Zapier | 2026-10-08 |
| 外国にある第三者に個人データを提供する場合、原則としてあらかじめ本人の同意が必要なこと。同意を得る際に当該外国の名称などの情報を提供する必要があること。我が国と同等の水準にある制度を有する外国としてEUと英国が該当すること(原文を取得して確認) | 個人情報保護委員会: ガイドライン(外国にある第三者への提供編) | 2026-10-08 |
| 外国において個人データを取り扱う場合、当該外国の個人情報の保護に関する制度等を把握した上で安全管理のために必要かつ適切な措置を講じなければならないこと(10-7 外的環境の把握。原文を取得して確認) | 個人情報保護委員会: ガイドライン(通則編) | 2026-10-08 |
どの利用の形が外国にある第三者への提供に当たるかは、審査担当と法務で判断してください。 本記事は上記の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0931)についてのご相談はこちらから。
