Search CodeHorizon

Products

CSS Class HighlighterChrome extension · Live ShopGradeChrome extension + web app · Live SecureVaultAndroid app · Live Companion AIAndroid app · Live Speaker CleanerAndroid app · Live NickedAndroid game · Live CompassAndroid app · In testing TubeFocusChrome extension · Live KeeptakeChrome extension · Live TabClusterPast Chrome extension · Past project NotiloPast Chrome extension · Past project

Insights

Android now checks who built an app before it installs itAndroid WebMCP lets your website hand AI agents a proper set of toolsWeb and AI Your next customer might be an AI agent. Here is what it reads in your storeShopify Manifest V2 is gone. This is what a Chrome extension looks like nowChrome extensions Google sends fewer clicks now. Here is how a business website should adaptSearch

Pages

HomeThe studio ServicesWebsites, stores, extensions and apps Case studiesSelected work ProcessHow a project runs All productsThe complete collection InsightsPlatform changes, explained JournalEvery release, newest first Start a projectPlan it in a minute
move openEsc close

SecureVault

Android appLive

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.

Platform
Android
Version
7.10
Updated
8 Oct 2026
Price
Free, optional one-time upgrade
Role
Sole developer
Timeline
Apr to Sep 2025
Stack
KotlinJetpack ComposeMVVMCoroutinesStateFlowAndroid KeystoreSecurity CryptoBiometricPrompt

The problem

Why SecureVault exists

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

  • Private photos one tap from anyone holding your phone
  • Vault apps with a big padlock icon
  • An account and an upload just to hide a file

With SecureVault

  • A calculator that genuinely works
  • A vault that opens only with your code
  • Encrypted on the phone, with no account
The hardest part
Making the disguise feel exactly like a calculator, and keeping Keystore keys intact across app updates.

How it works

How you use it, step by step.

From opening the app to the thing you came for.

  1. It looks like a calculator, and it works like one
  2. Only you get in, with a separate vault password
  3. Add your first private file as an encrypted copy
It looks like a calculator, and it works like one
It looks like a calculator, and it works like one
Only you get in, with a separate vault password
Add your first private file as an encrypted copy

Under the hood

How it is built.

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.

  1. 01

    Calculator

    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.

  2. 02

    Your code

    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.

  3. 03

    Android Keystore

    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.

  4. 04

    The vault

    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.

01

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.

02

Encrypted down to the names

Files are encrypted with AES-256-GCM, the keys never leave the Android Keystore, and filenames and metadata are encrypted too.

03

Nothing on screen gives it away

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.

Kotlindata/security/FileEncryption.ktlines 34 to 64, cut short
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)
            }
        }
        // …
From the sourceKeys in the Keystore, files in AES-256-GCMThe master key is made in the Android Keystore and never leaves it. Each file is streamed through AES-256-GCM in 4 KB segments, so a large file is never held whole in memory.

Decisions

The calls I made, and what they cost.

Each decision lists the reason for it and what it gave up.

  1. 01

    Android Security Crypto instead of hand-rolled AES

    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.

  2. 02

    Completely separate composable trees for the calculator and the vault

    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

Files that wouldn’t decrypt

What happened
After the app was reinstalled, encrypted files failed to decrypt, with a generic exception that didn’t say why.
Why
The Keystore key was being generated again, so files encrypted with the old one could no longer be read. The error looked like corrupt data, not a key that had changed.
The fix
On launch, the app hashes the current key and compares it with the hash stored alongside the vault. If they differ, it shows a recovery flow instead of failing silently.

What I tried first

  • Hiding files inside imagesSteganography was the first idea, for deniability. Doing it without visible artefacts or tell-tale file sizes is a hard problem, and AES from Android’s own security library is audited and already there.
  • A PIN on its ownA PIN can be seen over your shoulder, which defeats a disguised vault. A fingerprint is harder to watch and quicker to use.

What I learned

  • The biometric APIs changed a lot between API 23, 28 and 30. Test on the oldest phone you support.
  • Keystore key aliases are permanent once created. Plan their migration, or people lose their vault in an update.
  • Making the disguise convincing was harder than the crypto. Any awkward interaction gives it away.

Screens

What it looks like.

01 / 05
01Your files, kept private in an encrypted vault on your phone
02It looks like a calculator, and it works like one
03Only you get in, with a separate vault password
04Add your first private file as an encrypted copy
05Select several files and share, move or delete them together

Features

What you get.

01

AES-256-GCM encryption

Keys are protected by the Android Keystore. Filenames and metadata are encrypted too.

02

Hidden in plain sight

Pick the app name shown on your home screen. Invisible to file managers.

03

Screenshot blocking

Sensitive screens are blocked from screenshots and hidden from recent apps.

04

No cloud, no account

No registration and no uploads. There are no servers for your files to go to.

05

Light and dark mode

Material Design 3 throughout, on both the calculator and the vault.

06

One-time Premium

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.

Questions

Good questions.

Something else? Ask me directly.

Does the calculator actually work?

Yes. It handles percentages, trigonometry, logarithms and powers, and it keeps a history. Only your secret code opens the vault.

Where are my files stored?

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.

Can someone tell it is a vault?

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.

Does importing a file delete the original?

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.

Is it free?

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

From the first line to today.

  1. 26 Nov 2025

    6.0, on Google Play

    A calculator on the outside and an encrypted vault inside, with a built-in camera, screenshot blocking and an offline recovery question.

  2. Mar 2026

    6.5

    Shake to lock: shake the phone and the vault locks straight away.

  3. Sep 2026

    7

    A decoy vault, intruder selfies, private notes and a viewer for photos, videos and audio. And the app became free to download.

  4. 22 Sep 2026

    7.7

    Setup says exactly what you’re choosing, and your passcode is stored with much stronger protection.

  5. 8 Oct 2026

    7.10

    A guided import for your first private file, and an optional video that unlocks 30 minutes of selecting, sharing, moving and deleting files together.

  1. Updatev7.10

    SecureVault 7.10 makes your first file easy

    A guided import walks you through adding your first private file, and batch tools can be unlocked for a session.

    • Choose a photo, video or document and the vault saves an encrypted copy. The original stays where it is.
    • Select, share, move or delete files together with Premium, or for 30 minutes after an optional rewarded video.
    • Smoother reward playback, and your selection carries on after earning access.
    • New Play Store screenshots and a clearer description, including where ads appear in the free version.
  2. Updatev7.7

    Setting up SecureVault is clearer

    The first screen now says exactly what you are choosing: the secret code you type into the calculator to open your vault.

    • Clearer wording on every setup button and message.
    • Your passcode is now stored with much stronger protection.
    • Stability and speed improvements.
  3. Updatev7

    SecureVault 7: a decoy vault, intruder selfies and a private notebook

    The biggest SecureVault update yet, and the app is now free to download.

    • Decoy vault: a second passcode opens an empty vault if someone forces you to unlock it.
    • Intruder selfie: a wrong guess quietly takes a photo of whoever is trying, and logs the attempt.
    • Private notes, plus a built-in viewer for your photos, videos and audio, so nothing has to leave the vault.
    • A calculation history, so the calculator side is genuinely handy too.
    • Free to download. A one-time Premium adds the decoy vault, intruder selfies and batch actions, and removes ads. Anyone who bought the app before keeps all of it.
  4. Updatev6.5

    Shake to lock: SecureVault gets a panic switch

    If you need to hide your files in a hurry, shake your phone and the vault locks straight away.

    • Turn it on in Security settings. It is free for everyone, always.
  5. Launchv6.0

    SecureVault arrives on Google Play

    A calculator that really works on the outside, and an encrypted vault for your photos, videos and files on the inside.

    • Type your secret code and press equals to open the vault.
    • Everything is encrypted on your phone. No account, no cloud.
    • Take photos and videos straight into the vault with the built-in camera.
    • Hide it from recent apps, block screenshots and choose the name it shows on your home screen.
    • Forgot your code? An offline recovery question gets you back in.

For businesses

Like how SecureVault turned out? I can build yours.

Websites, Shopify stores, Chrome extensions and Android apps, designed and engineered with the same care as my own products.

Booking new projects

Tell me what you’re building.

I read every message myself and reply within a day or two with honest next steps.

  1. 01You share the ideaA few lines is plenty. Links to anything similar help.
  2. 02We talk it throughOne short conversation by email or a quick call.
  3. 03You get a clear planScope, timing and a price that fits, before any work starts.
Just say helloFour fields, that is all

Your details come straight to my inbox and are only used to reply. Nothing is stored on this site or shared.

Project plannerTakes about a minute
01What do you need?Pick any that fit. Skip it for a quick hello.
02Budget
03Timeline
04Tell me about it

Your details come straight to my inbox and are only used to reply. Nothing is stored on this site or shared.