截圖才看得到的浮水印:Bluesky 如何借用 iOS 密碼欄位機制畫出蝴蝶標誌
timmarinin.net · 2026-08-16
背景
開發者 Tim Marinin 在部落格記錄了一個怪現象:平常滑 Bluesky 時完全看不到任何品牌標誌,但只要對某些貼文畫面按下截圖,原本顯示「Follow」按鈕的位置就會浮現出 Bluesky 的蝴蝶 Logo。這個標誌只在螢幕截圖裡才會出現,在正常使用時完全不可見。他順著程式碼找到了背後的實作,發現這其實是刻意設計的行為,而不是渲染錯誤。
機制:借道密碼輸入框的螢幕保護特性
核心元件是一個名為 expo-privacy-sensitive 的自訂 Expo 模組,實際渲染邏輯寫在 GrowthHack.tsx 這支檔案裡(bluesky-social/social-app)。做法是建立一個 UITextField 並將 isSecureTextEntry 屬性設為 true,再把 Follow 按鈕實際渲染進這個安全欄位的 .layer 裡。iOS 系統對安全輸入欄位有個特殊行為:一旦偵測到螢幕截圖,會把該欄位的畫面內容瞬間清空,而 Follow 按鈕原本疊在浮水印圖層上方,按鈕一消失,底下的蝴蝶標誌就露了出來。這項改動來自開發者 mozzius 於 2026 年 1 月提出的 PR #9637,標題直白地寫著「Watermark posts in screenshots」,最終以 commit ab85b50 於 2026-01-15 合併。
意義:privacy API 的反向用途
這個手法有意思之處在於它完全沒有動用任何截圖偵測或畫面合成 API,而是把 isSecureTextEntry 這個原本用來防止密碼在 App 切換器或截圖中外洩的隱私保護機制,反過來當成「只在截圖時才顯示內容」的觸發器。Telegram、Signal 等強調隱私的 App 也用類似技巧遮蔽畫面,但方向剛好相反,它們是為了在截圖時隱藏敏感內容,Bluesky 則是反其道而行拿來打廣告。PR 討論串隨即引發不小爭議,多名開發者質疑挪用系統隱私特性做視覺效果、且在使用者未預期的情況下改變截圖行為並不妥當,也有人建議應該做一個像 Reddit 那樣正規的「另存為圖片」功能取代這種取巧手法。這條討論最終在 2026-01-20 被維護者鎖定,但程式碼仍留在主線裡持續運作。
為什麼「↓」不是把「↑」倒過來畫:一場由字型缺字引發的 Unicode 誤會
thefloatingcontinent.com · 2026-08-17
背景
大多數人直覺認為向下箭頭就是把向上箭頭鏡像翻轉,畢竟兩者在概念上互為相反方向。The Floating Continent 這篇文章卻指出,在某些系統字型組合下,↑(U+21E7 UPWARDS WHITE ARROW)與↓(U+21E9 DOWNWARDS WHITE ARROW)實際上是由兩套完全不同的字型描繪出來的,筆畫粗細、箭頭頭部的幾何形狀都對不上。作者用瀏覽器開發者工具檢查字元的實際渲染字型,才發現這兩個符號從未被同一套設計語言處理過。這兩個碼位與同屬「Arrows」區塊(U+2190–U+21FF,官方圖表見 unicode.org/charts/PDF/U2190.pdf)的 U+21E8 RIGHTWARDS WHITE ARROW 也有同樣問題。
發現過程:Lucida Grande 只刻了一半的箭頭
追查下去會發現,macOS 內建的 Lucida Grande 字型只實作了 Upwards White Arrow 這一個字符,其餘方向的白色箭頭它壓根沒有對應字型輪廓,於是作業系統或瀏覽器只好啟動字型後備機制(font fallback),改用一套叫 STIXGeneral 的數學符號字型去補畫下箭頭與右箭頭。也就是說,同一句話裡的 ↑ 和 ↓ 從頭到尾就是兩套字型各自畫出來的產物,自然對不上邊。文章引用 Unicode 字型專家 Ken Lunde 的說法作為佐證。
原因:Big5 時代留下的歷史包袱
Lunde 解釋,部分字型廠商當年之所以只實作 Upwards White Arrow,是因為這個符號早已存在於許多繁體中文字型裡,只是走的是 Big5 這套非 Unicode 的舊編碼,廠商為了相容既有 CJK 字型資產,把它原封不動搬進 Unicode 對應位置,其餘方向的箭頭則因為當年沒有對應的舊編碼字符可以借用,就被排在優先順序後面,一路拖到後來才由後備字型頂替。這場「箭頭對不齊」的謎團,說到底不是排版錯誤,而是不同年代、不同編碼系統的字型資產拼接留下的痕跡。這也解釋了為什麼同一個 Arrows 區塊裡的符號,渲染品質會如此參差不齊。
追蹤一批稀有書籍的物流軌跡,終點竟是亞馬遜的 AI 訓練掃描工廠
404 Media · 2026-08-17
背景
404 Media 記者 Emanuel Maiberg 長期關注 AI 公司如何取得訓練資料,這次把目標放到一個容易被忽略的來源:實體書籍,尤其是絕版、稀有的印刷品。業界一直有傳言指出,有買家會用高於市價許多的價格大量掃購舊書,但沒人能證實這些書最後流向哪裡。為了拿到第一手證據,記者團隊決定不再只靠訪談拼湊,而是直接把追蹤器藏進書裡寄出去。Simon Willison 在自己的部落格轉述並稱讚這是一篇「excellent piece of reporting」。
追蹤過程:把定位器塞進書裡寄出
記者在一批約千本的書訂單中安插了追蹤裝置,隨包裹一起被買走、上路。包裹一路輾轉,最終抵達內華達州拉斯維加斯的一座亞馬遜倉儲設施,經確認是編號 VGT3 的營運中心。團隊隨後蒐集到的證據不只是追蹤器座標,還包括現場員工的說法與內部團隊識別標誌——一個「咬著書、張牙舞爪的恐龍」圖案,被形容為「on-the-nose」,幾乎是不加掩飾地暗示這裡就是書籍數位化的處理站。
意義:掃描完就銷毀的印刷品
根據員工描述的作業流程,書籍是以「massive shipments」的規模整批送入這座設施,現場人員會先把書背裁掉以加快掃描速度,原始印刷本在這個過程中就此報廢。換句話說,這些實體書唯一的下場就是被拆解、掃描成訓練資料,然後直接銷毀,不會再以任何形式回到市面流通。這也呼應了近來出版與二手書市場的觀察:部分絕版書籍近期出現異常搶購,價格被墊高,如今看來很可能與 AI 公司需要大量高品質文字語料來源不無關係。
- 追蹤方式:書內夾帶定位追蹤裝置
- 終點設施:Amazon VGT3,Las Vegas, Nevada
- 現場證據:內部團隊「恐龍咬書」標誌、員工口述作業流程
- 作業方式:拆書背裁切以加速掃描,原書隨後銷毀