你的 PDF 洩露了多少關於你的事:隱藏的後設資料
每一份 PDF 都帶著隱藏的後設資料:作者姓名、軟體、時間戳記,有時還有編輯歷史。本文說明裡頭有什麼、如何檢查,以及為什麼純瀏覽器工具能讓這場稽核保持私密。
你寫好一份文件,匯出成 PDF,然後寄出去。你看到的是內容:文字、圖表、版面。你看不到的,是這份檔案在底下夾帶的第二層,一組描述文件本身的屬性。那就是後設資料,而它透露的關於你的事,可能比你想像得多。
對大多數檔案而言,這無傷大雅。但對某些檔案來說,一個隱藏欄位裡的名字,或一個沒人打算分享的時間戳記,就曾是那個露了餡的細節。在寄出之前,值得先知道裡頭有什麼。
一份 PDF 究竟記錄了哪些關於自己的事
幾乎在任何閱讀器裡打開一份 PDF 的屬性,你通常都會看到幾個標準欄位:
- 作者。 常常是你的全名,或你電腦的帳號名稱,由製作這份檔案的程式自動帶入。
- 標題、主旨、關鍵字。 有時留白,有時從來源文件自動填入,偶爾還會是一個你早已忘記的舊工作標題。
- 建立者(Creator)與製作者(Producer)。 製作這份 PDF 的軟體與版本。「由〔某應用程式〕14.2 匯出」會明明白白告訴讀者你用的是什麼。
- 建立與修改日期。 檔案何時製作、最後何時更動的精確時間戳記。
這些大多在你從未親手打字的情況下就被填好了。程式會在匯出時悄悄加上它們。
那些容易被遺忘的東西
除了標準欄位之外,還有幾樣東西搭便車的頻率,比人們以為的還高:
- 你機器上的帳號名稱。 如果你電腦的登入名稱是你的法定全名,那它可能會成為你產出的每一份檔案的作者。
- 某些工作流程裡的編輯歷史。 某些工具會保留早期修訂或註解的痕跡,它們不顯示在頁面上,卻留在檔案的結構裡。
- 軟體指紋。 你所使用的確切工具鏈,可能會暗示你的組織或你的設定環境。
這些都不會顯示在頁面上。你光是讀文件,永遠不會發現它們。它們會在有人打開屬性面板,或用一段批次讀取後設資料的腳本跑過檔案的那一刻浮現出來。
什麼時候它真的要緊
很多時候它無關緊要。但請考慮這些情況:
- 匿名或盲審投稿。 一份吹哨者文件、一份雙盲學術手稿、一個匿名線報。如果作者欄裡有你的名字,那麼在任何人讀到一個字之前,匿名就已經破功了。
- 把文件寄給你並不完全信任的人。 一場談判、一樁糾紛、一份求職申請。時間戳記與軟體指紋是小小的洩漏,但它們確實是洩漏。
- 公開發布。 一份貼到網路上的報告會被下載,任何人都能讀它的屬性。曾有組織被指認出來、消息來源被揭露,就是因為一份公開 PDF 裡的後設資料。
如何檢查你自己的檔案裡有什麼
最簡單的第一步,就是去看。在 PDF 閱讀器裡打開檔案,找到文件屬性或「資訊」面板,通常在「檔案」選單底下。它會顯示那些標準欄位:作者、日期、製作它的軟體。如果你的名字或一個帳號代號正坐在作者欄裡,現在你知道了。
想看得更仔細,你可以擷取文件的文字與結構,看看裡頭實際儲存了什麼,而且全程不必上傳檔案。重點是在寄出之前看,而不是寄出之後。
為什麼這場稽核本身就該留在本機
陷阱就在這裡。最直覺的做法,是去搜尋一個「線上後設資料檢視器」或「移除 PDF 後設資料」的工具,然後上傳你的檔案。想想這意味著什麼。你正擔心這份文件透露了太多關於你的事,於是為了檢查,你把整份檔案,連同所有後設資料,一併交給一台由陌生人營運的伺服器。這場稽核本身,變成了那場洩漏。
reader.me 在你的瀏覽器裡執行。當你打開一份檔案來檢視它,或重新存一份乾淨的副本時,工作都發生在你自己的機器上:PDF 在本機被讀進記憶體、就地處理,結果歸你所有。沒有任何東西被傳輸出去。你可以用驗證我們其他任何主張的同一種方式來確認:開啟開發者工具(F12),盯著 Network(網路)分頁,看到沒有任何上傳。或者,直接拔掉你的網路連線,離線作業。
對一場隱私檢查來說,這才是對的樣子。你會去看後設資料,整個理由就是你在乎你的資訊流向何處。一個為了回答這個問題而上傳你檔案的工具,早就給了你一個錯誤的答案。
一個簡單的習慣
在任何重要的文件離開你手中之前,花十秒鐘打開它的屬性。檢查作者欄。檢查標題。如果裡頭有不該出現的東西,就在本機處理掉它,用一個不會多繞一趟去別人伺服器的工具。在你的瀏覽器裡重新處理這份檔案,如果你需要一份新的副本,就壓縮或合併它,然後寄出你真正打算寄出的那個版本。
你的 PDF 說的,比它的字句還多。現在你知道該往哪裡看,也知道該如何看,而不會在檢查的過程中,洩漏了你正在檢查的那樣東西。