← Shutterguard
Shutterguard 隱私權政策(Privacy Policy)
適用範圍:Shutterguard iOS / iPadOS 應用程式
最新修訂日期:2026-07-05
適用版本:自 v1.0 起
一、開發者資訊與服務簡介
「Shutterguard」(以下簡稱「本 App」)為臺灣獨立開發者所開發之 iOS / iPadOS 隱私安全輔助工具。本 App 旨在協助使用者於飯店、更衣室、醫療美容診所及公共洗手間等場域,偵測並排查潛在之異常攝影裝置。
聯絡管道:
- 電子郵件:ym90039@gmail.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 版使用者檢視 ON/OFF 及標註原圖 |
Documents/ScanImages/{紀錄ID}/ |
NSFileProtectionComplete |
| 狀態與偏好設定(Onboarding 狀態、Pro 權限狀態、設定偏好) |
記憶使用者之自訂設定 |
UserDefaults |
iOS 系統原生管理 |
| 「我的環境」藍牙基線標記(裝置名稱、廠商識別碼、CoreBluetooth 識別碼) |
供使用者將自宅常駐之藍牙裝置排除於評分之外,以降低誤報 |
UserDefaults |
iOS 系統原生管理 |
| StoreKit 購買憑證 |
驗證 Pro 版一次性應用程式內購買(IAP)解鎖狀態 |
透過 Apple StoreKit 管理 |
Apple 系統原生管理 |
上述資料均受 iOS 檔案保護機制加密;當裝置處於鎖定狀態且未被使用時,即無法進行讀取。
3.3 第三方追蹤與數據分析
無。 本 App 嚴格拒絕嵌入任何第三方軟體開發套件(SDK)、廣告模組或數據分析(Analytics)服務。
四、系統權限存取說明
4.1 相機(核心功能必要)
- 用途:拍攝閃光燈開啟(ON)與關閉(OFF)之差分照片,以供鏡頭反光偵測演算法分析使用。
- 資料處理位置:完全於裝置本機端執行,採用 Apple Vision 框架。
- 是否上傳:否。
- 錄影與連續錄製:否(僅於使用者觸發「拍差分」指令時,擷取兩張靜態影格)。
- LiDAR 深度資料(限支援機型):於拍攝差分照片時同步讀取 LiDAR 深度數值,用以估算反光點之實體口徑(供 Pro 版尺寸濾除功能使用)。深度數值僅於偵測當下在記憶體中進行運算,不寫入歷史紀錄、不隨匯出檔案輸出,亦絕不上傳。
4.2 藍牙(核心功能必要)
- 用途:掃描周圍之低功耗藍牙(BLE)裝置,於過濾已知良性裝置後,標記潛在之可疑訊號。
- 資料處理位置:完全於裝置本機端執行。
- 是否上傳:否。
- 資料取得範圍:受限於 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 磁力計)
- 用途:支援磁場異常偵測(Phase 3 引入功能),讀取磁力計向量以建立計算基準。
- 資料處理位置:完全於裝置本機端執行。
- 是否上傳:否。
- 系統授權說明: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」將掃描紀錄匯出為 JSON 格式檔案(為防範檔案路徑外洩風險,匯出資料不包含證據圖檔之 URL 路徑)。
6.3 資料存取與修改
由於所有資料皆存放於使用者之裝置本機端,使用者擁有絕對之控制權與所有權,毋須向開發者提出任何申請。
七、兒童隱私保護
本 App 並非為未滿 13 歲之兒童所設計。本服務不要求註冊,亦不蒐集任何身分識別資訊。預期於 App Store 之年齡分級為「12+」。
八、第三方服務整合
本 App 唯一整合之第三方服務為 Apple StoreKit 2,專用於處理 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)。
十一、聯絡資訊
如對本隱私權政策有任何疑慮或指教,歡迎透過下列管道與開發者聯繫:
- 電子郵件:ym90039@gmail.com
- GitHub Issues:https://github.com/lawliet0813/shutterguard/issues
附錄:版本紀錄
| 日期 |
版本 |
修訂內容摘要 |
| 2026-05-12 |
1.0 |
初版發布(對應 Shutterguard v1.0 上架版本,Phase 4 T-053) |
| 2026-06-11 |
1.1 |
補充 Pro 版地點提醒之背景地理圍欄運作說明;釐清圍欄比對不留紀錄與掃描歷史保存地點資訊之差異 |
| 2026-06-19 |
1.2 |
新增麥克風(超音波異音)與區域網路(Wi-Fi mDNS)兩項 Pro 版權限說明(§4.5/§4.6);補充 Pro 版地點提醒之 MapKit 鄰近場域查詢揭露(§4.3);加密等級細分(證據圖 NSFileProtectionComplete/歷史庫 NSFileProtectionCompleteUnlessOpen)。 |
| 2026-07-05 |
1.3 |
§4.1 補充 LiDAR 深度(支援機型尺寸濾除)資料流:深度資訊僅於偵測當下在記憶體中運算,不寫入歷史、不隨匯出且不上傳。 |
| 2026-07-10 |
1.4 |
§4.2 藍牙段依程式碼實況重寫(T-180/181):更正「無法取得製造商資訊」之舊述——現會解析廣播中公開之製造商識別碼(與本機離線對照表比對,不連外查詢)與服務 UUID;新增「主動查詢裝置名稱」揭露(對近距離匿名裝置至多 5 台、每台至多 3 秒之短暫連線,僅讀取公開 GAP Device Name 後斷線,不配對、不寫入、不傳輸);新增「我的環境」基線揭露(§3.2 表格、§4.2、§6.1):裝置名稱與識別碼僅存本機,隨清除資料刪除。 |
Shutterguard Privacy Policy(English Summary)
A brief English summary for international reviewers / App Store reviewers. The authoritative version is the Traditional Chinese text above.
TL;DR: Shutterguard is an on-device privacy hygiene tool. It uploads NO scan data to any server of ours — no images, no Bluetooth lists, no analytics, no third-party SDKs (we run no servers at all). Two Pro features use Apple's own frameworks over the network: MapKit (nearby-venue lookup for reminders) and Local Network mDNS (Wi-Fi camera discovery); neither transmits your scan data.
- Data collected: None on any server. Scan history and evidence images are stored locally with iOS Data Protection (evidence images:
NSFileProtectionComplete; history database: NSFileProtectionCompleteUnlessOpen).
- Permissions used: Camera (lens reflection / infrared detection), Bluetooth (BLE scan), Motion (magnetometer); and — Pro only — Location (geofence reminders; uses Apple MapKit for nearby-venue lookup), Microphone (ultrasonic audio; no recording or storage), Local Network (Wi-Fi mDNS discovery; no connections, no content transfer). No scan data leaves the device.
- Third-party services: Only Apple StoreKit 2 for one-time Pro IAP. No analytics, no ads, no cloud.
- Children's privacy: Not designed for users under 13.
- Your rights: Delete all data via app Settings or by uninstalling. Export history JSON (Pro only).
- Contact: ym90039@gmail.com / GitHub Issues