圖標

Mood Cairns

Private, fully offline mood tracker. No network access. Your data's yours..
新版本 1.0.4
* Fix issue #1 - 'Immediate' auto-lock setting triggering on dialogs causing lock loop.
* Switch to passphrase for future encrypted backups (8-char minimum).
* Throttle PIN verification on change and on backup export.
* Re-wrap DB key on PIN change to prevent database lockout.
A private, fully offline Android mood tracker. Log how you're feeling against your own scales, in your own time windows, on your own device. Nothing is ever uploaded - sync, if you want it, is your job (Syncthing works well on the encrypted backup folder).

Features

* Custom scales. Five built-in scales (Happiness, Anxiety, Stress, Boredom, Pain), each numeric and color-tagged. Add your own; archive the ones you don't want.
* Prompt windows. Define time-of-day windows (e.g. morning 08:00-12:00, evening 18:00-20:00). The app fires one notification per window per day at a randomized time inside it. Tap the notification to jump straight to the log entry screen.
* History and charts. Browse past entries, see per-scale trends over time.
* Encrypted on-disk storage. The mood database is encrypted at rest using SQLCipher. The key lives in memory only while the app is unlocked, and is wiped when you lock it.
* PIN + biometric lock. PIN-gated app entry, with optional biometric unlock. PIN is hashed with PBKDF2-HMAC-SHA256 (600k iterations) before being stored.
* Encrypted backups. Manual export writes an AES-GCM-encrypted JSON file to Documents/MoodCairns/. The encryption key is derived from your PIN with PBKDF2-HMAC-SHA256 (200k iterations) and a fresh per-backup salt embedded in the envelope, so any install (including a fresh one) can decrypt with the same PIN.
* Home-screen widget for one-tap mood logging.

Privacy contract

The app declares no network permissions. Without internet, the process literally cannot open a socket, which makes phone-home impossible regardless of what any included library tries to do.

The build enforces this, so a network permission can never be silently introduced by a dependency update.

If you want backups synced off-device, point Syncthing (or any file manager that can sync a folder) at Documents/MoodCairns/.

Source

Fully open source under GPL-3.0-only. Built on Kotlin, Jetpack Compose, Room, SQLCipher, and AndroidX.

版本

雖然在下方可選擇下載 APK 檔案,但要留意這樣的安裝方式將不會收到更新通知,是一種較不安全的下載方法。建議您先安裝 F-Droid 用戶端使用。

下載 F-Droid
  • 版本 1.0.4 (5) 建議 於 2026 年 6 月 13 日新增

    arm64-v8a armeabi-v7a x86 x86_64

    此版本需要 Android 10 或更高的版本。

    此套件包由原開發者建置和簽署,並保證與此原始碼 Tarball 保持一致。

    權限
    • 執行前景服務
      允許應用程式使用前景服務。
    • 顯示通知
      允許應用程式顯示通知
    • 啟動時執行
      允許應用程式在系統完成開機程序後立刻自行啟動。這會增加手機的開機時間,而且會因為系統一直執行該應用程式導致手機的整體運作速度變慢。
    • 排定精準時間的動作
      這個應用程式可以排定在未來的特定時間執行工作,也就是說,應用程式可以在你未主動使用裝置時執行。
    • 使用生物識別硬體
      允許應用程式使用生物特徵硬體進行驗證
    • 排定鬧鐘或事件提醒
      這個應用程式可以排定鬧鐘和提醒等動作,在未來的特定時間向你傳送通知。
    • 使用指紋硬體
      允許應用程式使用指紋硬體進行驗證
    • 防止手機休眠
      允許應用程式防止手機進入休眠狀態。
    • com.lcdcode.moodcairns.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    下載 APK 24 MiB PGP 簽章 | 建置紀錄

  • 新版本 1.0.3
    v1.0.3

    * Stop embedding git commit metadata (version-control-info.textproto) in the
    release APK so F-Droid reproducible builds are not tied to the build host's
    git checkout state.
  • 版本 1.0.3 (4) - 於 2026 年 6 月 3 日新增

    arm64-v8a armeabi-v7a x86 x86_64

    此版本需要 Android 10 或更高的版本。

    此套件包由原開發者建置和簽署,並保證與此原始碼 Tarball 保持一致。

    權限
    • 執行前景服務
      允許應用程式使用前景服務。
    • 顯示通知
      允許應用程式顯示通知
    • 啟動時執行
      允許應用程式在系統完成開機程序後立刻自行啟動。這會增加手機的開機時間,而且會因為系統一直執行該應用程式導致手機的整體運作速度變慢。
    • 排定精準時間的動作
      這個應用程式可以排定在未來的特定時間執行工作,也就是說,應用程式可以在你未主動使用裝置時執行。
    • 使用生物識別硬體
      允許應用程式使用生物特徵硬體進行驗證
    • 排定鬧鐘或事件提醒
      這個應用程式可以排定鬧鐘和提醒等動作,在未來的特定時間向你傳送通知。
    • 使用指紋硬體
      允許應用程式使用指紋硬體進行驗證
    • 防止手機休眠
      允許應用程式防止手機進入休眠狀態。
    • com.lcdcode.moodcairns.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    下載 APK 24 MiB PGP 簽章 | 建置紀錄