MonoNotes

Your notes are unreadable to everyone else.
Including us.

MonoNotes is a notes app for Android. What you write is encrypted on your phone, and if you turn on cloud sync it is encrypted before it leaves. The server that stores your notes holds nothing it can open.

The app

A notebook, not a service you log into

MonoNotes works completely offline. An account is optional, and exists only to back your notes up and carry them to another device.

  • Rich notesFormatted text, checklists, photos, drawings, voice recordings and PDF attachments.
  • Folders and tagsColour-coded folders, tag filtering, favourites, and search across the whole library.
  • Tasks with remindersA separate task list with priorities and scheduled notifications.
  • Locked notesPut a PIN on individual notes. Every door into a locked note asks for it.
  • ExportTake your whole library off the phone as pages you can open on any computer, on any plan including the free one.
  • Seven languagesEnglish, Türkçe, Deutsch, Español, Français, Italiano and Português.

Encryption

How it actually works

“End-to-end encrypted” is a claim anyone can print. Here is the whole of it — in plain language first, then precisely — so you can judge it instead of trusting it.

In plain language

On your phone. The database holding your notes is encrypted as a whole file. Its key is created on your device the first time you open the app, and lives in the phone’s own secure key storage. If someone takes the phone apart and pulls that file off it, what they have is noise.

On the way to the cloud. If you turn sync on, each note is encrypted on your phone before the upload begins. What travels is ciphertext, and what rests on our server stays ciphertext. Attachments — photos, drawings, voice notes, PDFs — are encrypted one by one and stored as separate objects with nothing readable in them.

The key. Sync needs the same key on your other phone, so a copy of it is kept on the server — locked, with a second key made from your password on your device. We hold the locked copy and the random salt it was made with. We hold nothing that opens it. That is also the uncomfortable half of the bargain: if you forget your password and no device still carries the key, nobody can bring those notes back, and the app asks you to confirm you understand that before it will create an account. A back door for us would be a back door for anyone who reached us.

Precisely

On-device database
SQLCipher, AES-256, whole file, with SQLCipher’s per-page HMAC for integrity.
On-device key
256 random bits generated at first launch, held in the OS keystore (Android Keystore, through expo-secure-store). It is never uploaded, in any form.
Sync key
A separate 256-bit key, generated on your device when the account is created.
Note text
Titles, bodies, folder names, tag names and task text: AES-256-CBC with a random IV per value, encrypted on the device.
Attachments
AES-256-GCM, random IV per file, authentication tag stored alongside the ciphertext.
Key escrow
The sync key is encrypted with a key derived from your password by PBKDF2-HMAC-SHA256, 100,000 iterations, with a 128-bit random salt kept per account. The derivation happens on your device, and a fresh salt is drawn whenever the escrow is rewritten.
In transit
HTTPS/TLS, over content that is already encrypted.
Where it rests
Supabase — PostgreSQL for the rows, object storage for the attachments, with row-level security so a row is reachable only by the account that owns it.

What the server holds

Encrypted — we cannot read it

  • Note titles
  • Note bodies
  • Folder names and tag names
  • Task text
  • Every attachment: photos, drawings, voice recordings, PDFs

Visible — we can read it

  • Your email address, and which plan you are on
  • Random identifiers for notes, folders and tags
  • When each was created, changed and last synced
  • Which note sits in which folder and carries which tags — by identifier, never by name
  • Note and folder colours, and font size
  • Whether a note is a favourite, locked, or in the bin
  • How many attachments you have and what they weigh

The second list is the honest answer to “what can the developer see?”. It is one row of the database with the encrypted columns taken out: the shape is visible, the contents are not.

What this protects, and what it does not

Protects against

  • A lost or stolen phone: the note database is encrypted at rest.
  • A breach of the database or the attachment storage: what leaks is ciphertext.
  • Us — including under a legal demand, where ciphertext is all there is to hand over.

Does not protect against

  • Someone who knows your account password: it is the one secret that unwraps the key.
  • An unlocked phone in the wrong hands, or malware running on the device.
  • The metadata listed above, which sync needs in order to work at all.

Something here look wrong, or want detail this page does not give? Write to monolithlabs.dev@gmail.com. Corrections are welcome, and this page gets updated.

The server

Why sync runs on our server rather than your Drive

It is a fair question, and the usual answer — that your own storage is more private — does not hold here. Your notes are encrypted on the phone before anything is uploaded, so moving the ciphertext into your Google Drive would change who keeps the box, not who can open it. That is already only you. It would also require a Google account in order to use an app whose whole point is not having to trust anybody.

What running it ourselves buys is the part a file sitting in a Drive folder cannot do. Sync compares your library row by row, so a note edited on one phone and a folder renamed on another both survive; deletions stay deleted instead of being resurrected by an older copy; and attachments travel separately from the notes that reference them, so editing one word does not re-upload a photo. Signing in needs an email address and a password and nothing else — and so does putting everything back on a new phone.

That server costs money to run, which is what the Pro price is for. If you want the app without any of it, Lite has everything except sync, and never speaks to a server at all.

Plans

Three of them, and one is free

Free

Try it properly

  • Up to 30 notes
  • 3 folders, 5 tags
  • Every editing feature
  • Export your library
  • Ads

Lite

Everything, on one device

  • Unlimited notes, folders and tags
  • Note and task reminders
  • No ads
  • No cloud, no account

Pro

And on every device

  • Everything in Lite
  • Encrypted cloud sync
  • Restore onto a new phone
  • Attachments synced too

Prices appear inside the app in your own currency, monthly or yearly, and are cancelled through Google Play like any other subscription. A plan that lapses never locks you out of your own writing: you can still sign in, download your backup, and delete your account.

Support

Talk to a person

MonoNotes is made by Monolithic Labs. Mail reaches the developer directly, in English or Turkish, and bug reports are read.

monolithlabs.dev@gmail.com

Crash reports and anonymous counts — how often a note is created, whether a sync succeeded — are collected in order to find bugs. No note text can travel with them: the events are a fixed list of names whose parameters may only be numbers and true/false, so there is no channel for text to pass through.