A calculator that really is one
The disguise is a full engine of its own: expressions are parsed with the Shunting Yard algorithm, with scientific functions, live results as you type, and a history.
It looks like a calculator. It is actually a vault.
A real scientific calculator on the outside and an AES-256 encrypted vault for your photos, videos and files on the inside. Everything stays on your phone.
The problem
Phones get borrowed, handed around and picked up. A gallery full of private photos or an ID scan is one tap away from anyone holding it. Most vault apps announce themselves with a big padlock icon. The disguise is the whole point.
Before
With SecureVault
Making the disguise feel exactly like a calculator, and keeping Keystore keys intact across app updates.
How it works
From opening the app to the thing you came for.







Under the hood
A working calculator that opens an encrypted vault: your code and equals bring up its lock, and a separate vault password or your fingerprint opens it. Files are encrypted on-device with Android Security Crypto, using keys held in the Android Keystore. It supports biometric unlock with a passcode fallback, and is built with Jetpack Compose, MVVM, Coroutines and StateFlow.
Since then it’s grown a decoy vault that a second passcode opens, a photo of whoever guesses wrong, private notes, and a viewer for photos, videos and audio, so nothing has to leave the vault.
A real one, parsed with the Shunting Yard algorithm
The disguise is a full engine of its own: expressions are parsed with the Shunting Yard algorithm, with scientific functions, live results as you type, and a history.
Typed in, then equals
Type your code and press equals, and the calculator brings up the vault’s lock, which wants a separate vault password or your fingerprint. A second passcode can open an empty decoy vault instead.
Holds the keys; files are AES-256-GCM
The master key lives in the Android Keystore and never leaves it. Files are encrypted with AES-256-GCM, and so are their names and metadata.
A separate Compose tree
Vault screens are blocked from screenshots and hidden from recent apps, vault files don’t show up in file managers, and it locks itself after a while, back to the calculator.
The disguise is a full engine of its own: expressions are parsed with the Shunting Yard algorithm, with scientific functions, live results as you type, and a history.
Files are encrypted with AES-256-GCM, the keys never leave the Android Keystore, and filenames and metadata are encrypted too.
Vault screens are blocked from screenshots and hidden from recent apps, vault files don’t show up in file managers, and you choose the name on the home screen.
private val masterKey: MasterKey by lazy {
MasterKey.Builder(context)
.setKeyScheme(MasterKey.KeyScheme.AES256_GCM)
.build()
}
/**
* Encrypts a file and saves it to the secret storage directory
*/
fun encryptFile(sourceFile: File, destinationDir: File, fileName: String): File? {
return try {
if (!destinationDir.exists()) {
destinationDir.mkdirs()
}
val encryptedFile = File(destinationDir, "$fileName.enc")
// Create encrypted file using Android Security library
val androidEncryptedFile = EncryptedFile.Builder(
context,
encryptedFile,
masterKey,
EncryptedFile.FileEncryptionScheme.AES256_GCM_HKDF_4KB
).build()
// Copy source file content to encrypted file
sourceFile.inputStream().use { input ->
androidEncryptedFile.openFileOutput().use { output ->
input.copyTo(output)
}
}
// …Decisions
Each decision lists the reason for it and what it gave up.
Why
It handles key generation, Keystore storage and AES-GCM correctly. Writing my own crypto would have been the risky part.
Trade-off
Less control over cipher parameters, but the defaults are sound.
Why
State changes happen in the ViewModel, and neither screen knows the other exists, so shared state can’t accidentally give the disguise away.
Trade-off
More boilerplate.
A bug worth telling
What I tried first
What I learned
Screens
Features
Keys are protected by the Android Keystore. Filenames and metadata are encrypted too.
Pick the app name shown on your home screen. Invisible to file managers.
Sensitive screens are blocked from screenshots and hidden from recent apps.
No registration and no uploads. There are no servers for your files to go to.
Material Design 3 throughout, on both the calculator and the vault.
Removes ads and adds batch operations, a decoy vault and intruder selfie. No subscription.
Your data
Your files never leave your device. There is no account, no registration and no cloud upload. The free version shows Google AdMob ads, including on the calculator; the one-time Premium upgrade removes them.
Yes. It handles percentages, trigonometry, logarithms and powers, and it keeps a history. Only your secret code opens the vault.
Only on your phone. They are encrypted with AES-256-GCM, the keys are protected by the Android Keystore, and filenames and metadata are encrypted too. There is no account and no cloud upload.
You choose the app name shown on your home screen, vault files are invisible to file managers, and sensitive screens are blocked from screenshots and hidden from recent apps.
No. Importing saves an encrypted copy in the vault and the original stays where it is. Check the saved copy before removing the original yourself.
Yes. The free version shows ads from Google AdMob, including on the calculator, and an optional rewarded video unlocks batch tools for 30 minutes. A one-time Premium upgrade removes ads and permanently adds batch tools, a decoy vault and intruder selfie. There is no subscription.
Milestones
A calculator on the outside and an encrypted vault inside, with a built-in camera, screenshot blocking and an offline recovery question.
Shake to lock: shake the phone and the vault locks straight away.
A decoy vault, intruder selfies, private notes and a viewer for photos, videos and audio. And the app became free to download.
Setup says exactly what you’re choosing, and your passcode is stored with much stronger protection.
A guided import for your first private file, and an optional video that unlocks 30 minutes of selecting, sharing, moving and deleting files together.
A guided import walks you through adding your first private file, and batch tools can be unlocked for a session.
The first screen now says exactly what you are choosing: the secret code you type into the calculator to open your vault.
The biggest SecureVault update yet, and the app is now free to download.
If you need to hide your files in a hurry, shake your phone and the vault locks straight away.
A calculator that really works on the outside, and an encrypted vault for your photos, videos and files on the inside.
For businesses
Websites, Shopify stores, Chrome extensions and Android apps, designed and engineered with the same care as my own products.
Booking new projects
I read every message myself and reply within a day or two with honest next steps.
Your message is on its way. I’ll reply to within a day or two.