圖標

Clockwork: 2FA Authenticator

Offline 2FA authenticator: TOTP codes, no network permission, no accounts.
新版本 2.0.1
Clockwork 2.0 is a native Android app, rewritten in Kotlin and Jetpack Compose — no browser engine any more.

• Android 8.0 or newer. On Android 7, 1.5.4 stays the final version.
• An existing vault is carried over on update — nothing to export, nothing to type again.
• Unlock with your fingerprint. The passphrase stays the only way back in.
• Still no INTERNET permission.
Clockwork is a two-factor authenticator (2FA) that generates TOTP codes entirely on your device. It declares no INTERNET permission at all — the app cannot open a connection, and you can check that in the manifest before you believe a word of this.

That is the difference. Most authenticator apps hold network access for sync, service icons or update checks. Clockwork does not have the permission, so the question never comes up.

WHAT IT DOES
• Generates TOTP codes (RFC 6238) — SHA-1, SHA-256 or SHA-512, 6 to 8 digits, any period.
• Add accounts the way you happen to have them: scan a QR code, import a QR image, paste an otpauth:// link, or type a Base32 secret. A full Google Authenticator export is converted automatically.
• A dial with 30 marks and a moving hand shows the time left — a position you read at a glance, not a shrinking bar.
• One tap copies the code, and the next one is on screen before it becomes valid.
• Broken input is explained line by line, never silently swallowed.

YOUR SECRETS STAY YOURS
• By default nothing is stored at all. Close the app and the secrets are gone.
• Switch the vault on and they stay here, encrypted with your passphrase: AES-256-GCM, key derived by PBKDF2-SHA-256 with 600,000 iterations. Only the sealed envelope is written to disk — never the plaintext, never the passphrase, never the derived key.
• Unlock with your fingerprint if you want to. The passphrase stays the only way back in.
• Locks automatically after a time you choose and when you leave the app. Screenshots and preview images can be blocked.
• Android backup is switched off, so the encrypted vault never leaves the device.

PRIVACY
Nothing is collected, because there is nowhere for it to go. No analytics, no telemetry, no update pings, no advertising identifiers, no accounts, no ads. The camera permission serves the QR scanner alone and is declared optional hardware — importing a QR image works without it.

BUILT TO BE CHECKED
Open source under the MIT licence. The OTP algorithms are written from scratch against the RFC test vectors — no OTP library. Source code, test suite and the measurement scripts behind every claim above are public at github.com/keco216/clockwork.

Speaks 37 languages, all bundled, including right-to-left layouts.

Android 8.0 or newer. On Android 7, 1.5.4 stays the final version.

One thing, independent of this app: set up backup codes with every provider before you rely on any authenticator. They are the only thing that gets you back in when a secret is gone.

版本

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

下載 F-Droid
  • 版本 2.0.1 (20001) 建議 於 2026 年 8 月 19 日新增

    arm64-v8a armeabi-v7a x86 x86_64

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

    此套件包由 F-Droid 建置和簽署,並保證與此原始碼 Tarball 保持一致。

    權限
    • 拍攝相片和影片
      這個應用程式在使用期間可以使用相機拍照及錄影。
    • 使用生物識別硬體
      允許應用程式使用生物特徵硬體進行驗證
    • 使用指紋硬體
      允許應用程式使用指紋硬體進行驗證
    • io.github.keco216.clockwork.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

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

  • 新版本 1.5.4
    The app is unchanged. This reverts a build flag from 1.5.3: PNG recompression is enabled again, which shrinks the APK by 53 kB. It had been switched off to make the build reproducible, on the assumption that the icons this project generates itself are deterministic — they are only so on the same Node version, and disabling the recompression exposed that instead of hiding it. Reproducibility against F-Droid's build server has not been reached and is not claimed.
  • 版本 1.5.4 (10504) - 於 2026 年 8 月 14 日新增

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

    此套件包由 F-Droid 建置和簽署,並保證與此原始碼 Tarball 保持一致。

    權限
    • 拍攝相片和影片
      這個應用程式在使用期間可以使用相機拍照及錄影。
    • io.github.keco216.clockwork.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

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

  • 新版本 1.5.3
    The app is unchanged. This release was an attempt to make the build byte-for-byte reproducible, so that F-Droid could ship the APK published here instead of its own: the ART baseline profile and AAPT2's PNG recompression were switched off, both being sources of byte-level noise. The attempt failed — the toolchains still differ, and disabling PNG recompression made it worse while costing 53 kB. Version 1.5.4 reverts that part. Reproducibility is not claimed.
  • 版本 1.5.3 (10503) - 於 2026 年 8 月 13 日新增

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

    此套件包由 F-Droid 建置和簽署,並保證與此原始碼 Tarball 保持一致。

    權限
    • 拍攝相片和影片
      這個應用程式在使用期間可以使用相機拍照及錄影。
    • io.github.keco216.clockwork.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

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