眺一下 隱私權政策

Yonder — Privacy Policy

本頁與 支援頁面 內容一致地對照產品目前的程式碼逐句核實(2026-09-05)。「定稿」不代表「不會再改」——本文只保證在核實那一刻與當時的程式碼一致,程式碼或 Apple 隱私問卷的要求變化時會跟著更新。

生效日期:2026-09-05

最後更新:2026-09-05

一、這份政策適用於誰

本政策適用於「眺一下」iPhone App 及其搭配的 Apple Watch App(以下統稱「本 App」)。本 App 是一款幫助你執行 20-20-20 用眼休息習慣的工具,不提供醫療診斷功能,也不應被當作醫療建議。

二、一句話結論

本 App 不收集你的任何資料,也沒有我們自己的伺服器。 它沒有帳號系統,沒有第三方分析/廣告/當機回報 SDK。你在 App 裡產生的週期狀態、個人化設定、今日次數,全都留在你自己的裝置上。

但「沒有我們的伺服器」不等於「這個 App 從不連網」,這兩件事必須分開說清楚。 準確的說法是:

系統框架用來做什麼會不會離開你的裝置
StoreKit查詢 Pro 商品資訊、發起購買、恢復購買、核對目前權益會。這一條確實會與 Apple 的 App Store 伺服器通訊,「恢復購買」還可能要求你重新登入 Apple 帳戶。經手的是 Apple,不是我們——我們既拿不到也不儲存你的付款資訊
WatchConnectivityiPhone ↔ Apple Watch 同步週期狀態與控制指令不會。走 Apple 系統層的裝置間本機配對通道
UserNotifications / AlarmKit排程與呈現提醒、持續警示不會。本機系統服務
WidgetKit更新「今日進度」小工具(主畫面/StandBy 小工具位置;不支援鎖定畫面小工具位置)不會。本機系統服務
ActivityKit呈現鎖定畫面上那張會走倒數的即時動態卡片與動態島不會。本機系統服務,狀態由系統在本機保管

Apple 如何處理經過 StoreKit 的資訊,適用 Apple 官方隱私權政策。

隨 App 一起提交給 Apple 的隱私清單 PrivacyInfo.xcprivacy 宣告 NSPrivacyTracking = false、採集資料類型為空陣列——這說的是「我們不採集、不追蹤」,不是「不產生任何網路流量」。

三、我們不收集哪些資訊

本 App 不需要註冊帳號,因此不會、也沒有管道收集:

我們沒有自建伺服器,產品功能不依賴任何我們自己的後端,因此:

唯一的例外是 App 內購買:Pro 的商品查詢、購買與恢復購買要經過 Apple 的 App Store 伺服器(見第二節的表和第四節)。那條通道由 Apple 提供、由 Apple 經手,我們既看不到也存不下你的付款資訊。

四、Pro 購買與付款資訊

本 App 提供一項「Pro 一次性購買」App 內購買項目(非消耗型,不是訂閱,不會自動續訂),用於解鎖個人化的工作時長、遠眺時長、提醒鈴聲、延後時長四項設定。

基礎提醒能力在免費版中完整提供,不是付費功能——標準 20 分鐘工作 / 20 秒遠眺週期與預設到時提醒不收費;AlarmKit 持續警示同樣不收費,但需要 iOS 26.0 以上版本並授予「鬧鐘」權限,條件不滿足時會自動改走一般系統通知(見上一節)。Pro 只解鎖上面那四項個人化設定。提醒能不能準時響起,還取決於系統版本、權限、裝置狀態以及靜音、專注等系統設定,本 App 不承諾必響,也不會無條件穿透靜音或專注模式。

五、系統權限說明

本 App 只在需要時申請以下系統權限,全部只用於完成提醒功能,不用於收集任何個人資訊。

權限請求的時機:本 App 不會在你第一次打開它時就連環跳出授權框。首次導覽看完之後,直到你第一次真正按下「開始」,才會請求提醒相關的權限;無論你允許還是拒絕,這一次「開始」都會照常執行,不會因為拒絕授權就吞掉你的操作,也不會反覆追問第二次。

下面兩項是相互獨立的兩次系統授權,不是一個開關:通知權限歸 iOS 的「通知」設定管,AlarmKit 權限是 iOS 26 起新增的另一項授權。允許其中一個、拒絕另一個都是可能的,App 會按實際拿到的權限選擇用哪條通路提醒你。

1. 通知權限(UNUserNotificationCenter)

用於在工作到時、遠眺結束時提醒你,也作為下方 AlarmKit 無法使用時的備援提醒方式。通知內容只有「該休息了」這一類提示文字與操作按鈕,不包含任何個人資訊,也不上傳到任何地方。

2. AlarmKit 權限(NSAlarmKitUsageDescription)

用於提供一條比一般通知更明確、持續性更強的系統級警示(體驗更接近「鬧鐘」)。App 內向你展示的權限說明原文為:

「用於在你設定的時間發出持續提醒,提醒你抬頭看向遠方。」

AlarmKit 依賴 iOS 26.0 及以上系統版本。系統版本低於 iOS 26、或你拒絕了 AlarmKit 授權時,App 會自動回退為一般系統通知,不會因為拿不到 AlarmKit 權限就完全失去提醒能力。

本 App 不申請定位、聯絡人、照片、麥克風、相機、健康資料或任何形式的追蹤權限。

六、Apple Watch 與 iPhone 之間的資料同步

如果你安裝並配對了 Apple Watch 版「眺一下」,兩台裝置之間會透過 Apple 官方的 WatchConnectivity 框架同步:

關於這條通道:

七、本 App 在你裝置上儲存了哪些資料

以下清單於 2026-09-05 逐項對照程式碼的實際讀寫點核實(不是只搜鍵名)。全部保存在裝置本機的 UserDefaults(iOS/watchOS 提供的應用程式本機設定儲存區),開發者不會收到這些資料,本 App 也不會主動上傳到任何伺服器、不會主動同步到 iCloud 或任何雲端帳戶。

關於系統備份:上面這些持久化設定可能會依照你自己的系統設定,隨 Apple 的裝置備份/iCloud 備份機制進入系統備份。那是 iOS/watchOS 平台層面的行為,由你在系統「設定」裡自行開關,本 App 既不控制它、也讀不到那份備份,更不會因此收到任何資料。這一條和第二章那張表並不衝突:本 App 自己主動發起的網路通訊仍然只有 StoreKit 那一項會與 Apple 的 App Store 伺服器通訊——「App 自己主動上傳資料」(沒有這回事)和「系統依照你的設定替整台裝置做備份」是完全不同的兩件事。

「存在哪台裝置上」是一個會被誤讀的地方,所以單列一欄:iPhone 上的資料和 Apple Watch 上的資料是兩份,各自存在各自那台裝置裡,不存在一個跨裝置的共享池。

儲存內容用途存在哪台裝置具體位置
目前工作/遠眺週期狀態(週期階段、絕對結束時間、週期識別碼與版本號等)App 重新啟動、鎖定畫面、背景切換後回復正確的週期狀態,避免重複提醒或錯誤倒數iPhone主 App 自己的 UserDefaults
Pro 個人化設定(自訂工作時長、遠眺時長、鈴聲、延後時長)記住你購買 Pro 後設定的參數iPhone主 App 自己的 UserDefaults
鈴聲選擇(提醒音效類型識別碼),以及一次性的鈴聲設定移轉完成標記記住你選擇的提醒音效;標記確保舊版本升級時只移轉一次iPhone主 App 自己的 UserDefaults
已排程警示的識別碼台帳記錄目前排了哪些 AlarmKit 警示,取消或重排時按識別碼精確清掃,避免漏掉或重複iPhone主 App 自己的 UserDefaults
首次體驗的兩個標記(導覽是否看過、權限是否已經請求過一次)導覽只在第一次顯示;權限只問一次,不反覆打擾iPhone主 App 自己的 UserDefaults
今日完成次數(權威副本)主 App 顯示「今天眺了幾次」iPhone主 App 自己的 UserDefaults,不在共享容器裡
給「今日進度」小工具看的那份投影(目前階段、本輪結束時間、今日完成次數的一份拷貝)今日進度小工具讀它來顯示(可以放在主畫面或 StandBy 的小工具位置;不支援鎖定畫面小工具位置)。鎖定畫面上那張會走倒數的即時動態卡片和動態島不讀它,見下iPhoneApp Group 共享容器 group.com.adrain.tiaoyixia(見下)
Watch 指令去重表(近期從 Apple Watch 收到的指令識別碼的短字串記錄)避免同一條來自手錶的操作被重複執行iPhone主 App 自己的 UserDefaults
Watch 啟動記錄(啟動時刻、累計啟動次數、手錶端版本號/建置號)判斷手錶上這個 App 是否真的啟動過Apple Watch(不是 iPhone)手錶端 App 自己的 UserDefaults。它會隨每條發往 iPhone 的訊息捎過去,但 iPhone 只把它放在記憶體裡顯示在診斷頁上,不寫入儲存空間
最近一份週期狀態投影的快取手錶離線或 iPhone 暫時無法連線時仍能顯示上次已知狀態Apple Watch手錶端 App 自己的 UserDefaults

關於「權威副本」和「投影」的區別(上表裡今日完成次數佔了兩行,不是寫重了):真正被當作事實的那一份「今天眺了幾次」存在主 App 自己的 UserDefaults 裡;共享容器裡那一份是衍生出來的唯讀投影,專門寫給小工具讀。分開的原因很實際——App Group 在某些簽章設定下可能拿不到,那時不該連你自己 App 裡的次數也一起丟掉,丟掉的只應該是「小工具上還能不能看到它」這一件事。

關於 App Group 共享容器:主 App 與「今日進度」小工具同屬本 App 的同一個 App Group(group.com.adrain.tiaoyixia),主 App 把上面那份投影寫進去,小工具讀它。這個容器只在你這台 iPhone 上、只在本 App 自己的這幾個部件之間共享,其他 App 讀不到,也不會寫給任何群組外的東西看。Apple Watch 不參與這個共享容器——手錶在另一台裝置上,兩端之間靠 WatchConnectivity 傳訊息,不是共享同一塊儲存空間。這一條已在提交給 Apple 的隱私清單裡按 Apple 要求宣告為 UserDefaults 的兩條使用理由(CA92.1 與 1C8F.1)。

鎖定畫面即時動態與動態島走的是另一條路,不經過這個共享容器(這兩條別混成一件事):

你在螢幕上看到的東西資料從哪來
今日進度小工具(主畫面/StandBy 小工具位置上那個不走秒的小方塊;不支援鎖定畫面小工具位置)讀上面那份 App Group 共享投影
鎖定畫面上那張會走倒數的卡片、以及動態島(StandBy 全螢幕顯示的也是它)讀的是系統 ActivityKit 自己保管的那份即時動態狀態——主 App 透過系統介面把「目前階段 + 本輪的絕對結束時間」推給系統,之後由系統負責在鎖定畫面與動態島上呈現。它不讀、也不寫 App Group 那個共享容器,因此也不在上面那張儲存表的任何一行裡

兩條路都只發生在你這台裝置上,都不涉及任何伺服器;分開寫只是為了讓上面那張表的「讀的是誰」準確,不是說存在第二處資料留存。

關於開發偵錯功能:開發者選項、模擬購買面板、短週期測試模式等僅供內部開發使用的功能,不參與正式版本的編譯,不會出現在你從 App Store 安裝的 App 裡。這一點已用簽章後的正式建置產物逐項核驗過(二進位符號與四種語言的文案資源中相關條目計數均為 0),不是「執行時隱藏」。

八、沒有帳號,如何清除本機資料

因為本 App 不要求註冊帳號,所以不存在「申請刪除帳號」這類流程。

本 App 目前沒有提供 App 內的「清除本機資料」按鈕;清除的辦法是移除 App。因為 iPhone 與 Apple Watch 上的資料是兩份(見上表),這裡分三件事說清楚:

  1. 移除 iPhone 上的「眺一下」 —— iOS 會清除該 App 在這台 iPhone 上的本機儲存,包括上表中標著「iPhone」的全部內容,以及那個 App Group 共享容器。
  2. Apple Watch 上那份要跟著手錶端的 App 走 —— 上表中標著「Apple Watch」的兩項(啟動記錄、週期狀態投影快取)存在手錶本機。它們隨手錶端 App 一起被移除;iPhone 端移除時,系統通常會一併移除配對手錶上的隨附 App,但如果你此前在 Watch App 裡單獨保留了它,就需要在手錶上再刪一次。請以你裝置上的實際情況為準,不要假設刪一端就一定刪乾淨了兩端。
  3. 已購買的 Pro 不受影響,也刪不掉 —— 購買記錄由 Apple 管理、存在你的 Apple 帳戶下,不在我們能觸及的範圍內。重新安裝後在購買頁按「恢復購買」即可重新取得權益;反過來說,移除 App 也不會撤銷或退掉這筆購買。

另外:因為我們從未收集過你的任何資料、也沒有自建伺服器,所以不存在需要我們代為刪除的遠端副本。(Apple 側與你購買記錄相關的資料由 Apple 按其隱私權政策處理,不由我們經手。)

九、兒童隱私

本 App 不收集任何使用者的個人資訊,無論年齡。它沒有帳號、沒有社群功能、沒有使用者生成內容、沒有廣告,也不進行任何形式的追蹤,因此不存在針對兒童的資料採集行為。

十、政策的變更

本政策如有更新,我們會在本頁更新「最後更新」日期,並在 App 版本更新說明中提示。因為本 App 沒有帳號體系,無法逐一通知使用者,請以本頁目前內容為準。

十一、聯絡方式

如你對本政策有任何問題,可透過以下方式聯絡我們:

電子郵件:safferuk@gmail.com

十二、與 App Store 隱私標籤(Privacy Nutrition Label)的對應關係

App Store Connect 在提交審核前要求填寫「App 隱私」問卷。基於上文已核實的事實,本 App 對應的正確填法是:

這份問卷需要專案負責人在 App Store Connect 上實際操作填寫,本頁不代替那一步;提交前應按 Apple 當時的問卷選項,對最終提交的那一份建置再核實一次。參考:Apple App Store Connect:管理 App 隱私