安装包图标

DuressUltimate

Robust implementation of the Duress Password trigger
Duress Ultimate - A tool for digital self-defense, implementing a data wipe on sending any code of a specific length into the system screen unlock password input field.

The wipe is performed by setting an attempts limit. There is also an upper ceiling, you can set it from 1 to 5.

Requirements: Your screen lock type — password. You must not have other unlocking methods, in particular biometrics and trust agents must be disabled. The length for the wipe must differ from the length of the main password. An incorrect attempt is counted only if more than 4 characters are entered.

Requested permissions:
Device Admin, Accessibility permissions

Optional: Device Owner permissions for additional features to work, you can grant it via the command: adb shell dpm set-device-owner duress.ultimate/.MyDeviceAdminReceiver
*Before execution, remove all accounts and profiles from the device, or simply factory reset it to achieve the same result.

Advantage: in the time free from input, as well as when entering the length for the wipe, the attempts limit is set to 1, which keeps the protection active in case the process stops or switches to safe mode.

While entering a password of a different length, this limit temporarily becomes +2 from the current attempts up to the attempts ceiling. This moment lasts until the window state changes.

What is the difference between DuressUltimate and the Duress project? The original Duress project does not set an attempts limit in the free time, but reacts post-factum. In case of a sudden process stop, the protection is completely lost.

What is the difference between DuressUltimate and the Sentry project? Sentry does not have a dynamic limit. It does not change when entering a specific length and is set as fixed. For example if you set a limit of 3 attempts, this is not the upper ceiling, but the limit itself. You need to make a mistake 3 times to wipe the data. Here, you only need to enter a code of a specific length, and you don't need to lower the upper ceiling.

What is the DuressUltimate project for? To protect data from access by third parties demanding you to enter the password. Before going outside if you take your phone it is recommended to turn on this app. Generally something bad happens when you do not expect it. It is necessary to always have the ability to fight back. Wherever you live and whoever you are, it is necessary to protect personal data. It can be used against you even if your range of interests is limited to watching the weather.

版本

尽管下面提供了 APK 安装包的下载选项,但你应该注意,以这种方式安装将不会收到更新通知,这是一种不太安全的下载方式。 我们建议你安装使用 F-Droid 客户端。

下载 F-Droid
  • 版本 22.0 (22) 推荐 更新于 2026-10-02

    该版本需要 Android 10 及以上版本。

    此包由原始开发者构建并签名,并保证对应于此源代码 tarball。

    权限
    • 运行前台服务
      允许此应用使用前台服务。
    • 运行“systemExempted”类型的前台服务
      允许该应用使用“systemExempted”类型的前台服务
    • 查询所有软件包
      允许应用查看所有已安装的软件包。

    下载 APK 337 KiB PGP 签名 | 构建日志

  • 版本 21.0 (21) - 更新于 2026-10-01

    该版本需要 Android 10 及以上版本。

    此包由原始开发者构建并签名,并保证对应于此源代码 tarball。

    权限
    • 运行前台服务
      允许此应用使用前台服务。
    • 运行“systemExempted”类型的前台服务
      允许该应用使用“systemExempted”类型的前台服务
    • 查询所有软件包
      允许应用查看所有已安装的软件包。

    下载 APK 337 KiB PGP 签名 | 构建日志

  • 版本 20.0 (20) - 更新于 2026-09-29

    该版本需要 Android 10 及以上版本。

    此包由原始开发者构建并签名,并保证对应于此源代码 tarball。

    权限
    • 运行前台服务
      允许此应用使用前台服务。
    • 运行“systemExempted”类型的前台服务
      允许该应用使用“systemExempted”类型的前台服务
    • 查询所有软件包
      允许应用查看所有已安装的软件包。

    下载 APK 337 KiB PGP 签名 | 构建日志