トラストセンター

クリップボードは PC の中にとどまります。その仕組みと、それが及ばないところを示します。

このページの記述はすべてソースコードと照合して確認し、それを強制するコードの名前を併記しています。ClipVault があなたを守れない部分についても、そのとおりに書いています。

ClipVault 0.1.0 と照合済み · ページ生成 2026-09-15

原則

コードが守らせる 4 つの約束

誰かが覚えておかなければならない方針ではありません。それぞれを検査かテストが固定しており、破ればビルドが失敗します。

ネットワーク

クリップの内容は PC の外に出られません

プログラムの中で接続を開けるファイルは net.py ひとつだけで、その唯一の関数 get_json(url, allowed) には、リクエスト本文を運べる引数がありません。クリップをアップロードするコード経路は存在しません。アップロードに使える手段そのものがないからです。

プッシュのたびに scripts/check_network.py が強制します。他のモジュールがネットワーク ライブラリを import した場合、またはゲートウェイに databodypayloadcontenttext のいずれかの引数が加わった場合、ビルドは失敗します。

テレメトリ

テレメトリなし — オプションとしても存在しません

プログラムには使用統計、クラッシュ報告、分析機能がありません。設定ファイルに telemetry という項目は残っていますが、それを読んで何かを送信するコードはなく、設定を読み込むたび・保存するたびに、ファイルの内容にかかわらず Config.normalize() が false に戻します。

src/clipvault/config.py — すべての読み込みと保存が normalize() を通ります。

更新

更新確認とお知らせはオプトインです

新規インストールではどちらもオフで、初回起動時に ClipVault が尋ねます。断れば接続を開くことはありません。許可すると、1 日 1 回、小さなバージョン ファイルに対して HTTPS GET を 1 回だけ送ります — 本文なし、Cookie なし、識別子なし。追加するヘッダーは ClipVault とそのバージョンを示すものだけです。平文の HTTP とリダイレクトは拒否し、64 KB を超える応答は破棄します。

net.get_jsonupdates.fetch。組織は DisableUpdateCheckDisablePromos のポリシーで両方をオフにできます。

更新リンク

「新しいバージョンを入手」は公式サイトにしかつながりません

バージョン ファイルはプログラムが取得したものであって、信頼しているものではありません。その中のリンクは、ClipVault サイト上のパスか、同じホストの https アドレスである場合にだけ採用されるため、改ざんされたファイルがよく似た偽のダウンロードへ誘導することはできません。バージョン番号も数字とドットだけを受け付けるので、そこにメッセージを仕込むこともできません。

updates.official_linkupdates.clean_version — キャッシュされたコピーにも適用されます。

データの流れ

クリップの行き先を順に追う

上の枠の中の処理はすべて、あなたの PC 上で、あなたの Windows アカウントの下で行われます。下の枠はプログラムの唯一のネットワーク経路で、クリップにはアクセスできません。

ClipVault のデータの流れ コピーされたクリップはキャプチャ ゲートを通り、「記録しない」マーカーが付いたクリップや除外アプリからコピーされたクリップはここで破棄されます。検出処理が資格情報を探し、資格情報は Windows DPAPI で暗号化されます。暗号化に失敗した場合はまったく保存されません。クリップは %LOCALAPPDATA%\ClipVault にあるローカルの SQLite データベースに保存され、そのフォルダーの権限はあなたのアカウントに限定されています。クリップが保存場所から出るのは、前面にあることが確認されたウィンドウに貼り付けるときだけで、貼り付けた資格情報はその後クリップボードから消去されます。これとは別に、オプトインした場合にだけ、プログラムはバージョン ファイルに HTTPS GET を 1 回送ります。この経路にクリップのデータはありません。
この PC · あなたの Windows アカウント
1クリップボードどのアプリでも、テキスト・画像・ファイルをコピー
2キャプチャ ゲート除外マーカー · 除外アプリ · 組織のポリシー
3検出先頭 1,000,000 文字から資格情報を探す
4DPAPI 暗号化資格情報のみ。暗号化に失敗したら保存しない。
その他のクリップ
保存しないアプリが「記録しない」と指定したもの、または除外アプリからのコピー
5ローカル データベース%LOCALAPPDATA%\ClipVault の SQLite · フォルダー権限は本人のみ
6ポップアップと貼り付け前面にあると確認したウィンドウにだけキーを送る
7貼り付け後に消去貼り付けた資格情報は 30 秒後に消去(新たにコピーしていなければ)
クリップからネットワークへの経路はない
唯一のネットワーク経路 · オプトインしない限りオフ
更新確認1 日 1 回、許可した場合のみ
HTTPS GET · 本文なし · Cookie なし
ClipVault サイトの release.json最新バージョン、リリースノートのリンク、任意のお知らせ — 誰に対しても同じ応答
送るもの:そのファイルのアドレスと、ClipVault とそのバージョンを示す User-Agent。送信元はあなたの IP アドレスです。決して送らないもの:クリップ、履歴、設定、いかなる識別子も。
ClipVault のデータの流れ コピーされたクリップはキャプチャ ゲートを通り、「記録しない」マーカーが付いたクリップや除外アプリからコピーされたクリップはここで破棄されます。検出処理が資格情報を探し、資格情報は Windows DPAPI で暗号化されます。暗号化に失敗した場合はまったく保存されません。クリップは %LOCALAPPDATA%\ClipVault にあるローカルの SQLite データベースに保存され、そのフォルダーの権限はあなたのアカウントに限定されています。クリップが保存場所から出るのは、前面にあることが確認されたウィンドウに貼り付けるときだけで、貼り付けた資格情報はその後クリップボードから消去されます。これとは別に、オプトインした場合にだけ、プログラムはバージョン ファイルに HTTPS GET を 1 回送ります。この経路にクリップのデータはありません。
この PC · あなたの Windows アカウント
1クリップボードどのアプリでも、テキスト・画像・ファイルをコピー
2キャプチャ ゲート除外マーカー · 除外アプリ · 組織のポリシー
3検出先頭 1,000,000 文字から資格情報を探す
4DPAPI 暗号化資格情報のみ。暗号化に失敗したら保存しない。
5ローカル データベース%LOCALAPPDATA%\ClipVault の SQLite · フォルダー権限は本人のみ
6ポップアップと貼り付け前面にあると確認したウィンドウにだけキーを送る
7貼り付け後に消去貼り付けた資格情報は 30 秒後に消去(新たにコピーしていなければ)
クリップからネットワークへの経路はない
唯一のネットワーク経路 · オプトインしない限りオフ
更新確認1 日 1 回、許可した場合のみ
HTTPS GET · 本文なし · Cookie なし
ClipVault サイトの release.json最新バージョン、リリースノートのリンク、任意のお知らせ — 誰に対しても同じ応答
送るもの:そのファイルのアドレスと、ClipVault とそのバージョンを示す User-Agent。送信元はあなたの IP アドレスです。決して送らないもの:クリップ、履歴、設定、いかなる識別子も。

ゲート。アプリが「記録しない」と指定したクリップ — KeePass、1Password、Bitwarden が付ける標準マーカー — は、読み取りさえしません。除外アプリからのクリップは保存前に破棄されます。既定の一覧にはパスワード管理ソフトと韓国の金融機関向けセキュリティ モジュールが含まれます。組織のポリシーでアプリを追加したり、画像やファイルのキャプチャをオフにしたりできます。win/clipboard.readVault._gate

フェイルクローズの暗号化。資格情報は Windows DPAPI で暗号化され、テキストは取り除かれるため、検索索引に入ることはありません。DPAPI が使えないか失敗した場合、そのクリップは平文で残されるのではなく破棄されます。Vault._protect

保存。初回起動時にフォルダーの権限継承を止め、あなたのアカウントに明示的にアクセス権を与えるので、親フォルダーが変更されても権限が広がることはありません。資格情報の重複排除には鍵付きハッシュを使うため、データベースには値を推測できるフィンガープリントが残りません。win/acl.harden_onceVault._dedupe_key

貼り付け。ClipVault は元のウィンドウにフォーカスを戻し、Ctrl+V を送る直前に、そのウィンドウが前面にあることをもう一度確認します。確認できなければ何も送らず、クリップはクリップボードに残ってあなたの操作を待ちます。ClipVault がクリップボードに載せる資格情報にはそれ自体に「記録しない」マーカーが付くため、Windows のクリップボード履歴や他の管理ソフトはそれをスキップします。actions.deliverwin/exclusions.exclusion_payloads

消去。資格情報を貼り付けると、既定で 30 秒後にクリップボードが空になります — ただし、その間に何も新しくコピーしていない場合に限ります。actions.clear_if_unchanged

ネットワーク。リクエストは、アドレスとあなたの同意だけを受け取り、ほかには何も受け取らない関数が送るため、クリップのデータはその手の届く範囲にありません。平文の HTTP とリダイレクトを拒否し、64 KB を超える応答は破棄します。net.pyupdates.fetch

脅威モデル

防げること、防げないこと

ローカル プログラムにできるのは、一部の攻撃を難しくすることです。乗っ取られた Windows アカウントを安全にすることはできません。できると言えば、頼るべきでないものに頼るよう教えることになります。

防げること

  • コピーされたデータベース ファイルやバックアップ。その中の資格情報はあなたの Windows アカウントに結び付いた DPAPI 暗号文で、フィンガープリントも鍵付きです。
  • 同じ PC の他のアカウント。フォルダーの権限はあなたのアカウントに固定され、DPAPI の鍵は 1 つのアカウントに属します。
  • パスワード管理ソフトからコピーした秘密。標準の除外マーカーが付いたクリップは、読み取らずにスキップします。
  • 一覧をちらりと見られること。資格情報の行は伏せられ、値は Ctrl+R を押したときだけ表示されます。
  • 間違ったウィンドウへの貼り付け。対象のウィンドウが前面にあると確認できない限り、キー入力は送りません。
  • 改ざんされたバージョン ファイルやインポート ファイル。更新リンクは公式ホストに限られ、インポートは内容から再検査されます — パス、ハッシュ、ラベルは再計算されます。
  • アプリを固まらせるように細工されたテキスト。検出パターンには上限があり、スキャンするのは先頭 1,000,000 文字だけです。

防げないこと

  • あなたの権限で動くマルウェア。あなたの Windows アカウントで動くプログラムなら、ClipVault とまったく同じようにクリップボードを読み、DPAPI に復号を依頼できます。
  • PC の管理者。管理者アカウントは他のアカウントのファイルを読み、そのアカウントとして振る舞うことができます。
  • クリップボードに何かが載っている間の他のアプリ。Windows のクリップボードは実行中のすべてのプログラムが共有しています。貼り付け後の消去はその時間を短くするだけで、しかも資格情報に限られます。
  • 画面に表示されているもの。表示させた値は、画面録画、画面共有、スクリーン リーダー、そして近くにいる人に見られる可能性があります。
  • 認識できない資格情報。検出は既知の形式とラベルを探します。ラベルのないパスワードだけの文字列は普通のテキストに見え、普通のテキストとして保存されます。
  • 普通のクリップ。資格情報ではないテキスト、画像、ファイル パスは暗号化されずにフォルダーに保存され、Windows の権限だけで保護されます — メール アドレスや電話番号も同様です。
  • あなたが変更した設定。暗号化をオフにすると、資格情報は伏せられますが暗号化されません。エクスポートしたファイルの管理はあなたの責任です。
  • 更新を確認していることが知られること。更新確認がオンの間、サイトのホストは 1 日 1 回、あなたの IP アドレスと ClipVault のバージョンを知ることになります。

これは、プログラムが 管理コンソール → セキュリティ で示している境界と同じです。この暗号化が保証するのは、データベース ファイル単体では読めないということであり、それ以上ではありません。

資格情報の検出

何を探すか

検出はクリップにラベルを付けるだけで、削除することはありません。資格情報とラベル付けされたクリップは暗号化され、伏せて表示されます。保存そのものを拒否するのは、あなたか組織のポリシーがそれをオンにした場合だけです。

パスワード

ラベルと値 — 「password:」「パスワード:」「contraseña=」など、アプリが対応する 12 言語すべての「パスワード」を表す語を探し、全角コロンも対象にします。scheme://user:password@host 形式のアドレスも対象です。

API キーとトークン

OpenAI、Anthropic、Stripe、GitHub、GitLab、npm、SendGrid、AWS、Slack、Google の既知の形式。api_key=client_secret: のようなラベル付きの値。DB_PASSWORD= のような .env の行。Azure 接続文字列のキー。

Webhook URL

Slack と Discord の Webhook アドレス。それ自体が資格情報です。

秘密鍵

PEM 形式の秘密鍵ブロック。

JSON Web Token

eyJ で始まる 3 つの base64url セグメント。

カード番号

Luhn チェックを通る 13〜19 桁の数字。0000 0000 0000 0000 のようなダミーの並びは無視します。

韓国の住民登録番号

日付とチェック ディジットまで照合します。

メール アドレスと電話番号

個人データとしてラベルを付けますが、暗号化はしません。意図してコピーするものだからです。

固まらないように作っています

検出はコピーのたびに実行されるため、遅いパターンがひとつあるだけでホットキーが固まってしまいます。すべてのパターンのすべての繰り返しに上限を設け、テストでは攻撃的な入力 14 種類を与えて、入力を 4 倍にしたときに時間が 8 倍を超えれば失敗させます — これは破滅的なバックトラッキングの兆候です。スキャンするのはクリップの先頭 1,000,000 文字だけで、プログラムがスキャンした範囲を超える長さのテキストを保存することはありません。

sensitive.DETECT_LIMITConfig.normalizetests/test_security.py

組織向け

ポリシーは厳しくすることしかできません

IT 部門は、グループ ポリシーまたは Intune で HKLM\SOFTWARE\Policies\ClipVault に設定を強制できます。コンピューターとユーザーの両方のポリシー キーを読み、より厳しい値が優先されます。標準ユーザーはどちらにも書き込めません。

  • 19 のルール。資格情報の保存拒否、暗号化の必須化、保存期間とクリップ件数の上限、貼り付け後の消去時間の強制、除外アプリの追加、アプリ別の保存期間の短縮、検出ルールの追加、画像やファイルのキャプチャ・エクスポート・更新確認・お知らせのオフ、フォルダー権限のロックダウン、画面キャプチャ保護の強制、プライベートモードの禁止、新しいプログラムへ資格情報を貼り付けるときの確認の必須化。
  • 緩めるスイッチはありません。暗号化をオフにする、除外アプリを外す、ネットワークを使う機能を有効にする、といったポリシーは存在しません — ポリシー名が Disable、Require、Max、Excluded、LockDown のいずれかで始まらなければ、テストがビルドを失敗させます。
  • 読み取れない値は無視されます。許可として解釈されることは決してありません。
  • ユーザーに隠しません。ロックされた設定はグレー表示になり、管理コンソールには適用中のルールが表示されます。

グループ ポリシー テンプレート

ADMX と英語・韓国語の ADML に加え、すべての値の解説書が入っています。グループ ポリシーでも、Intune の ADMX インポートでも使えます。

ClipVault-policy.zip をダウンロード
サプライチェーン

実行ファイルに何が入っているか

部品が少ないほど、他人のコードが入り込む場所も少なくなります。

  • サードパーティ ライブラリなし。プログラムは Python 標準ライブラリだけを使います — Win32 は ctypes、画面は tkinter、保存は sqlite3、PNG コーデックはプロジェクト内で自作したものです。PyInstaller はパッケージ化にだけ使います。scripts/check_stdlib_only.py がすべての import を読み、それ以外のものがあればビルドを失敗させます。
  • ネットワークの扉はひとつ、機械が確認。scripts/check_network.py がネットワーク処理を net.py の中に閉じ込め、そこに本文の引数が入らないようにします。
  • プッシュのたびに確認。全テスト、依存関係チェック、ネットワーク チェック、ダウンロード カウンターのテスト、翻訳チェックを CI の Windows 上で実行します。

このビルドはコード署名されています

ClipVault.exe は Azure Artifact Signing を通じて PROJECTTEAMFORYOU の名前で署名されています。確認するには、ファイルを右クリック → プロパティデジタル署名 を開きます。署名が設定されている場合、ビルドは未署名のまま完了することを拒否し、ファイルがビルド マシンを離れる前に署名をもう一度検証します。

このウェブサイト

ダウンロード カウンターが残すもの

どのファイルが使われているかを知るために、ウェブサイトはダウンロード数を数えています。残すのは集計値であって、ログではありません。

保存するもの

  • 日付(UTC)
  • ファイル名
  • ホスティング事業者のネットワークによる 2 文字の国コード

保存しないもの

  • あなたの IP アドレス
  • あなたの User-Agent — ボットとリンク プレビューを除外するためにだけ読み取ります
  • 参照元のページ
  • Cookie、その他あなたに関するあらゆる情報

再開されたダウンロードとクローラーは数えず、プログラムの更新確認はまったく数えません — バージョン確認に同意することは、カウントされることへの同意ではないからです。deploy/cloudflare/lib/downloads.js

当社自身の広告のクリック — 本ウェブサイト、またはお知らせをオンにした場合のプログラムのお知らせ — も同じ方法で、日付・広告・国だけを集計します。プログラムはポップアップに広告を表示せず、他社の広告も表示しません。deploy/cloudflare/lib/ads.js

責任ある開示

脆弱性を見つけましたか?まず私たちに知らせてください。

公開される前に修正できるよう、メールで非公開に報告してください。

セキュリティ上の懸念の報告先 security@clipvault.dev
セキュリティ報告を書く

私たちの目標は、報告の受領を 3 営業日以内にお知らせし、修正と公開日についてあなたと合意することです。これは目標であり、保証ではありません。ClipVault は小さなチームが作っています。

記載していただきたい情報

  1. ClipVault のバージョン(clipvault-cli --version)と Windows のバージョン
  2. 再現手順と、攻撃者が得られるもの
  3. 概念実証(PoC)があればそれも
  4. 公開する予定の有無と、その時期

実際のパスワードや他人のクリップボード データは送らないでください。また、テストはご自身のコンピューターとアカウントでのみ行ってください。

有償のバグ報奨金制度はありません。ご希望であれば、リリースノートでお名前を挙げて感謝をお伝えします。

機械可読な連絡先:security.txt →