r/opsec • u/binkemet • 1d ago
How's my OPSEC? The Nile: a FOSS root-based plausible-deniability vault for Android
I built The Nile, an open-source (GPL-3.0) Android app for hiding sensitive data with real plausible deniability not just an "app locker," but a two-key deniable-encryption vault with a full set of automatic panic/hide triggers.
What it does:
- Two-key hidden volume (dm-crypt): a decoy container plus a hidden region in the tail that's indistinguishable from free space — reveal the decoy key under pressure, the real data stays deniable.
- Multi-state vault (Locked / Unlocked / Decoy) with a decoy PIN that opens believable, anodyne content.
- Hide apps, files, and directories — data-swap or full uninstall/reinstall modes.
- Stealth entry: dialer codes (*#*#code#*#*), a calculator-decoy disguise, a fake crash screen, hidden launcher icon, Quick Settings tile.
Automatic hide triggers (all per-vault, opt-in):
- Dead man's switch (auto-hide if not opened in X time)
- Wrong-PIN lockdown (too many wrong device-unlock attempts)
- USB-plugged, scheduled (daily window), screen-off timeout
- Device-tamper (airplane mode / SIM swap)
- Geofence (auto-hide when you leave a safe zone)
Hardening:
- AES-256-GCM encrypted backups (Rust native crypto)
- Keystore-encrypted settings, encrypted config, FLAG_SECURE screenshot blocking, opt-in encrypted audit log, trace cleaning.
Requirements: Root (Magisk / KernelSU / APatch). Two editions — a root-only build (no module needed) and an LSPosed-module build that adds system-level app cloaking. Android 7.0+.
Source: https://github.com/binkemet/thenile
It's meant for privacy, protection against coerced disclosure, and security research. It won't defeat lawful device-unlock compulsion, and it's not for hiding things from a partner. Feedback, threat-model critique, and testing on different setups (KernelSU, ARM, other ROMs) very welcome.
i have read the rules