# Mole は安全か：何を削除し、何に触れないか

> Mole が削除するもの、触れないもの、削除ファイルの行き先、そしてそれらの回答が Mac アプリとコマンドラインツールでどう違うか。

Published: 2026-08-17 | Updated: 2026-10-04

Mole は 2 つのプログラムでできていて、ネット上で見つかる安全性の説明はそのほとんどが片方に
ついてしか書かれていません。Mole for Mac は mole.fit で販売しているネイティブアプリ、`mo` は
GitHub にある無料のオープンソース版コマンドラインツールです。ユーザーが設定したホワイトリストと
ログの保存先は共通ですが、削除の方法は異なります。自分の使い方に合うかを判断するには、まずこの違いを知っておく必要があります。

このページでいうMoleは、mole.fitのMole for Macと、その `mo` コマンドラインツールだけです。
同じmoleという名前の別アプリやコマンドラインツールは別製品で、この安全性の説明の対象ではありません。

Mac アプリは削除前に候補一覧を表示します。アプリのアンインストールはゴミ箱へ移動し、キャッシュはデフォルトで完全削除しますが、設定でゴミ箱への移動に変更できます。CLI はキャッシュを完全削除し、`--dry-run` は取り消しではなく事前確認に使います。どちらも保護対象のパスは削除しません。

## 削除されたものは最終的にどこへ行くのか

| 操作 | Mac アプリ | CLI | あとから戻せるか |
|---|---|---|---|
| キャッシュ削除 | デフォルトは完全削除、設定でゴミ箱に変更可 | 完全削除 | ゴミ箱へ移動し、まだ残っている場合のみ |
| アプリと残存ファイルの削除 | ゴミ箱 | ゴミ箱 | ゴミ箱を空にするまで |
| ログイン項目の削除 (ユーザー plist) | ゴミ箱 | ゴミ箱 | ゴミ箱を空にするまで |
| 最適化のメンテナンス | 明示した項目のみ直接処理 | 直接削除 | 取り消せません |
| ビルド成果物の一掃 (`mo purge`) | ローカルで再ビルドできる一部のみ、キャッシュ削除設定に従う | 完全削除 | 再ビルドや依存関係の再インストールが必要です。通信が必要な場合もあります |
| ゴミ箱そのもの | 定義上つねに完全 | 完全削除 | 戻せません |

2 行は補足が要ります。最適化がゴミ箱を経由せず直接処理するのは、保存されたアプリの状態、隔離イベント
のデータベース内の記録、古い先行書き込みジャーナル、無効な LaunchAgent のプロパティリスト、空の `.sfl`
ファイルなど、明示したシステム管理項目に限られます。それぞれに経過時間やサイズや
存在有無の判定があります。これらの操作は取り消せず、システムが新しいデータを生成しても元の内容が戻るわけではありません。アプリが表示するのはローカルで再ビルドできる一部の成果物だけで、`mo purge` はより広い範囲を扱います。下の 2 枚目の図はこの違いを示します。

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/deletion-gates.webp" width="1360" height="454" loading="lazy" alt="削除候補はライセンス確認とパス検証を通り、実行部が削除方法を適用する。ゴミ箱に残っている間は復元できるが、キャッシュのデフォルトと指定された保守項目は直接削除される。">
  <figcaption>どの候補も同じ 3 つのゲートを通り、それぞれが独立して判断し直します。真ん中のゲートの拒否は完全な停止であり、範囲を狭めた削除ではありません。</figcaption>
</figure>

## 3 つのゲート、そして重要なのは真ん中である理由

候補はスキャン結果からディスクへ一足飛びに進むわけではなく、ライセンスのゲート、パス検証、実行部
の順に通っていきますが、各層は互いを信用せず、前の層が正しかったと決めてかからずにそれぞれ確認し
直します。

安全性を支えるのがパス検証で、これはスキャン時ではなく削除の瞬間に走ります。2 つの時点
は数分離れることがあり、その間ディスクは止まって待っていてくれないので、あなたが見たあとでファイル
の素性が変わっていたなら、古い判断のまま削除を進めるべきではありません。この記事を書いたマシンの
ログには、実際にこういう 1 行が残っています。

```
2026-08-17T02:13:55Z	uninstall	SKIPPED	/Applications/Quiet.app	updated since the scan, please scan again
```

この 1 行に安全モデル全体が現れていて、答えが不確かなとき Mole は近いものを削除せず、断って理由を
書きます。

このゲートにはもう 1 つ性質があり、拒否は全体だということです。保護リストに当たったパスは拒否され
るのであって、その内側の小さな削除に切り縮められることはなく、その項目はそこで止まります。

## Mole が削除を拒むもの

クリーナーの信頼性はそれが何をしないかで決まるので、このリストは「気を付けます」という約束ではなく
具体的なパスと具体的な理由の列挙にしてあります。以下は削除が走る前の時点で拒否されます。

| 拒否するもの | リストに載っている理由 |
|---|---|
| `/System`、`/usr`、`/bin`、`/sbin` | OS であってユーザーのデータではありません |
| `/private/var/folders` | ルートは保護、アンインストール時は所有者を確認した限定的なキャッシュのみ削除可能 |
| `/Library/Audio/Plug-Ins/{Components,VST,VST3}` | プロジェクトが参照した瞬間から不可欠になります |
| iZotope と LaserSoft のサポートディレクトリ | 不要な支援データに見えるライセンス付きの音声・スキャナ用ツールです |
| `~/.ollama/models`、`~/.lmstudio/models` | ダウンロード済みの重みで、数十 GB になることも珍しくありません |
| `~/.cache/huggingface`、`~/.cache/torch`、`~/.cache/whisper` | キャッシュの形をしたパスに入った、派生物ではないダウンロードです |
| `~/.cache/tensorflow`、`~/.cache/wandb` | まだ送信していないかもしれないデータセットと実行記録です |
| `~/.cache/pypoetry/virtualenvs` | 使用中の Python 実行環境です。Poetry の再生成できるサブディレクトリは削除対象です |
| Apple Neural Engine のコンパイル済みモデル置き場 | 消すと次の再起動まで認識機能が壊れます |
| システム設定、コントロールセンター、オーディオ関連 | キャッシュではなくシステムの設定です |
| プライバシーのデータベース、ログイン項目、バックグラウンド項目の登録 | 権限と起動の状態です |
| 最近使った項目メニューの裏にある共有ファイルリスト | 小さくて見えないのに、失うと面倒です |
| `~/.config/mole` | 次回の削除を縛るホワイトリストを、今回の削除が消してしまわないように |

このリストの背後にある考えは 1 つで、パスがキャッシュの形をしていることは中身がキャッシュである
証拠にはならない、ということです。モデルの重みや Python の環境が `~/.cache` の下にいるのは、ツール
がそこへ置く習慣だからであって、誰でもただで作り直せる派生物だからではありません。ホワイトリストは
同じ考えのうちあなたが握っている側の半分で、どちらかで保護したパスは両方が尊重します。どちらも
`~/.config/mole/whitelist` を読んでいるからです。

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/same-or-safer-review.webp" width="1360" height="454" loading="lazy" alt="入れ子になった 3 つの集合の図。いちばん外がディスク上のすべて、その内側がコマンドラインツールが削除する小さい集合、さらに内側が Mac アプリが提示するもっと小さい集合で、その差分にはネットワークがないと戻せないディレクトリが並んでいる。">
  <figcaption>同じか、より安全に。決して広くはしません。Mac アプリはネットワークでしか戻せないものを意図的に外すので、ターミナルには存在してアプリには決して現れないカテゴリがあります。</figcaption>
</figure>

## Mac アプリは CLI より狭く、その方向は常に一定です

2 つは同じだけ踏み込むわけではなく、差はいつも同じ向きを向いています。いちばん分かりやすいのは依存
ディレクトリで、`mo purge` は `node_modules`、`Pods`、`venv`、`vendor` を削除しますが、アプリはその
すべてを外し、ネットワークなしでローカルにコンパイルし直せるものだけを提示します。アプリはさらに、
アプリデータのスキャンをフルディスクアクセスの後ろに置き、復元コストが高いものは既定でチェックの
入らない確認行として並べ、上に書いたとおり削除の瞬間にパスを検証し直します。

ですから `mo clean` にあってアプリには決して出てこないカテゴリがあるのは想定どおりの動きであって
機能不足ではありませんし、広い一掃が要るならターミナルにあって、`--dry-run` がそれの起きる前に中身
を見るための方法になります。

## 実際に何が起きたのかを読む

どちらも `~/Library/Logs/mole/operations.log` を使います。アプリはタブ区切りで記録し、CLI は時刻と
コマンドを角括弧で囲み、その後に状態、パス、補足情報を記録します。状態の名前にも違いがあります。

| 状態 | 意味 |
|---|---|
| `TRASHED` | その時点でゴミ箱へ移動しました |
| `DELETED` | 完全に削除しました |
| `REMOVED` | CLI で完全に削除しました |
| `SKIPPED` | 断りました。理由は次のフィールドにあります |
| `SKIPPED_RUNNING` | 持ち主のアプリが動いていました |
| `SKIPPED_MISSING` | 実行部が着いた時点でパスが消えていました |
| `SKIPPED_ACTIVE_UPDATE` | そのアプリの更新が進行中でした |
| `FAILED` | 試しましたが成功しませんでした |

ログに残るのは操作時の結果で、現在のファイルの場所ではありません。`TRASHED` と記録されたファイルは、
ゴミ箱に残っていれば通常は戻せますが、その後に復元、移動、削除された可能性もあります。戻せるかどうかは
ゴミ箱を開いて確認します。

## 確認のひと手間

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/mole-clean-review.webp" width="2584" height="1741" loading="lazy" alt="Mole のクリーン確認画面。キャッシュをカテゴリごとにサイズ付きで一覧し、それぞれにチェックボックスがあり、下部に選択中の 5.14 GB を完全に削除するボタンがある。">
  <figcaption>スキャンそのものは何も削除しません。確認画面が各カテゴリをサイズ付きで示し、チェックした行だけを削除します。</figcaption>
</figure>

Mac アプリのスキャンはライセンスも時間制限もなく無料で、どのツールもスキャンして結果をすべて表示し、
ライセンスが要るのは実行する時だけ、しかも破壊的なツールはそれぞれ 2 回までそのまま動くので、お金を
払う前に Mole の提案と自分のディスクについての理解を突き合わせられます。

アンインストールは何かが動く前にパス、持ち主、サイズの並んだ計画を見せます。この確認は確認ダイアログ
ではなく製品そのもので、判断できない項目はワンクリックの一掃には向かないからこそ、Mole は復元に手間のかかるものをチェックが入らない状態で残し、合計の裏に判断を隠しません。

## 本当に戻せないもの

どちらもキャッシュはデフォルトで完全削除します。Mac アプリでは設定でゴミ箱への移動に変更でき、空にするまでは復元できます。キャッシュの再生成は元のファイルの復元ではありません。

`mo purge` はビルド成果物を完全に削除するので、最初に空実行しておく価値がいちばん高いコマンドですし、
上に挙げた最適化の削除も即時です。キャッシュやビルド成果物の再生成は、削除したファイルの復元とは異なります。
元のファイルを戻したい場合は、Time Machine などのバックアップを確認してください。

## ここに書いたことを自分で確かめる方法

- **ログを読む。** `~/Library/Logs/mole/operations.log`。作業した側のフロントエンドが書きます。状態の
  語彙は上のとおりです。
- **ターミナル版で削除対象を確認する。** clean、uninstall、optimize は `--dry-run` に対応し、削除予定の項目を表示します。
- **コードを読む。** CLI は GPL-3.0 のオープンソースで、削除のロジックも含まれています。
- **手元のビルドを確かめる。** Mac アプリは Developer ID で署名され公証されているので、
  `spctl -a -t exec -vv /Applications/Mole.app` で Gatekeeper の評価を確認できます。ただし、公開ファイルとバイト単位で一致するかを調べるものではありません。
- **通信を見る。** どちらのプログラムもテレメトリを送りません。

## よそで見かける説明

3 つの説明が広く出回っていますが、いずれもターミナル版とアプリを 1 つの製品として読んだことから来て
います。

**「プレビューも取り消しもないターミナルユーティリティだ。」** `mo clean` には `--dry-run` のプレビューがありますが、キャッシュ削除は完全削除です。 Mac アプリでは一覧を画面で確認できます。アンインストールはゴミ箱へ移動し、キャッシュはデフォルトで完全削除しますが、設定で変更できます。

**「Mole は無料だ。」** CLI は無料でオープンソースですが、Mole for Mac は買い切り 19 ドルで Mac 2 台
まで、更新は無期限、14 日間の返金があります。

**「CLI は MIT ライセンスだ。」** GPL-3.0 です。

## 関連記事

- [Mole CLI と Mole for Mac](https://mole.fit/ja/blog/mole-cli-vs-mac-app): それぞれにしかできないこと
  と、両方を入れたときの挙動。
- [Mac のクリーナーが決して消してはいけないもの](https://mole.fit/ja/blog/what-mac-cleaners-should-never-delete):
  同じ問いを、1 つのツールではなくカテゴリ全体に向けた記事です。

## よくある質問

### Mole は削除したファイルをゴミ箱に移しますか

Mac アプリのキャッシュはデフォルトで完全削除され、設定でゴミ箱への移動に変更できます。アンインストールとディスク分析からの削除は、管理者権限が必要な場合もゴミ箱を使います。復元できるのはファイルがまだ残っている間だけです。ゴミ箱を空にする操作と、最適化で明示された直接削除は取り消せず、再生成も復元にはなりません。CLI はキャッシュを完全削除し、アプリと残存ファイルはゴミ箱へ移動します。

### macOS が必要としているものを Mole が消すことはありますか

システムのルート、プライバシーやログイン項目のデータベースといった保護されたシステムの状態、オーディオ
プラグイン、ダウンロード済みのモデルの重み、使用中の Python 環境は、削除が走る前に拒否されますし、アプリ
はスキャンの結果を信用せず削除の瞬間に各パスを検証し直します。

### 無料の CLI と Mac アプリは同じプログラムですか

いいえ。2 つは掃除の用語、ホワイトリストのファイル、ログを共有する別々の実装で、アプリは CLI のラッパー
ではなく Swift による作り直しですし、何を消すかについて意図的により狭くしてあります。

### Mole にフルディスクアクセスは必要ですか、なぜですか

アプリデータのスキャンがその権限の後ろにあります。権限がなくても Mole は動きますが、見える範囲が狭く
なり、そのことを表示します。少なめの数字を全体像のように見せることはしません。

フルディスクアクセスが何を可能にし、何を証明しないのかは分けて考える価値があります。この権限で広がるのは保護されたユーザーデータの場所への可視範囲で、スキャンと確認の結果を正確にするためのものです。削除の白紙委任ではなく、どの削除も上で説明した同じゲートが判断します。一方で、信頼できることの証明にもなりません。ウイルス対策ソフトの認証でも「Apple 公認のクリーナー」の印でもなく、ツールが安全だという証拠でもありません。フルディスクアクセスを持つクリーナーでも、間違ったものを削除することはあります。許可するのはすでに信頼しているツールだけにし、このページで説明した削除前の確認、保護されたパスの拒否、ログで判断してください。どのツールの権限も「システム設定 > プライバシーとセキュリティ > フルディスクアクセス」で取り消せます。

### 前回 Mole が何を消したのか確認するには

`~/Library/Logs/mole/operations.log` の末尾を確認します。`TRASHED` はゴミ箱へ移動した記録なので、
ファイルが今も残っているかを確かめます。`DELETED` と CLI の `REMOVED` は完全な削除を、`SKIPPED` 系の
状態は削除しなかった項目を示します。

### ライセンスの有無で削除範囲は変わりますか

変わりません。ライセンスは破壊的な操作を実行してよいかどうかだけを決め、範囲の広さは決して決めません。
スキャン、候補の一覧、保護のルールは、アクティベートの前後で同じです。

---

Canonical HTML page: https://mole.fit/ja/blog/is-mole-safe
Blog index for agents: https://mole.fit/ja/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
