Skip to content

truefinder/pii_in_google_drive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PII Checker for Google Drive

Google Drive上のファイルから日本の個人情報保護法に該当する個人情報を自動検出するGoogle Apps Scriptツールです。

🚀 機能

  • 包括的ファイル対応: Google Workspace、Microsoft Office、PDFなど主要なドキュメント形式をサポート
  • AI駆動の分析: OpenAI GPTを使用した高精度な個人情報検出
  • バッチ処理: スプレッドシート上の複数ファイルを一括処理
  • 詳細レポート: 検出された個人情報の種類と件数を詳細報告
  • エラーハンドリング: 処理中断時の再開機能付き

📋 対応ファイル形式

Google Workspace

  • Google Docs - ドキュメント内容を完全抽出
  • Google Sheets - 全シートのデータを抽出
  • Google Slides - スライドテキストを抽出
  • Google Forms - ファイル名ベース判定
  • Google Drawings - ファイル名ベース判定

Microsoft Office

  • Word (.docx, .doc) - テキスト変換で抽出
  • Excel (.xlsx, .xls) - CSV変換で抽出
  • PowerPoint (.pptx, .ppt) - テキスト変換で抽出

その他

  • PDF - ファイル名ベース判定
  • HTML - HTMLパースでテキスト抽出
  • RTF - テキスト変換で抽出
  • OpenDocument (.odt, .ods, .odp)
  • テキストファイル (.txt, .csv)

🔍 検出対象(日本の個人情報保護法準拠)

  • 氏名(フルネーム、姓名の組み合わせ)
  • 住所(都道府県・市区町村・番地等)
  • 電話番号(固定電話・携帯電話)
  • メールアドレス
  • 生年月日
  • マイナンバー(個人番号)
  • 運転免許証番号
  • パスポート番号
  • クレジットカード番号
  • 銀行口座番号
  • その他個人識別符号

📁 プロジェクト構成

pii_in_google_drive/
├── pii_main.gs              # メイン実行・設定・テスト関数
├── pii_file_extractors.gs   # ファイルコンテンツ抽出処理
├── pii_analyzer.gs          # OpenAI個人情報分析
├── settings.gs              # 設定ファイル
├── pii_in_google_drive.gs   # 元の統合ファイル(参考用)
├── README.md                # このファイル
└── LICENSE                  # Apache 2.0ライセンス

🛠️ セットアップ

1. Google Apps Script プロジェクト作成

  1. Google Apps Scriptにアクセス
  2. 新しいプロジェクトを作成
  3. 以下のファイルをプロジェクトに追加:
    • pii_main.gs
    • pii_file_extractors.gs
    • pii_analyzer.gs
    • settings.gs

2. Google Drive API有効化

  1. Google Apps Scriptエディタで「ライブラリ」→「サービス」
  2. 「Drive API」を有効化
  3. 「Slides API」を有効化(PowerPoint処理用)

3. OpenAI API設定

  1. OpenAIでAPIキーを取得
  2. settings.gsファイルでAPIキーを設定:
const SETTINGS = {
  OPENAI_API_KEY: 'your-openai-api-key-here',
  SPREADSHEET_NAME: 'your-spreadsheet',
  OPENAI_MODEL: 'gpt-4',
  FILELNIK_ROW: 5,      // E列
  PII_ROW: 8,           // H列
  COUNT_ROW: 9,         // I列  
  DETAIL_ROW: 10,       // J列
  OPENAI_MAX_TOKENS: 1500,
  OPENAI_TEMPERATURE: 0.1
};

4. スプレッドシート準備

  1. Google Driveに「PII_CHECK_LIST」という名前のスプレッドシートを作成
  2. E列にGoogle Driveファイルの共有リンクを入力
  3. ファイルには適切な共有権限を設定

💻 使用方法

基本的な使い方

// 1. 設定確認
testSetup();

// 2. 特定行のテスト実行(推奨)
testSpecificRow(2); // 2行目をテスト

// 3. 全体処理の実行
main();

主要な関数

関数名 説明
main() メイン処理(全行を順次処理)
testSetup() 設定とデータの確認
testSpecificRow(行番号) 特定行のテスト実行
resumeProcessing() エラー行の再処理
showMimeTypeStats() ファイル形式別統計表示
showInstructions() 使い方ガイド表示

結果の確認

処理完了後、スプレッドシートに結果が出力されます:

  • H列: 個人情報有無(YES/NO)
  • I列: 検出項目(例:「氏名 3件, メール 2件」)
  • J列: 検知理由詳細

⚙️ 設定項目

SETTINGS設定値

const SETTINGS = {
  OPENAI_API_KEY: '',           // OpenAI APIキー
  SPREADSHEET_NAME: '',         // 対象スプレッドシート名
  OPENAI_MODEL: 'gpt-4o-mini',  // 使用AIモデル
  FILELNIK_ROW: 5,             // ファイルリンク列番号
  PII_ROW: 8,                  // 結果出力列番号
  COUNT_ROW: 9,                // 件数出力列番号
  DETAIL_ROW: 10,              // 詳細出力列番号
  OPENAI_MAX_TOKENS: 1500,     // 最大トークン数
  OPENAI_TEMPERATURE: 0.1      // 応答の一貫性設定
};

🔒 セキュリティとプライバシー

  • データ保護: 個人情報の具体的内容はログや結果に記録されません
  • API使用: OpenAIへの送信データは分析後に削除されます
  • アクセス権限: 適切なGoogle Driveファイル共有権限が必要
  • ログ管理: 機密情報を含まない処理ログのみを記録

🚨 制限事項

  • 処理速度: API制限により3秒間隔で処理
  • ファイルサイズ: 大容量ファイルは要約して分析
  • PDF制限: PDFは内容抽出不可のためファイル名で判定
  • 権限依存: ファイルアクセス権限が必要

🔧 トラブルシューティング

よくある問題

Q: エラーで処理が止まる

resumeProcessing(); // エラー行のみ再処理

Q: 設定が正しいか確認したい

testSetup(); // 設定確認

Q: 特定のファイルをテストしたい

testSpecificRow(5); // 5行目をテスト実行

Q: ファイル形式の統計を知りたい

showMimeTypeStats(); // ファイル形式別統計

📊 パフォーマンス

  • 処理速度: 約20ファイル/分(API制限による)
  • 精度: GPT-4o-miniによる高精度な日本語個人情報検出
  • スケーラビリティ: 数千ファイルの一括処理に対応

🤝 コントリビューション

  1. このリポジトリをフォーク
  2. 機能ブランチを作成 (git checkout -b feature/amazing-feature)
  3. 変更をコミット (git commit -m 'Add amazing feature')
  4. ブランチにプッシュ (git push origin feature/amazing-feature)
  5. プルリクエストを作成

📝 ライセンス

このプロジェクトはApache License 2.0の下でライセンスされています。詳細はLICENSEファイルを参照してください。

🙏 謝辞

  • OpenAI - GPT APIの提供
  • Google - Google Apps Script・Drive APIの提供
  • 日本の個人情報保護法に基づく検出ロジックの参考文献

📞 サポート


⚠️ 重要: 本ツールは個人情報の検出を支援するツールです。法的判断は専門家にご相談ください。

About

[企業向け] SpreadsheetファイルからGoogle Driveリンクを読み込み、OpenAIで日本の個人情報の有無をチェック

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors