Notesnook
streetwriters · Notes
GitHub stars
14,867Awaiting first sync
No measured star history yet
What is Notesnook?
Notesnook is a privacy-focused note-taking app for people and teams who want their notes encrypted end to end. Notes are encrypted on the device, so the sync server only stores data it cannot read, whether that server is the Notesnook service or one you run yourself.
Notesnook is an open-source note-taking app that encrypts every note on your device before it syncs. It runs on Windows, macOS, Linux, Android, iOS and the web, with notebooks, tags, reminders, a web clipper and note publishing. The sync server is open source too, so a team can run its own backend.
Core capabilities
- Encrypt every note on the device with XChaCha20-Poly1305 and Argon2 before it leaves.
- Use the same notes on Windows, macOS, Linux, Android, iOS and in the browser.
- Point the official apps at your own sync, auth, events and publishing servers.
Notes, notebooks and a full editor
The editor covers formatting, task lists, tables, outlines, math, code blocks, images and file attachments, with Markdown support. Notes can be organised into notebooks and tags, linked to each other with backlinks, and given reminders. A browser web clipper saves articles and pages into Notesnook, and Monographs publish a single note as a web page, optionally behind a password.
- Rich text editor
- Notebooks
- Web clipper
- Publishing
Encrypted before it syncs
Every app encrypts notes on the device using XChaCha20-Poly1305 and Argon2, so the server never sees note contents. App lock adds a fingerprint, PIN or password to open the app, and the vault protects chosen notes with a second password. The team publishes Vericrypt, a tool for checking the encryption claims yourself.
- End-to-end encryption
- Vault
- App lock
Run your own sync server
The web, desktop and mobile apps are GPL-3.0, and the separate notesnook-sync-server repository (AGPL-3.0) holds the sync, identity, events and Monograph services. Its Docker Compose file starts them with MongoDB and S3-compatible storage on a Linux server with about 1 GB of RAM and HTTPS in front. Accounts on a self-hosted server get every feature with no storage caps. The project says self-hosting currently comes without official support.
- Self-hosted
- Docker
- GPL-3.0
- AGPL-3.0
Where it fits
Use cases
- 01
Move a team's notes off Evernote
Use the built-in importer to bring notes over from Evernote, Google Keep or Obsidian, then sort them into notebooks and tags. Everything is encrypted on each device before it syncs.
- 02
Keep sensitive notes behind a second lock
Turn on app lock with a fingerprint, PIN or password, and move the most sensitive notes into the vault, which needs its own password. Back up the notes regularly so they can be restored on a new device.
- 03
Run notes sync on company servers
Start the sync server stack with Docker Compose, set the instance name, API secret and public URLs, and disable sign-ups once accounts exist. Then log out in each app and enter the four server URLs under Settings, Customization, Servers.