v0.17.2 · 公開済み安定版

プライバシーの状況を、よりわかりやすく。

あなたのマイク。
あなたのカメラ。
その状況を、あなたに。

アクセスを把握し、手がかりを理解し、デスクトップから対処できます。MicCamWatch が観測するのはシステムのメタデータです。会話や映像ではありません。

Windows 10/11 · Linux x64 · macOS 15+
ネイティブツール · オープンソース · テレメトリなし

クリックで制御Windows
Windows の MicCamWatch ネイティブメニュー:監視状態、プライバシー制御、デスクトップのオプション。
実際の Windows メニュー、v0.17.1 のスクリーンショット。ユーザー環境にインストールした過去の画面です。カメラパイプラインは「ready」、マイク保護は未要求、カメラは許可されています。実際のインターフェースですが、撮影やハードウェアのブロックを証明するものではありません。Windows の FAQで説明する、不完全な状態の診断が導入される前のものです。

録音・録画せずに観測

対処の前に理解

ローカルで制御を維持

不透明さを減らし、判断材料を増やす。

役立つシグナル。
魔法のような保証ではありません。

MCW は、観測された動作、信頼度、リスクを区別します。弱い手がかりを確実な事実として扱うことはありません。

01 / 観測

アクセスを確認

現在の状態、リアルタイムの監視、ターミナルのダッシュボード。システムから取得できる場合は、プロセスの識別情報と関連情報も表示します。

mcw status --lang ja
02 / 理解

手がかりをたどる

OS に応じて、プロセス、パス、出所、信頼性の検証結果を表示します。診断では、機能が低下している、または利用できないコレクターも確認できます。

mcw doctor
03 / 対処

使う制御を選択

ミュート、カメラの制御、ログイン時の起動。どれも明示的に選ぶ操作であり、プラットフォームが実際に許す範囲に限られます。

mcw tray
ターミナルでも快適に

ブラウザー不要のダッシュボード。

mcw top
キャプチャデバイスのない CI の Windows ターミナルでの、mcw top 0.17.1 ダッシュボードの実際の出力。
CI の Windows ConPTY(150 列)で実行した mcw top v0.17.1 の実際の出力を、画像として描画したものです。このランナーにはキャプチャデバイスがなく、SDK のミュート状態も不明です。インターフェースを示すものであり、実機での検出やブロックを証明するものではありません。このページのスクリーンショットはすべて Windows のものです。

3 つの OS、それぞれ異なる機能

制約も
製品の一部です。

監視は管理者権限なしで動作します。特権を必要とする操作には、別途許可が必要です。

バージョン 0.17.2 の対応範囲
システムマイクカメラ制御と制約
Windows 10/11
x64
アクティブな WASAPI セッション。取得可能な場合はプロセスを検証します。ネイティブのキャプチャシグナル。取得可能な場合はプロセスに帰属させます。モジュールが読み込まれているだけの場合は「ready」です。エンドポイントのミュートと、UAC を伴うカメラデバイスの制御。手動の保護要求は、明示的に解除するまでバックグラウンドで保持されます。電気的な遮断ではなく、排他モードや ASIO 経路に対する保証もありません。
Linux
x64 · PipeWire
アクティブなリンクを伴うソースと実行中のストリーム。PID を認証したうえで /proc で検証します。同様に、アクティブな PipeWire リンクが必要です。V4L2 のハンドルだけではストリームを証明できません。PipeWire を経由しないアクセスは観測できない場合があります。セッション内のソースをミュートしますが、ALSA の利用禁止ではありません。USB カメラの uvcvideo は、別途レビューして導入する管理者用コンポーネント経由でのみ対応します。USB 以外のカメラは非対応です。
macOS 15+
Apple Silicon / Intel
CoreAudio の入力動作。プロセスの識別情報を読み取れる場合は PID を検証します。CoreMediaIO によるデバイスの実行状態。信頼度は中程度です。クライアントと PID は不明です。このシグナルは映像ストリームを証明しません。カメラの健全性は「degraded」です。入力プロパティが変更可能な場合のみミュートできます。MCW が管理するカメラプロファイルは、システム設定で手動承認する必要があります。プロファイルの存在は、物理的なアクセス拒否の証明にはなりません。

万能な遮断スイッチではありません。MCW はウイルス対策ソフトでも、キャプチャのフォレンジック証拠でもありません。保護されたプロセス、ドライバー、直接アクセス、アクセスできないセッションによって、観測と制御が制限される場合があります。WSL、仮想マシン、ハードウェアのないランナーでは、物理デバイスへのアクセスは保証されません。

リソース使用量:目標の 15 MB は未達です。文書化された Windows の全機能シナリオの測定値は、この目標を超えています(サンプリングした合計 RSS のピーク:56.041 MB)。これらの測定には制約があり、メモリ使用量の上限は保証していません。測定結果とその範囲を読む ↗

簡単に始める

お使いのシステムに。
適切なインストール方法を。

安定版 0.17.2。実行ファイルの配布元は GitHub Releases のままであり、このサイトのミラーからは配布しません。

Linux と macOS のみ

1 行で安定版をインストール。

sudo 不要
curl --proto '=https' --tlsv1.2 -fsSL https://raw.githubusercontent.com/Roman-Cuisset/miccamwatch/a58c8b9f3a967589a576879d6d27bfdbc40f9dff/installer/install.sh | sh

このコマンドはリモートのスクリプトを実行します。先にダウンロードして内容を読むほうが安全です。これはPowerShell のコマンドではありません。Windows では、以下の MSI または ZIP を選んでください。

JavaScript が無効な場合や HTTP プレビューでは、HTTPS リンクはリリースの不変コミットにあるスクリプトを指します。このサイトを HTTPS で開いた場合は、コマンドがサイト内の install.sh エンドポイントに合わせて変更されます。アーカイブとチェックサムのダウンロード元は GitHub のままです。

JavaScript がなくてもコマンドのテキストは選択できます。「コピー」ボタンは、ブラウザーが安全なクリップボード API を提供する場合にのみ表示されます。それ以外はテキストを選択し、Ctrl+C、Cmd+C、または選択メニューでコピーしてください。

Windows 10 / 11

ネイティブインストール · x64

ユーザー単位の MSI は、mcw を PATH に追加し、スタートメニューにショートカットを作成します。ポータブル ZIP には CLI とトレイホストの 2 つが含まれます。両方の実行ファイルを同じ場所に置き、バージョンを揃えてください。

インストール後に PowerShell を開き直してください。ZIP を PATH に追加していない場合は、mcw の代わりに .\mcw.exe を使ってください。

mcw --version
mcw doctor
mcw status --lang ja
mcw top

デスクトップ Linux

x64 · glibc 2.35+

PipeWire/SPA ライブラリ、pw-dump、ユーザーセッション内でアクセスできる PipeWire ソケットが必要です。トレイには StatusNotifierItem ホストが必要です。通知と音には、それぞれのセッションサービスが必要です。

インストーラーは、標準で $HOME/.local/bin にある実行ファイルを管理し、SHA256SUMS の該当アーカイブの正確なエントリーを検証します。非対応のアーキテクチャは拒否し、別のもので代用しません。

macOS 15 以降

Apple Silicon / Intel

インストーラーはお使いのネイティブアーキテクチャを選択します。メニューバーには Aqua セッションが必要です。ネイティブヘルパーを同梱しているため、これらのアーカイブに開発環境は不要です。

推奨する別の方法

ダウンロード。検証。確認。実行。

Linux と macOS · このスクリプトはリリースのコミットに固定されています。まずダウンロードして内容を読み、チェックサムを検証してから、下にある別のインストールコマンドを実行してください。

curl --proto '=https' --tlsv1.2 -fsSL \
  https://raw.githubusercontent.com/Roman-Cuisset/miccamwatch/a58c8b9f3a967589a576879d6d27bfdbc40f9dff/installer/install.sh \
  -o mcw-install.sh
less mcw-install.sh

実行前にファイルのチェックサムを比較してください。Linux では sha256sum mcw-install.sh、macOS では shasum -a 256 mcw-install.sh を使います。インストーラースクリプト(アーカイブではありません)の期待値は次のとおりです:

b7348c9a6f37a3d4f89faa2b767fd4880162d90c8f5d7c151185e0823384d1bb

同じ配布経路に表示されたチェックサムで確認できるのはバイト列の一致であり、独立した真正性ではありません。不変のソースにあるスクリプトも確認してください。

内容の確認と検証後、PATH への追加を明示的に指定して、バージョン 0.17.2 をインストールしてください:

sh mcw-install.sh --version v0.17.2 --add-path

シェルの設定を変更しない場合は、--add-path を --no-modify-path に置き換えてください。指定がなければ、インストーラーはターミナルで同意を求めます。非対話モードで PATH を黙って変更することはありません。その後、新しいターミナルを開いてください。自動起動やデバイス制御は有効になりません。

Unix での期待される結果:スクリプトはダウンロードと検証の手順を表示し、明示的に指定されたバージョンについて Installation completed: mcw 0.17.2 と表示します。対応するターミナルでは各段階が色付きで表示されます(NO_COLOR で無効化できます)。続いて、mcw top の起動方法と、必要に応じてフルパスを使う方法や PATH の反映のために新しいターミナルを開く方法を案内します。この成功表示はインストールについてのものであり、デバイスの利用可能性や保護が有効であることを証明しません。

アーカイブ、SHA-256 チェックサム、出所

アーカイブと SHA256SUMS を同じリリースからダウンロードしてください。Linux では sha256sum --check --ignore-missing SHA256SUMS を使います。macOS では shasum -a 256 nom-de-l-archive.tar.gz の結果を、マニフェストの正確なエントリーと比較してください。PowerShell では Get-FileHash .\miccamwatch-windows-x86_64.zip -Algorithm SHA256 で ZIP を比較できます(MSI の場合はファイル名を変更してください)。

GitHub のアテステーションは、ビルドの出所を示します。GitHub CLI で検証する場合は、ダウンロードしたファイルに合わせてパスを変更してください:

gh attestation verify ./miccamwatch-linux-x86_64.tar.gz \
  --repo Roman-Cuisset/miccamwatch \
  --signer-workflow Roman-Cuisset/miccamwatch/.github/workflows/release.yml \
  --source-ref refs/tags/v0.17.2 \
  --source-digest a58c8b9f3a967589a576879d6d27bfdbc40f9dff \
  --deny-self-hosted-runners

チェックサムとアーカイブは同じ配布経路を使います。ビルドの出所、発行元の署名、ウイルス対策スキャンは、それぞれ別のものです。このサイトからバイナリは配布しません。

Homebrew / AUR:リポジトリにレシピはありますが、公開済みの tap や AUR パッケージは案内していません。実在しないパッケージマネージャーのコマンドを使わないでください。

日々の使い方

まず観測。
選んだ機能だけを有効に。

インストールしただけでは、保護、自動起動、プロセスの終了処理は一切有効になりません。

01

セッションを確認

バージョン、コレクターの状態、観測されたアクセスを表示します。status は、該当するアクセスがなければ 0、あれば 1、エラーなら 2 を返します。終了コード 1 は故障ではありません。

mcw --version
mcw doctor
mcw status --lang ja
02

インターフェースを選択

top はダッシュボードを開きます。tray はネイティブメニュー(Windows の通知領域、Linux の StatusNotifierItem、macOS のメニューバー)を開きます。ターミナルでの監視は Ctrl+C で終了します。

mcw top
# または、通知付きで監視:
mcw watch --notify
03

起動には、あなたの同意を

希望する場合にのみ、ログイン時にトレイが起動するよう登録してください。Windows ではユーザーのタスク/エントリー、Linux では .desktop ファイル、macOS では LaunchAgent を使います。ログインサービスが暗黙にインストールされることはありません。

mcw autostart enable
mcw autostart status
# 元に戻すには:
mcw autostart disable

自動終了(--kill-unauthorized)は標準では無効です。発行元/パスのポリシーによる明示的な拒否、プロセスに帰属するアクティブなキャプチャ、連続する 2 回の観測、保護されていないプロセスという条件が必要です。リスクが「suspicious」であるだけでは有効になりません。PID が不明な macOS のカメラが、この処理を引き起こすこともありません。

インストール後も、管理するのはあなた

更新する。
適切に削除する。

MSI、管理対象のインストーラー、手動のアーカイブ、パッケージマネージャーを混在させないでください。インストールを管理する方式によって、手順が決まります。

更新

  • Windows MSI:新しいリリースの MSI をインストールしてください。mcw update は MSI の登録情報を更新しません。
  • Windows ポータブル版 / Cargo:mcw update は、保護機能の利用可能性を検証し、管理下のトレイを安全に停止した後、一貫性のある CLI/トレイの組を検証して置き換えます。
  • 管理対象の Unix インストール:mcw update、または同じプレフィックスを指定した公開スクリプトを使ってください。--version がなければ、スクリプトは最新安定版に追従します。アップデーターはダウングレードを拒否します。
  • 手動のアーカイブ:Linux では手動での置き換えが必要です。macOS では、文書化された条件に従い、bin の外にある管理下の単体実行ファイルを更新できる場合があります。
  • パッケージマネージャー:そのパッケージマネージャーで更新してください。curl スクリプトや mcw update は使わないでください。

管理対象の更新は設定を保持し、存在しない、無効化された、または外部で管理される自動起動を再び有効にしません。変更されている、動作中である、または所有関係を検証できないインストールは拒否されます。強制的に回避しないでください。

アンインストール

  • Windows MSI:該当する自動起動を無効にしてから、Windows の設定にある「インストールされているアプリ」を使ってください。
  • ポータブル ZIP:このインストールが管理する自動起動を無効にし、このインストールのプロセスを停止してから、2 つの実行ファイルを削除してください。
  • 管理対象の Unix インストール:上記のスクリプトをダウンロードして内容を読んだ後、以下のコマンドを使ってください。独自のプレフィックスでインストールした場合は、同じ --prefix を追加してください。
  • Linux のカメラコンポーネント:ユーザー側の更新や削除の前に、管理下のバインディングを復元し、別途導入した管理者用コンポーネントを明示的に削除してください。手順 ↗。
mcw autostart disable
mcw tray stop
sh mcw-install.sh --uninstall

Unix スクリプトが削除するのは、自身が管理する実行ファイル/状態と、管理対象の PATH ブロックのみです。ポリシー、設定、履歴、制御の所有関係を示す証拠は削除しません。アプリケーションの削除は、明示的な復元の代わりにはなりません。

標準でローカルに

あなたの活動は、
私たちのデータではありません。

録音も、画像のキャプチャも行いません。テレメトリも、サーバーへの履歴送信もありません。

プライバシーポリシーを読む

メディアではなく、メタデータ

MCW はシステムのシグナルとプロセス情報を読み取ります。設定、ポリシー、ログ、履歴はローカルに保存されます。mcw config settings-path と mcw history path でパスを確認できます。mcw history clear は MCW の履歴を消去します。

ネットワーク利用の例外は明示

インストールと更新では GitHub に接続します。信頼ポリシーの「online」は、ネイティブ機能による証明書や鍵のネットワーク検証を許可します。「offline」は、プラットフォームに応じてそれを禁止します。システムログには、それぞれ独自の保存規則が適用されます。

このページも依存関係は最小限

トラッカー、サードパーティーのライブラリ、リモートフォントはありません。任意の JavaScript はタブとコピー機能を改善しますが、無効でもダウンロードとガイドは利用できます。ホスティング事業者と GitHub は、IP アドレスなど通常のリクエストメタデータを処理する場合があります。

わからないことがあるときに

曖昧さを残さず、
疑問に答えます。

まず mcw doctor を実行してください。コレクターが利用できないことは、安全の確認にはなりません。

インストール後に「mcw」が認識されない

PATH を変更した後は、新しいターミナルを開いてください。Windows ポータブル版では、展開したフォルダーから .\mcw.exe を使ってください。Unix で標準のプレフィックスを使っている場合は、"$HOME/.local/bin/mcw" --version を試してください。インストーラーは親ターミナルの環境を変更できません。

Defender が実行ファイルを検疫した場合、問題は PATH ではありません。「保護の履歴」の詳細を保存し、検出されたバイト列を復元せずに、以下の注意事項に従ってください。

Windows:カメラ使用中だが PID が不明、またはトレイの監視範囲が一部に限られる

Windows が生の PID を提供していても、ネイティブの報告に利用可能なタイムスタンプがない場合、カメラの動作を PID に帰属できないことがあります。バージョン 0.17.2 以降、トレイは観測されたアクセスを保持し、この部分的な監視範囲をオレンジ色の感嘆符で区別します。詳細には、該当するコレクター、理由、キャプチャが表示されます。実際の利用不可や保護エラーは引き続き優先されます。旧バージョンでは、灰色の × と一般的な「telemetry degraded」という概要が表示される場合があります。

Status details…、mcw status --lang ja、mcw status --json、mcw doctor を確認し、動作、帰属、コレクターの健全性を区別してください。帰属が不明であることは、「アクセスなし」でも「カメラをブロック済み」でもありません。名前だけや生の PID から、クライアントやプロセスを停止してよい権限を推測してはいけません。このページのスクリーンショットは、明示されているとおり過去の 0.17.1 のものです。

どのような権限や許可が必要ですか?

観測:全般的な権限昇格を行わず、ユーザーセッションで MCW を実行してください。システムの制約によって、一部の識別情報やコレクターが利用できない場合があります。追加の権限があっても、帰属は保証されません。

Windows:カメラデバイスの変更には、別途 UAC の許可が必要です。Linux:USB カメラの制御には、まず同じバージョンの管理者用コンポーネントを別途導入し、その後、明示的な Polkit の許可を与える必要があります。ユーザー用インストーラーはこれを導入しません。macOS:カメラプロファイルのインストールと削除は、システム設定で手動で行います。通知はシステムの許可に依存します。MCW は TCC、Gatekeeper、SIP を回避しません。プロファイルの存在は、キャプチャの拒否を証明しません。

Linux:PipeWire が利用できない、カメラが見つからない、またはトレイがない

sudo ではなく、デスクトップのユーザーセッションで MCW を実行してください。pw-dump、PipeWire/SPA ライブラリ、XDG_RUNTIME_DIR、ユーザーのソケット、および独自設定がある場合は PIPEWIRE_REMOTE を確認してください。アクセスできない、または再起動中のソケットはエラーであり、「アクセスなし」ではありません。

トレイには StatusNotifierItem ホストが必要です。通知にはセッションサービスと notify-send が必要です。音には canberra-gtk-play、テーマ、セッションのバックエンドが必要です。呼び出しが受け付けられても、通知が見られたことや音が聞こえたことを証明しません。PipeWire を経由しない直接のカメラアクセスは、帰属が不明のままになる、または観測の品質を低下させる場合があります。

macOS:なぜカメラの PID が表示されないのですか?

CoreMediaIO の公開 API が示すのはデバイスの実行状態であり、それを使用するクライアントの識別情報ではありません。そのため MCW は帰属を捏造せず、PID 不明とカメラの健全性低下を表示します。AVFoundation での利用可能性と実行状態は、画像がキャプチャされたことを証明しません。プロファイルの承認待ちは、ブロックされたことを意味しません。

SmartScreen、Defender、Gatekeeper の警告を無視してよいですか?

いいえ。保護を無効にしたり、除外を追加したりしないでください。公開リリース 0.17.2 は Windows で未署名です。Apple Developer ID 署名と公証も案内していません。そのため、警告が表示される場合があります。GitHub のアテステーションはビルドを説明するものであり、無害であることを示すものではありません。

Defender が検出した場合は、名前、パス、バージョン、取得可能なハッシュ、「保護の履歴」の詳細を記録してください。検疫から復元したり、検出されたバイト列を自動的に再インストールしたりしないでください。リポジトリには、この事案と Microsoft への手動提出についての文書があります。誤検出という判定は主張していません。署名、出所、安全な取り扱い ↗。

トレイを閉じました。保護は解除されていますか?

必ずしもそうではありません。Windows では、手動の保護はバックグラウンドのネイティブブローカーが管理し、トレイや top を閉じても、mcw unmute または mcw camera allow を実行するまで要求は保持されます。これは再起動後の継続を保証するものではありません。Linux と macOS の制御は、引き続き範囲が限定された、その時点での操作です。この Windows の仕組みは適用されません。

実際の状態を確認してください。Windows のカメラガードが停止している場合は、引き続き警告となります。「Block」という意図だけでは、今後の接続が保護されることを証明しません。置き換えやアンインストールの前に明示的に復元し、保留中の状態をすべて解決してください。

なぜ更新やアンインストールが拒否されるのですか?

動作中の実行ファイル、要求中の保護、保留中の復元、欠落または変更された管理記録、安全でないパスが操作を妨げる場合があります。監視プロセスを停止し、特権操作を完了させ、制御の状態を確認してください。スクリプトは root、変更された/管理下にない対象、安全でないリンクを拒否します。代わりにプロセスを停止することはありません。

古いトレイは、通常の方法で手動終了する必要がある場合があります。カメラ操作中に強制終了しないでください。拒否を回避するために所有関係の記録を削除しないでください。適切なインストール管理方式と文書化された手順を使ってください。

プライバシーを守りながら診断情報を共有するには?

mcw doctor --json と mcw status --json は診断に役立ちますが、パス、ユーザー、PID、デバイス、アプリケーション名には個人情報が含まれる場合があります。issue に抜粋を添付する前に、内容を確認してそれらを伏せてください。MCW はレポートを自動収集しません。共有は任意です。診断の安定性を保つため、証拠の技術的な詳細は英語のままです。

公開され、文書化され、監査できる

信頼は、
検証できることから。