Fortnote
Fortnote Blog · Security Explained

Offline Encrypted Notes on Android: How It Actually Works

Most notes apps say "encrypted" somewhere in their description. Very few explain what that actually means on Android — where the keys live, whether they can leave the device, and what happens if someone gets hold of your phone or your files.

Updated April 2026

What "encrypted" actually means for notes

Encryption converts your note text into unreadable data. To read it back, you need a key. On Android, the question is not just whether a notes app encrypts — most do in some form — but who controls the key and where it lives.

There are two fundamentally different models:

  • Cloud-managed keys — the key lives on a server. The app decrypts your notes when you log in. If the server is breached, your notes are exposed. If the company shuts down, you may lose access.
  • On-device keys — the key never leaves your phone. The app decrypts on the device only. If someone copies the encrypted file, they get nothing useful without the key that stays on your hardware.

Offline encrypted notes on Android means the second model. The key is generated on your phone, stored on your phone, and used on your phone. Nothing is uploaded.

Android Keystore: what it is and why it matters

Android Keystore is a system that lets apps generate and store cryptographic keys in a protected container. The important property is that keys stored in the Keystore cannot be exported. An app can use a key to encrypt or decrypt data, but it cannot read the key itself and cannot send it anywhere.

This matters because even if a malicious app or process somehow gained access to your notes storage folder, it would find only encrypted blobs. Without the Keystore key — which it cannot extract — the data is unreadable.

Fortnote uses Android Keystore to generate and protect the encryption keys used for your notes. The keys are created once per install, stored in the Keystore, and never transmitted.

StrongBox: hardware-level key protection

On devices that support it, Android Keystore can be backed by a dedicated hardware security module called StrongBox. StrongBox is a separate, tamper-resistant chip that operates independently from the main processor.

When keys are stored in StrongBox, they are protected even if the main processor is compromised. Pulling the storage and reading it on another device gets you nothing. The key is locked inside hardware that cannot be cloned or moved.

Fortnote uses StrongBox automatically where the device supports it, and falls back to standard Android Keystore on devices that do not have the dedicated security chip.

Not every Android phone has StrongBox. Flagship devices from Google, Samsung, and others typically do. Mid-range and budget devices may not. The practical implication is that on StrongBox-enabled phones, key protection is significantly stronger.

AES-256-GCM: the encryption algorithm

AES-256-GCM is the encryption standard used for your note data. It has two important properties:

  • AES-256 — the key is 256 bits long. At current computing power, brute-forcing a 256-bit AES key is not feasible. This is the same standard used by governments and banks for sensitive data.
  • GCM mode — Galois/Counter Mode adds authentication on top of encryption. This means the app can verify that the encrypted data has not been tampered with before decrypting it. If someone modified your encrypted note file, the app would detect the change and reject it rather than decrypting corrupted or malicious data.

The authentication property is important. Encryption alone prevents reading. GCM mode also prevents undetected modification — a property called authenticated encryption.

HMAC integrity verification

On top of AES-256-GCM, Fortnote uses HMAC (Hash-based Message Authentication Code) to verify the integrity of each note. HMAC produces a fingerprint of the data that can only be verified with the correct key. If a note's content has changed — by any means, including file system errors or deliberate tampering — the HMAC check fails and the note is flagged rather than silently opened.

This means two separate checks happen before a note is decrypted and displayed: the GCM authentication tag and the HMAC verification. Both must pass.

What happens on a rooted device

Root access on Android means a process has administrator-level access to the operating system. On a rooted device, the isolation that normally protects Android Keystore can be weakened. A sufficiently capable attacker with root access may be able to access keys that are not backed by StrongBox hardware.

Fortnote detects root indicators at startup and shows a clear warning if they are present. The decision to continue is yours — but the warning is intentional. On a rooted device, you should assume higher risk regardless of which notes app you use.

Why "offline" matters for encryption

Encrypted notes that sync to a cloud service introduce a different threat surface. Even with strong encryption, syncing raises questions:

  • Does the service have access to your keys? If yes, a server breach exposes your notes.
  • Is the sync connection itself encrypted end-to-end? If not, the data is vulnerable in transit.
  • What happens to your data if the service closes? Encrypted data you cannot decrypt is lost data.
  • What does the privacy policy say about key management and government requests?

Offline notes avoid these questions entirely. If data never leaves the device, there is no server to breach, no transit to intercept, and no third-party key management to worry about. The tradeoff is that you have no automatic cloud backup — but that is a tradeoff, not a flaw.

Encrypted backup: export and import

Fortnote Pro supports encrypted export and import. When you export, your notes are packaged into an encrypted backup file that you can save wherever you choose — a USB drive, a personal cloud folder, a local hard drive. The backup is encrypted with your keys before export. It is never sent anywhere automatically.

To restore, you import the backup file on any Android device running Fortnote. You are in control of where the backup goes and who can access it. There is no automatic upload and no server involved.

The self-test on every launch

Every time Fortnote opens, it runs a cryptographic self-test — it performs a test encryption and decryption cycle using AES-256-GCM and verifies the result. If the test fails for any reason, the app surfaces a vault status warning rather than silently opening with potentially degraded security.

This is a small detail that most apps skip. It matters because it catches edge cases — unusual device configurations, system updates that affect key storage, or other environmental factors — before they become silent problems.

Summary: what offline encrypted notes on Android actually means

  • Keys are generated on-device and stored in Android Keystore — never exported, never transmitted
  • StrongBox hardware security is used where available for additional key protection
  • Note data is encrypted with AES-256-GCM, providing both confidentiality and authenticated integrity
  • HMAC verification provides a second integrity layer per note
  • No account, no cloud sync, no server involved in normal use
  • Root detection warns you when the security model may be weakened
  • Encrypted export gives you backup control without automatic uploads

Want to understand more? See How AES-256-GCM Protects Your Notes for a deeper look at the encryption algorithm, or Offline Notes vs Cloud Notes for a comparison of the two storage models.

Read more

Fortnote: offline encrypted notes for Android

  • AES-256-GCM encryption per note
  • HMAC integrity verification
  • Android Keystore + StrongBox where available
  • No account, no cloud sync, no trackers
  • Root and jailbreak detection with clear warnings
  • Encrypted export and import for backup control
  • Cryptographic self-test on every launch
Get it on Google Play