1.What is encrypted
OxNotes protects two things, with two related but distinct mechanisms.
- The Google Drive backup (optional): notes, photos, drawings and recordings are encrypted on the phone before being sent to the app’s private folder in your Drive. Google only receives encrypted bytes.
- Protected notes: their content and media are encrypted on the phone, and opening them requires phone authentication (biometrics or screen lock).
Ordinary notes on the phone are not encrypted by OxNotes: they rely on the device’s own protection (Android storage encryption, screen lock). Only protected notes have their own local encryption.
2.Algorithms
| Element | Choice |
|---|---|
| Encryption | AES-256-GCM (authenticated encryption), in 64 KiB blocks, 128-bit authentication tag |
| Per-file key | HKDF-SHA-256 (RFC 5869) from the backup key, with a 32-byte salt and a context (role, generation, content hash) |
| Object names on Drive | HMAC-SHA-256: the name does not reveal the content hash |
| Randomness | Android SecureRandom |
| Library | Android cryptography provider (JCA) and Android Keystore. No hand-written primitives |
Any change to a file on Drive (a modified byte, a removed or reordered block, a file swapped with another) makes decryption fail: it is detected, never silently restored.
3.The keys
| Key | Nature | Where it lives |
|---|---|---|
| Recovery key | 256 random bits, shown as 8 groups of 8 hexadecimal characters | With you (paper, password manager). OxNotes does not keep it; it exists in memory only for the duration of an operation. |
| Backup key | 256 random bits, created once | On the phone, protected by the Android Keystore. On Drive, a 108-byte envelope holds it, encrypted with your recovery key. |
| Protected-notes master key | 256 random bits | On the phone, in the Keystore with mandatory authentication. On Drive, encrypted with your recovery key. |
The recovery key is a random 256-bit key, not a password you choose: there is no slow derivation to work around, and a guessing attack on the envelope is out of reach. The trade-off is that it cannot be guessed or “reset”: if you lose it and your phone is lost or reset, the backup is unrecoverable. There is no OxNotes server able to retrieve it.
You restore on another phone by entering this key. An incorrect key is rejected without changing anything.
4.What Drive can see
The content is unreadable, but some metadata is not encrypted. This is deliberate, and this is the complete list:
- File names (
oxnotes-manifest-…,oxnotes-obj-…), which contain neither a note title nor an original file name. - Technical properties: format version, public key identifier (16 characters), device label, dates, counters (notes, protected notes, trash, media, bytes, omitted or pending items).
- The size of each file and the number of files.
An observer can therefore infer the number of notes and media and their approximate size, not their content.
5.Who can read what
| Who | What they have | Result |
|---|---|---|
| Someone who can access your Drive (compromised account, Google) | The backup files | Content unreadable. The metadata in section 4 is visible. |
| Same, with write access to your Drive | The files, modifiable | Any tampering is detected. They can delete files or put back an older valid copy: this rollback is not detected. |
| Someone with only your recovery key | The paper | Nothing, without access to your Drive. |
| Someone with your Drive and your recovery key | Everything | Everything is readable, protected notes included. That is the purpose of recovery. Keep the key off the phone. |
| Stolen locked phone | The device | Storage is encrypted by Android; protected notes stay closed without your authentication. |
| Unlocked phone, app open | The device | Ordinary notes are readable, as in any app. Protected notes require authentication. |
| Malware, rooted phone | The app’s keys | Limited gain: the Drive history (up to 5 generations). Protected notes stay closed. |
6.Limits and what we do not claim
- Lost key = lost backup. We cannot recover it.
- Copies created by older pre-releases may be unencrypted. They are not modified retroactively; you can delete them explicitly.
- Label and folder names of protected notes are visible in local storage.
- Exporting or sharing a protected note, allowed after authentication, produces a copy readable outside the vault.
- OxNotes does not offer synchronization between phones: it is backup and restore.
7.FAQ
Why not simply use a password?
A user-chosen password is usually weak, which requires slow derivation and leaves a door open to guessing attacks. A random 256-bit key does not have this weakness. The price is that you must keep it.
Can OxNotes read my backups?
No. We have no notes server and receive neither your backup files nor your recovery key.
What happens if Android loses the Keystore key?
The backup pauses and asks for your recovery key, which reopens the portable envelope so it can resume.
Why this page?
So that you can judge for yourself. A question or a flaw to report: contact@oxnotes.site.