iOS 27 で機密情報が写ったスクショを自動で非表示にするショートカットを作ってみた

iOS 27 で機密情報が写ったスクショを自動で非表示にするショートカットを作ってみた

iOS 27 で追加されたスクリーンショット保存時のトリガーと「写真を非表示」アクションを使い、個人情報などが写ったスクショをオンデバイスモデルで判定して自動で非表示にするショートカットを作ってみました。
2026.09.30

はじめに

iPhone の画面をスクリーンショットで共有しようとして、本名などの個人情報が写り込んでいることに直前で気付いてヒヤッとした経験はないでしょうか。私はあります。

そんな事故を未然に防ぐために、iOS 27 に追加された新機能を使い、機密情報が写ったスクリーンショットを自動で非表示にするショートカットを作りました。

ショートカットの流れ

iOS 27 のショートカットには多数のアクションやオートメーションが追加されています[1]。今回使う新機能は次の 3 つです。

  • スクリーンショットが保存されたときに実行されるトリガー
  • 写真を保護された非表示アルバムへ移動するアクション「写真を非表示」
  • OCR ができる「画像からテキストを抽出」

機密情報かどうかの判定には、iOS 26 から使える「モデルを使用」アクションでオンデバイスモデル(ローカルモデル)を使います。

具体的な処理の流れは次の通りです。

  1. スクリーンショットの保存をトリガーに起動する
  2. 最新のスクリーンショットを取得し、テキストを抽出する
  3. 抽出したテキストに機密情報が含まれるかをオンデバイスモデルで判定する
  4. 含まれる場合は写真を非表示にし、通知を表示する

作り方

スクショからテキストを抽出する

新規ショートカットを作成し、先頭に「スクリーンショットが保存されたとき」のトリガーを置きます。実行のたびに確認されないよう、トリガーの通知のトグルはオフにしておきます。

続いて「最新のスクリーンショットを取得」で取得件数を 1 に設定し、その結果を「画像からテキストを抽出」に渡します。

トリガーとテキスト抽出

機密情報を判定する

「モデルを使用」を追加し、モデルに「オンデバイス」を選びます。一応 ChatGPT なども選べますが、機密情報が外部に送信される可能性があるのでご注意ください。

出力の型を指定できるので、出力を「ブール値」にしておきます。プロンプトには次のように書き、末尾に抽出したテキストの変数を挿入します。

Return true if the following text contains sensitive information such as name, passwords, API keys, access tokens, credit card numbers, or personal addresses and phone numbers. Otherwise, return false.

判定の設定

ちなみに日本語でプロンプトを書いた場合、何を渡しても false が返ってきてしまいました。英語に書き換えたところ正しく判定されるようになりました。

判定するテキストは日本語のもの(漢字の名前や住所など)でも問題なく動作したので、日本語自体に対応していないわけではないと思うのですが……謎です。

スクショを非表示にして通知する

「if 文」でモデルの出力が true かを判定し、true の場合に「写真を非表示」と「通知を表示」を実行します。「写真を非表示」には、先ほど取得したスクリーンショットを渡します。

分岐と通知の設定

動作確認

LINE のメモに個人名を含むメッセージを送ってスクリーンショットを撮ってみます。

動作確認

通知が届き、写真アプリの「非表示」アルバムにスクリーンショットが移動していました!
判定も 2 秒程度で終わっているようで、十分早いです。

機密情報が含まれないスクリーンショットには何も反応しませんでした。しっかり分類できているようです。

買い物メモ動作確認

まとめ

iOS 27 で追加されたスクリーンショットのトリガーと「写真を非表示」にオンデバイスモデルでの判定を組み合わせることで、機密情報の写り込みに対する対策ショートカットを作れました。

うっかりスクリーンショットを共有してしまう前の対策の一つとして、よろしければご活用ください。

脚注
  1. New in iOS, iPadOS, macOS, watchOS, and visionOS 27 - Apple Support ↩︎

この記事をシェアする

関連記事