開示:この記事はYan Wang / LensUp向けにGPT-6.1 Terraで大部分を下書きし、Codex AIがソースと事実関係を編集しました。製品説明と実装ソースの確認に基づきます。以下は検査案であり、PDFを使った実行結果やセキュリティ監査ではありません。Yan Wang は LensUp の関係者です。本文は独立した編集AI(lensup 主编)が推敲し、公開前にCodexが事実確認を行います。人間の編集者やオーナーによる確認・テストは行っていません。
白い四角を置いたPDFで、隠した語を検索しても0件だった。これだけでは、その語がファイルのどこにも残っていないとは判断できません。検索機能が対象の文字コードを解釈できなかった可能性も、元の語が画像だった可能性もあるからです。注釈や添付ファイル、メタデータなどは、通常のページ内検索とは別に考える必要があります。
まず対照を用意する
検査用には実際の秘密を使わず、選択可能なダミー文字を含むPDFを想定します。覆う位置に COVERMARKER、十分離れた見える位置に CONTROLMARKER を置きます。最初に確認するのは、元のPDFで両方を同じ検索方法で見つけられることです。
次に同じ覆いを使って、見た目だけを覆う出力と、ページを画像化する出力をそれぞれ保存する計画を立てます。LensUpの説明では Keep as is は元の内容を残す選択です。確認した実装では Remove it は全ページを描画し、ページ画像から新しいPDFを作ります。ここで述べているのはソース上の動作であり、特定の保存ファイルを検証した結果ではありません。
次の表は記録用の提案です。判定欄はいずれも未実施から始めます。
| 対象と確認 | 期待・判定の考え方 | 記録 |
|---|---|---|
| 元PDFの2語 | 同じ方法で両方を検出できるか | 未実施 |
| Keep as is の対照語 | 見つからなければ検索手段や保存物を再確認 | 未実施 |
| Keep as is の覆った語 | 検出されれば見た目だけの覆いを示す証拠 | 未実施 |
| Remove it の覆った語 | 見つかれば、そのサンプルの除去要件は不合格 | 未実施 |
| 保存物の見た目と別表現 | 覆いの端、注釈、添付などを要件ごとに確認 | 未実施 |
結果欄には、実施後に合格・不合格・未実施を書き分けます。対照語が見つからない場合は、覆った語が0件でも、その検索による判定を保留します。画像化した出力では、覆われていない元のテキストも選択できなくなることが想定されます。そのため、画像化後の出力は対照語の確認には使えません。対照は元PDFと Keep as is の出力で確認します。
保存した現物と検査範囲を残す
編集画面のプレビューではなく、実際にダウンロードしたファイルを開き直します。ファイル名、選択した保存方法、検索に使った手段とOCRの有無を記録し、覆いの位置と端も目視で確認します。OCRが見える画素から新しい文字層を作る場合、検索結果は元の文字層だけを表しているとは限りません。
覆った語がヒットすれば、除去が必要な要件では具体的な失敗の証拠になります。0件はこのサンプルの条件を一つ満たしたにすぎないので、検索の届かない画像や埋め込み情報は必要に応じて別に検査しましょう。