Skip to main content

個人情報マスキングツール(Web UI + CLI)

Project description

pymasking — 個人情報マスキングツール

文書・画像・クリップボードに含まれる個人情報を自動検出してマスキングします。
Web UI と CLI の両方で動作します。


デモ

テキストタブ — テキストを直接入力してマスキング

テキストマスキングデモ

ファイルタブ — ドラッグ&ドロップでファイルをマスキング

ファイルマスキングデモ

クリップボード画像タブ — スクリーンショットをそのままマスキング

クリップボード画像マスキングデモ


動作環境

項目 要件
OS Windows 10 / 11(64bit)
Python 3.9 以上

インストール

pip install pymasking

Tesseract OCR バイナリのインストール(画像・PDF の OCR マスキングに必要)

pip install だけでは OCR 機能は使えません。Tesseract OCR バイナリを別途インストールしてください。

1. インストーラーをダウンロード

以下のページから Windows 用インストーラーを取得します。

https://github.com/UB-Mannheim/tesseract/wiki

2. 日本語データを含めてインストール

インストーラー実行中、「Additional language data」のリストで
「Japanese (jpn)」 にチェックを入れてからインストールします。

3. PATH を通す

インストール完了後、Tesseract のインストール先フォルダをシステムの PATH 環境変数に追加します。

C:\Program Files\Tesseract-OCR

確認方法: コマンドプロンプトで tesseract --version が実行できれば完了です。


起動方法

Web UI(推奨)

masking

ブラウザで http://127.0.0.1:55963 が自動的に開きます。
ブラウザのタブ・ウィンドウを閉じるとサーバーも自動終了します。

CLI

python -m pymasking.cli.main mask report.docx
python -m pymasking.cli.main mask report.docx --mode pigpen
python -m pymasking.cli.main unmask report_masked.txt

Web UI の使い方

共通操作

マスキング方式の選択

画面上部の 4 つのボタンで方式を選択します。
ボタンをクリックするとマスキング前後の例が表示されます。

ボタン 効果
伏字(●) 検出した情報を で塗りつぶす(既定)
一意性保持 人物001 のように種別+連番に置換
ピッグペン暗号 暗号化して 【人物:⊞⊟⊠⊡:】 形式で保存。後から復号可能
復号化 ピッグペン暗号で保護されたテキスト・ファイルを元に戻す

復号化 を選択すると、マスキング対象のチェックボックスは自動的にグレーアウトされます。

マスキング対象の絞り込み

実行ボタンの直上にあるチェックボックスで、マスクする情報の種別を選べます。
全て ON の場合はすべてのカテゴリを対象とします。


テキストタブ

  1. テキストエリアに文章を貼り付け(Ctrl+V 可)
  2. 必要に応じてマスキング対象のチェックボックスを調整
  3. マスキング実行 または 復号化実行 をクリック
  4. 下の結果欄に変換後テキストが表示される
  5. 結果をコピー で clipboard にコピー

ファイルタブ

  1. ドロップエリアにファイルをドラッグ&ドロップ、またはクリックして選択
    (対応形式: docx / xlsx / pptx / pdf / jpg / png / bmp / txt / csv / json 等)
  2. マスキング対象・追加オプションを確認
  3. マスキング実行 または 復号化実行 をクリック
    • ボタンが赤く点滅し「実行中」と表示されます
    • 下のプログレスバーで処理状況を確認できます
  4. 処理完了後、ボタンがオレンジ色の「ダウンロード」に変わります
  5. ダウンロード をクリックするとマスキング済みファイルが保存されます

クリップボード画像タブ

  1. スクリーンショットを撮影してコピー(PrintScreen など)
  2. 貼り付けエリアをクリックしてから Ctrl+V で画像を貼り付け
  3. マスキング実行 をクリック
    • ボタンが赤く点滅し「実行中」と表示されます
    • OCR でテキストを認識し、黒矩形で塗りつぶします
  4. 処理完了後、「ダウンロード」をクリックして保存

対応ファイル形式

形式 処理方法
.txt .csv .json .xml .md .log テキスト置換
.docx .xlsx .pptx テキスト置換(書式保持)
.pdf テキスト座標を検出 → 黒矩形で塗りつぶし
.jpg .jpeg .png .bmp Tesseract OCR で検出 → 黒矩形で塗りつぶし

マスキング方式

方式 出力例 復号
伏字(デフォルト) ●●● 不可
一意性保持 人物001 不可
ピッグペン暗号 【人物:⊞⊟⊠⊡:】 可能(復号化実行 ボタンで復号)

画像・PDF は方式に関わらず常に視覚的塗りつぶし(黒矩形)になります。


検出カテゴリ

人物名 / 組織名 / 住所 / メールアドレス / 電話番号 / 日付 / 金額 / SNS アカウント / 特許番号 / シリアル番号 / 型番


カスタム辞書

pymasking/data/dict/custom_dict.txt にタブ区切りで追加すると独自の固有名詞を検出できます:

山田太郎	person
株式会社サンプル	org

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymasking-1.0.0.tar.gz (469.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymasking-1.0.0-py3-none-any.whl (471.1 kB view details)

Uploaded Python 3

File details

Details for the file pymasking-1.0.0.tar.gz.

File metadata

  • Download URL: pymasking-1.0.0.tar.gz
  • Upload date:
  • Size: 469.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pymasking-1.0.0.tar.gz
Algorithm Hash digest
SHA256 15ad4c9561cadcdf0c17a934bedf3cfdac2abb26a4da50cad55d5dff2121d8b7
MD5 62022b96d82d1a288760a708fa81d200
BLAKE2b-256 894c8143785ad5987b1922ee48f6d0e354b7c60fda8580fd2bed56177832d954

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymasking-1.0.0.tar.gz:

Publisher: publish.yml on kirin123kirin/pymasking

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pymasking-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: pymasking-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 471.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pymasking-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4323b1d1fa0d0ad9b5aa367d7cd56d11248e118b67dfef067077b6a114b3aa1d
MD5 fdd4ff029d876c7ab0e508e36dc8753d
BLAKE2b-256 3d870ec893adb942b61fa509f7548407c89e718f0db213ec3f464d6661cd7aea

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymasking-1.0.0-py3-none-any.whl:

Publisher: publish.yml on kirin123kirin/pymasking

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page