Skip to content

How your keys are protected

Smartable Wallet is non-custodial: your recovery phrase and keys are designed to stay on your phone. Smartable has no server-side signing, no backend that keeps a key, and no recovery authority held by anyone else. The code described on this page is published as the open-source core.

Each recovery phrase is encrypted under a random key of its own that nobody types. Your wallet password only wraps that key. A wallet password has at least twelve characters and cannot be mostly a pattern.

Anything you type to open the wallet is turned into a key with a deliberately slow function, so guessing it takes time. Split-backup shares kept in cloud accounts get a stronger one, because a copy there could be attacked away from your phone. The exact algorithms are listed on the open-source core page.

Secrets go to the platform key store or nowhere — there is no plaintext fallback. A secret that cannot be decrypted is reported, never deleted.

A device key the app can use and cannot read

Section titled “A device key the app can use and cannot read”

The wallet’s unlock keys are sealed by a key in Android Keystore — in StrongBox where the phone has one, otherwise in the Trusted Execution Environment. Which one actually holds it is reported, not assumed.

The PIN has six digits. Every guess has to go through a key held in your phone’s key store, so the possible PINs cannot be carried off and tried on a faster machine. On Android 15 and later, those keys work only while the phone is unlocked.

An unlocked, rooted phone is not protected.

Biometric unlock uses a Class 3 biometric on Android, bound to a key that is released once per use. The phone’s own passcode or pattern never opens the wallet.

Wrong guesses are counted on one counter, and the wait is measured on the clock that runs since the phone started, so changing the date does not end it.

Check Status
Independent security audit Not completed
Maintainer review Ongoing
AI-assisted review Performed during development; not an audit
Reproducible builds Not yet verified

A passing test proves only the behaviour it exercises. Nobody, Smartable included, can recover a lost recovery phrase or reverse a confirmed transaction.