生成AI の業務利用が一気に広まりましたが、
入力してよい情報の線引きを決めている組織はまだ多くありません。
まず確認すべきこと
利用するサービスについて、次を確認します。
- 入力したデータが学習に使われるか
- データの保存期間
- 保存される地域(国外に出るか)
- 事業者向けプランで扱いが変わるか
同じ会社のサービスでも、個人向けと事業者向けで扱いが違うことが一般的です。
業務で使うなら、事業者向けの契約が前提になります。
入れてはいけないもの
1. 個人情報
氏名、住所、電話番号、メールアドレス、顧客リスト。
本人の同意なく外部サービスに渡すことは、法的な問題になり得ます。
2. 秘密保持契約の対象
取引先から受け取った資料、開発中の製品情報、未公開の財務情報。
NDA に「第三者への開示禁止」とあれば、外部サービスへの入力も該当し得ます。
3. 認証情報
APIキー、パスワード、接続文字列。
コードを貼り付けるときに、設定ファイルごと入れてしまう事故が起きます。
4. 未公開のソースコード(契約次第)
顧客から預かったコードは、契約で扱いが決まっていることがあります。
使ってよい形にする
「使わない」ではなく、使える形に加工するのが実務的です。
× 「山田太郎様(090-1234-5678)からのクレーム対応文を作って」
○ 「顧客からの配送遅延のクレームに対する謝罪文の型を作って」
具体的な個人情報を外し、構造だけを相談すると、
ほとんどの用途は問題なく使えます。
コードの場合も同様です。
# 実際の接続情報を外し、構造だけ相談する
DATABASES = {"default": {"HOST": "***", "PASSWORD": "***"}}
自動でマスクする
人の注意力に頼ると必ず漏れます。仕組みで防ぎます。
import re
PATTERNS = [
(r"[\w.+-]+@[\w-]+\.[\w.]+", "[EMAIL]"),
(r"0\d{1,4}-?\d{1,4}-?\d{4}", "[PHONE]"),
(r"(sk|pk)_[A-Za-z0-9]{20,}", "[APIKEY]"),
]
def mask(text: str) -> str:
for pat, rep in PATTERNS:
text = re.sub(pat, rep, text)
return text
社内ツール経由で利用させ、送信前に必ずこの処理を通す構成にします。
出力側の注意
入力だけでなく、出てきたものにも注意が必要です。
- 事実と異なる内容が含まれることがある(必ず検証する)
- 既存の著作物に似た表現が出ることがある
- 生成物の権利の扱いは、サービスの規約による
そのまま社外に出す文書には、必ず人の確認を入れます。
ルールを1枚にまとめる
現場で使われるルールは、短いものだけです。
【生成AI 利用ルール】
1. 会社が契約したサービスのみ使用する
2. 個人情報・取引先の秘密情報・認証情報は入力しない
3. 具体的な情報は伏せ、構造だけ相談する
4. 出力は必ず人が確認してから使う
5. 判断に迷ったら情シスに相談する
長い規程を作るより、この5行を全員が知っているほうが効果があります。
まとめ
- サービスの学習利用・保存期間・保存地域を確認する(事業者向け契約が前提)
- 個人情報・NDA対象・認証情報は入力しない
- 具体を伏せ、構造だけ相談すれば大半の用途は使える
- マスク処理を仕組みで入れる(人の注意力に頼らない)
- 出力は必ず検証してから使う