隱私權政策
一、開發者資訊與服務簡介
「Shutterguard」(以下簡稱「本 App」)為臺灣獨立開發者所開發之 iPhone 隱私安全輔助工具。本 App 旨在協助使用者於飯店、更衣室、醫療美容診所及公共洗手間等場域,偵測並排查潛在之異常攝影裝置。
聯絡管道:
- 電子郵件:yanru.studio@icloud.com
- GitHub 專案:https://github.com/lawliet0813/shutterguard
二、核心隱私聲明
本 App 之所有核心運算均於您的本機裝置內完成,絕對不會將任何掃描紀錄、影像資料、藍牙裝置清單、位置資訊或任何個人識別資料上傳至任何外部伺服器。
三、資料蒐集與處理原則
3.1 直接蒐集之資料
無。 本 App 毋須註冊或登入,亦不要求使用者提供電子郵件、姓名或任何個人識別資訊。
3.2 裝置本機自動產生並儲存之資料
下列資料僅存儲於您的 iPhone / iPad 本機端,絕不傳出裝置外:
| 資料類型 | 用途說明 | 儲存位置 | 資料保護層級(加密) |
|---|---|---|---|
| 掃描歷史紀錄 | 提供於「歷史」頁面檢視過去之掃描結果 | Documents/(SwiftData) |
NSFileProtectionCompleteUnlessOpen |
| 候選反光點縮圖(200×200) | 於「詳情」與「歷史」頁面顯示證據縮圖 | Documents/ScanImages/{紀錄ID}/ |
NSFileProtectionComplete |
| 完整證據圖(Pro 版專屬,全幅原圖+標註圖) | 供 Pro 版使用者檢視打光原圖及標註圖 | Documents/ScanImages/{紀錄ID}/ |
NSFileProtectionComplete |
| 掃描診斷檔(Pro 版掃描式偵測:各階段量測 CSV 與候選反光點小切片) | 供公測回報包夾帶本次掃描的診斷資料;正式版僅保留最近 7 天,「清除照片快取」時一併刪除 | Documents/SweepLab/ |
NSFileProtectionComplete |
| 狀態與偏好設定(Onboarding 狀態、Pro 權限狀態、設定偏好) | 記憶使用者之自訂設定 | UserDefaults |
iOS 系統原生管理 |
| 「我的環境」藍牙基線標記(裝置名稱、廠商識別碼、CoreBluetooth 識別碼) | 供使用者將自宅常駐之藍牙裝置排除於評分之外,以降低誤報 | UserDefaults |
iOS 系統原生管理 |
| StoreKit 購買憑證 | 驗證 Pro/Pro+ 一次性應用程式內購買(IAP)解鎖狀態 | 透過 Apple StoreKit 管理 | Apple 系統原生管理 |
上述資料均受 iOS 檔案保護機制加密;當裝置處於鎖定狀態且未被使用時,即無法進行讀取。
3.3 第三方追蹤與數據分析
無。 本 App 嚴格拒絕嵌入任何第三方軟體開發套件(SDK)、廣告模組或數據分析(Analytics)服務。
四、系統權限存取說明
4.1 相機(核心功能必要)
- 用途:
- 免費版(拍照式):拍攝閃光燈開啟(ON)與關閉(OFF)兩張靜態照片,以差分比對找出鏡頭反光。
- Pro 版(掃描式):掃描期間(每輪約 5 秒)閃光燈快速明滅,App 即時分析相機畫面,找出跟著閃光節奏變亮的亮點;靠近確認時再分析約 5 秒。
- 紅外線偵測:使用前鏡頭檢視畫面中的紅外光點(關燈情境)。
- 資料處理位置:完全於裝置本機端執行,採用 Apple Vision 等系統框架。
- 是否上傳:否。
- 錄影與存檔:不錄影、不儲存影片。即時畫面只在記憶體中分析;留存於本機的只有可疑位置的縮圖、Pro 版選擇保留的證據圖,以及掃描診斷檔(見 3.2)。
- LiDAR 深度資料(限支援機型):偵測時同步讀取 LiDAR 深度數值,用以估算反光點之實體口徑與距離(尺寸濾除)。深度數值僅於偵測當下在記憶體中運算,不寫入歷史紀錄、不隨匯出檔案輸出,亦絕不上傳。
4.2 藍牙(Pro 版)
- 用途:掃描周圍之低功耗藍牙(BLE)裝置,於過濾已知良性裝置後,標記潛在之可疑訊號。
- 啟用時機:僅於 Pro 版使用者進行掃描時啟用;免費版不使用藍牙,亦不請求藍牙權限。
- 資料處理位置:完全於裝置本機端執行。
- 是否上傳:否。
- 資料取得範圍:受限於 iOS 公開 API 規範,僅能取得裝置廣播封包中公開之內容:廣告名稱、RSSI 訊號強度、隨機化 UUID(非實體 MAC 位址)、製造商識別碼(Bluetooth SIG Company Identifier)與服務 UUID。本 App 無法取得真實 MAC 位址,亦無法取得裝置之完整型號。製造商識別碼係與本機內建之離線對照表比對,不進行任何連線查詢。
- 主動查詢裝置名稱:對於距離極近(約 2 公尺內)且廣播中未提供名稱之裝置,本 App 於掃描期間至多對 5 台短暫建立藍牙連線(每台至多 3 秒),僅讀取其公開之「裝置名稱」特徵值(GAP Device Name, 0x2A00)後立即斷線。此過程不進行配對、不寫入任何資料至該裝置、亦不傳輸任何使用者資料。目的在於區辨「刻意隱匿名稱之裝置」與「單純未廣播名稱之一般產品」,以降低誤報。
- 「我的環境」基線:使用者可自行將自宅常駐之藍牙裝置標記為「我的環境」,其名稱與識別碼僅儲存於本機(見 3.2),不會上傳,並隨清除資料一併刪除。
4.3 定位服務(Pro 版進階選用)
- 用途:供 Pro 版使用者選擇啟用「進入飯店、醫美場域時提醒掃描」之功能。比對機制採用本機地理圍欄技術。
- 資料處理位置:地理圍欄比對完全於裝置本機端(CoreLocation 原生 API)執行。為搜尋鄰近場域,將透過 Apple 地圖(MapKit)查詢周邊興趣點(POI),此過程會將概略位置傳送至 Apple 地圖服務(此為 Apple 系統服務,非開發者伺服器)。
- 是否上傳至開發者伺服器:否(本 App 未建置伺服器;MapKit 查詢依據 Apple 隱私權政策處理)。
- 背景運作機制:若啟用此功能,系統將於背景比對是否進入預設之地理圍欄,即使 App 未處於開啟狀態,iOS 系統亦會喚醒以發送本機通知。此過程不記錄行動軌跡,圍欄比對均於本機完成且不上傳。使用者可隨時於設定中關閉。
- 資料保存方式:
- 地點提醒圍欄比對:不保留任何紀錄,比對完成即刻銷毀,不長期儲存軌跡。
- 掃描歷史:將於本機端保存該次掃描之場域名稱與座標(若有),使用者可隨時於「歷史」頁面刪除。
- 若無場域提醒需求,可於 App「設定」或 iOS 系統「設定 → Shutterguard → 位置」中更改為「永不」。
4.4 動作與健身(CoreMotion 磁力計,Pro 版)
- 用途:支援磁場異常偵測,讀取磁力計向量以建立環境基準。磁場結果僅作為環境摘要呈現,不計入分數。
- 啟用時機:僅於 Pro 版使用者進行掃描時啟用。
- 資料處理位置:完全於裝置本機端執行。
- 是否上傳:否。
- 系統授權說明:CoreMotion 磁力計屬 iOS 公開 API,毋須使用者額外授權。唯為保障透明度,本 App 仍於系統設定中提供用途說明。
4.5 麥克風(Pro 版進階選用)
- 用途:支援「環境異音」偵測功能,即時分析 17 至 22 kHz 範圍之超音波頻段是否存在異常高頻訊號。
- 資料處理位置:完全於裝置本機端執行,僅進行即時快速傅立葉變換(FFT)頻譜分析。
- 是否上傳:否。
- 錄音與存檔:否。音訊僅於緩衝區進行即時分析後即刻銷毀,絕不寫入或儲存任何音訊檔案。
- 啟用時機:僅於 Pro 版使用者進行掃描且開啟該模組時啟用;免費版恕不請求麥克風權限。
4.6 區域網路(Pro 版進階選用)
- 用途:支援「Wi-Fi 網段」偵測功能,於目前連線之 Wi-Fi 網域內透過 mDNS / Bonjour 服務進行探索,以尋找廣播 RTSP / ONVIF 等串流之可疑攝影裝置。
- 資料處理位置:完全於裝置本機端執行。
- 網路行為說明:僅發送標準 mDNS 服務查詢請求,不與任何裝置建立連線,亦不傳輸任何內容。受 iOS 系統限制,無法掃描未連線之其他 Wi-Fi 存取點(AP)。
- 是否上傳:否。
- 啟用時機:僅於 Pro 版使用者進行掃描且開啟該模組時啟用;免費版恕不請求區域網路權限。
五、禁用行為聲明
為消除一切資安疑慮,特此明示本 App 絕對不會發生下列行為:
- ❌ 絕不上傳拍攝影像至任何伺服器。
- ❌ 絕不上傳藍牙裝置清單至任何伺服器。
- ❌ 絕不上傳位置資訊至開發者伺服器(定位提醒採用 Apple MapKit,依 Apple 系統規範處理)。
- ❌ 絕不追蹤裝置識別碼(Device ID)、廣告識別碼(IDFA、IDFV)。
- ❌ 絕不與任何廣告聯播網、Facebook / Google Analytics 等第三方服務進行資料交換。
- ❌ 絕不於背景持續錄音、錄影或側錄藍牙資料。
- ❌ 絕不於 App 關閉後持續調用相機、藍牙或磁力計等硬體權限(例外情況:啟用 Pro 版地點提醒時,iOS 系統將於背景進行本機地理圍欄比對,詳見 4.3 節)。
- ❌ 絕不主動將歷史紀錄同步至 iCloud 雲端空間(除非使用者自行啟用 iOS 系統之 iCloud 備份功能,該行為由 Apple 管理)。
六、使用者資料權益
因本 App 不將任何個人資料傳輸至伺服器,使用者享有以下完整權利:
6.1 資料刪除
- 請至 App「設定 → 刪除所有紀錄」以一鍵銷毀所有掃描紀錄、照片與「我的環境」藍牙基線標記;「設定 → 清除照片」則只刪除照片與掃描診斷檔、保留文字紀錄。
- 或直接於 iOS 系統中解除安裝 Shutterguard App,所有本機資料將隨之被系統徹底刪除。
6.2 資料匯出
Pro 版使用者可經由「設定 → 匯出歷史紀錄」將掃描紀錄匯出為 JSON 格式檔案(為防範檔案路徑外洩風險,匯出資料不包含證據圖檔之 URL 路徑)。
6.3 資料存取與修改
由於所有資料皆存放於使用者之裝置本機端,使用者擁有絕對之控制權與所有權,毋須向開發者提出任何申請。
七、兒童隱私保護
本 App 並非為未滿 13 歲之兒童所設計。本服務不要求註冊,亦不蒐集任何身分識別資訊。App Store 年齡分級以 App Store 頁面所示為準。
八、第三方服務整合
本 App 唯一整合之第三方服務為 Apple StoreKit 2,專用於處理 Pro/Pro+ 一次性應用程式內購買(IAP)事宜。StoreKit 服務由 Apple 公司直接營運,其交易流程均依循 Apple 隱私權政策(https://www.apple.com/legal/privacy/)。
本 App 本身絕不接收或儲存您的付款資料、信用卡資訊或 Apple ID。
九、資訊安全防護機制
- 證據圖檔全面採用 iOS 檔案保護層級
NSFileProtectionComplete;歷史紀錄資料庫(SwiftData)採用NSFileProtectionCompleteUnlessOpen。當裝置處於鎖定狀態且檔案未被存取時,即具備不可讀特性。 - 全面屏棄任何雲端儲存方案。
- 不向任何自有伺服器傳送資料(開發者未建置伺服器)。對外網路連線僅限於 Apple 系統框架:StoreKit(交易處理)、Pro 版地點提醒之 MapKit(周邊場域查詢);Pro 版 Wi-Fi 偵測僅於區域網路內發送 mDNS 服務查詢(不建立連線、不傳輸內容)。
十、隱私權政策修訂
若本隱私權政策有重大修訂,將透過下列方式履行告知義務:
- 更新本政策文件頂部之「最新修訂日期」。
- 於 App 更新版本之發布說明(Release Notes)中註明「隱私政策已更新」。
- 若修訂內容涉及新增資料蒐集行為,將於新版 App 首次啟動時,以提示框(Alert)重新徵求使用者同意(Onboarding)。
十一、聯絡資訊
如對本隱私權政策有任何疑慮或指教,歡迎透過下列管道與開發者聯繫:
- 電子郵件:yanru.studio@icloud.com
- GitHub Issues:https://github.com/lawliet0813/shutterguard/issues