MorningHorn 馬吼鬧鐘

Privacy policy · 最後更新:2026 年 9 月

Privacy
policy

MorningHorn 馬吼鬧鐘 — 隱私權政策

MorningHorn 馬吼鬧鐘(以下稱「本 App」)是一款鬧鐘 App。這份文件說明本 App 會用到哪些權限、資料存在哪裡、以及有沒有任何資料被傳送出去。

一句話總結

TL;DR

本 App 沒有帳號系統、沒有廣告、沒有分析或追蹤工具,也不會把你的任何資料上傳到我們(開發者)的伺服器——因為我們根本沒有伺服器。你的鬧鐘設定只存在你自己的手機裡。

本 App 會存哪些資料,存在哪裡

  • 鬧鐘設定(時間、重複規則、音樂來源、輸出裝置等)——只存在手機本機的檔案裡,不會同步到雲端,也不會傳給開發者。
  • 藍牙喇叭保活的驗證紀錄、每個喇叭的音量設定——同樣只存在本機。
  • 如果你選擇登入 Spotify 帳號以瀏覽「最近播放」清單,本 App 會在你手機本機儲存 Spotify 提供的存取權杖(access token),用來直接向 Spotify 的伺服器查詢你的播放紀錄——這組權杖只存在你的手機裡,不會傳送給開發者或任何第三方(Spotify 本身除外)。
  • 解除安裝 App 後,以上這些資料會跟著被刪除(除非你的手機系統本身有另外備份 App 資料)。

權限用途說明

  • 精確鬧鐘/開機後自動排程:讓鬧鐘能準時響、重開機後不會消失。
  • 通知:顯示響鬧鐘的畫面與提醒。
  • 前景服務:響鈴時播放聲音、以及「AI 連線」功能開啟時維持連線。
  • 震動:響鈴時的震動提醒(可在鬧鐘設定關閉)。
  • 藍牙:讓你能選擇藍牙喇叭當作鬧鐘的輸出裝置,以及選用的「喇叭保活」功能。
  • 忽略電池優化:避免手機省電機制把鬧鐘的排程關掉。
  • 網路/Wi-Fi 狀態:用於「AI 連線」功能,以及登入 Spotify、搜尋 YouTube 音樂時的網路連線。

「AI 連線」功能(選用,預設關閉)

本 App 可以選擇性地開啟一個本機服務,讓同一個 Wi-Fi 網路下、你自己信任的 AI 工具(例如電腦上的 Claude Desktop)能用文字操作你手機上的鬧鐘。

  • 手機本身不會執行任何 AI 模型——這只是一個工具呼叫的介面。
  • 預設是關閉的,要你自己到設定裡手動打開。
  • 只接受同一個 Wi-Fi 網路內、且帶有正確密鑰(Token)的連線,不會透過網際網路對外開放。
  • 這個功能完全不會把任何資料傳送給開發者或任何第三方伺服器。

第三方服務

如果你把鬧鐘的音樂來源設定為 Spotify 或 YouTube Music,本 App 會呼叫該服務本身來播放或查詢資料——這部分會依照 Spotify/YouTube Music 自己的隱私權政策處理,本 App 不會把你在這些服務上的帳號資料經手或儲存於開發者伺服器(因為開發者沒有伺服器)。

兒童隱私

本 App 不是特別針對兒童設計,也沒有蒐集任何使用者的個人資料,因此沒有額外的兒童資料處理疑慮。

這份政策如有更動

如果之後這份政策有實質變更,會更新這個頁面最上方的日期。

聯絡方式

有任何問題,歡迎透過以下方式聯絡:sam883187@gmail.com

For app review

Review
demos

兩支前景服務權限的審核專用示範影片。兩支都沒有旁白也沒有音效—— 畫面內容全程無聲,檔案裡各有一條算圖工具自動補上的靜音 AAC 軌(峰值 −91 dB)。 若 Play Console 不接受靜音軌,可以用 -an 重新封裝去掉。

FOREGROUND_SERVICE_MEDIA_PLAYBACK

1080×2760 · 30fps · 46 秒 · 5.2 MB

手機畫面維持 1080×2400 原生解析度、完全不縮放,字卡放在下方獨立色條裡—— 任何一刻都不會遮到裝置畫面,通知欄裡的每一個字都看得清楚。

全片不快轉、不跳接:等待就是真的等待,狀態列顯示真實時間, 可以自行對照「設定的鬧鐘時間」與「實際響鈴時間」。

影片內容與時間點
時間畫面
0:00–0:22列表頁 → 新增鬧鐘 → 設定為下一分鐘 → 儲存
0:22–0:31停在列表頁等待鬧鐘響起(真實等待,未剪接)
0:31–0:37全螢幕響鈴畫面自動跳出,App 啟動前景服務持續播放鈴聲
0:37–0:42下滑展開通知欄,持續顯示的通知停留約 5 秒
0:42–0:46點停止 → 鈴聲停止 → 前景服務立即結束,回到列表

錄製當下的實測輸出

已排定    origWhen=2026-09-02 19:37:00
          (AlarmManager 精確鬧鐘)
響鈴時    isForeground=true  foregroundId=1001
          types=00000002
          = FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK
通知      channel=chimepath.alarm  category=alarm
          actions=2  setOngoing(true)
按停止後  仍在前景的服務數:0

通知欄畫面上可辨識的內容:馬吼鬧鐘 · now/標題「新的鬧鐘」/ 內文「播放:Glass · 輸出:這支手機」/動作鈕「停止」「稍後提醒」。

FOREGROUND_SERVICE_DATA_SYNC

2400×2400 · 30fps · 22.2 秒 · 5.1 MB

這支影片示範選用的「AI 連線」功能:它預設關閉,要使用者自己到設定裡手動打開, 打開後才會啟動本機的資料同步服務,關掉就立刻停止。

手機畫面同樣是 1080×2400 原生解析度置中不縮放,字卡放在左右兩側各 660px 的欄位裡, 不會蓋到任何畫面內容。狀態列未使用 demo mode,顯示的是真實時間。

畫面上的存取權杖已逐格確認遮蔽,全片沒有任何一格露出。 連線位址 刻意保留——那是私有網段位址,正好佐證這個服務只在同一個 Wi-Fi 下有效。

影片內容與時間點
時間畫面
0:00–0:06鬧鐘列表 → 設定 → 捲到「AI 連線」
0:06–0:10AI 連線區塊,開關為關閉狀態、說明文字可讀
0:10–0:11使用者手動點擊開關切換為開啟
0:11–0:15服務啟動,連線位址與存取權杖出現(權杖已遮蔽)
0:15–0:20下滑展開通知欄,持續顯示的通知清楚可見
0:20–0:22開關切回關閉,位址與權杖消失,服務立即停止

錄製當下的實測輸出

服務      ChimepathMcpService
Manifest  foregroundServiceType="dataSync"
執行時    isForeground=true  foregroundId=1003
          types=00000001
          = FOREGROUND_SERVICE_TYPE_DATA_SYNC
連線位址  http://10.0.2.16:8787/mcp
          (私有區域網路位址)
通知      馬吼鬧鐘 ·「AI 連線已開啟」
          「同一 Wi-Fi 下的 AI 客戶端可以
            設定這支手機上的鬧鐘」
預設      mcpEnabled 設定鍵不存在(等同 false)
          不會自動啟動
關閉後    仍在前景的服務數:0

兩支影片的錄製環境

Package    com.morninghorn.alarm
版本       versionCode 4 / versionName 1.0.2(targetSdk 36)
裝置       Android 14 模擬器 sdk_gphone64_arm64,1080×2400
狀態列     未使用 demo mode,顯示真實時間