Mole は安全か:何を削除し、何に触れないか
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 枚目の図がその話になります。
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 |
macOS が管理し、使用しているユーザーごとの一時データです |
/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 を読んでいるからです。
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 と記録されたファイルは、
ゴミ箱に残っていれば通常は戻せますが、その後に復元、移動、削除された可能性もあります。戻せるかどうかは
ゴミ箱を開いて確認します。
確認のひと手間
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: それぞれにしかできないこと と、両方を入れたときの挙動。
- Mac のクリーナーが決して消してはいけないもの: 同じ問いを、1 つのツールではなくカテゴリ全体に向けた記事です。
よくある質問
Mole は削除したファイルをゴミ箱に移しますか
Mac アプリのキャッシュはデフォルトで完全削除され、設定でゴミ箱への移動に変更できます。アンインストールとディスク分析からの削除は、管理者権限が必要な場合もゴミ箱を使います。復元できるのはファイルがまだ残っている間だけです。ゴミ箱を空にする操作と、最適化で明示された直接削除は取り消せず、再生成も復元にはなりません。CLI はキャッシュを完全削除し、アプリと残存ファイルはゴミ箱へ移動します。
macOS が必要としているものを Mole が消すことはありますか
システムのルート、プライバシーやログイン項目のデータベースといった保護されたシステムの状態、オーディオ プラグイン、ダウンロード済みのモデルの重み、使用中の Python 環境は、削除が走る前に拒否されますし、アプリ はスキャンの結果を信用せず削除の瞬間に各パスを検証し直します。
無料の CLI と Mac アプリは同じプログラムですか
いいえ。2 つは掃除の用語、ホワイトリストのファイル、ログを共有する別々の実装で、アプリは CLI のラッパー ではなく Swift による作り直しですし、何を消すかについて意図的により狭くしてあります。
Mole にフルディスクアクセスは必要ですか、なぜですか
アプリデータのスキャンがその権限の後ろにあります。権限がなくても Mole は動きますが、見える範囲が狭く なり、そのことを表示します。少なめの数字を全体像のように見せることはしません。
前回 Mole が何を消したのか確認するには
~/Library/Logs/mole/operations.log の末尾を確認します。TRASHED はゴミ箱へ移動した記録なので、
ファイルが今も残っているかを確かめます。DELETED と CLI の REMOVED は完全な削除を、SKIPPED 系の
状態は削除しなかった項目を示します。
ライセンスの有無で削除範囲は変わりますか
変わりません。ライセンスは破壊的な操作を実行してよいかどうかだけを決め、範囲の広さは決して決めません。 スキャン、候補の一覧、保護のルールは、アクティベートの前後で同じです。