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.
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.