A notes & tasks app built to be trusted by design, not by promise.
SafeNoter was built with one goal in mind: to be a note-taking tool you can trust completely, without having to take that trust on faith.
Everything you type lives only in your browser's memory while you work. Nothing is sent anywhere automatically. When you choose to save — locally, to Google Drive, or to a SafeNoter web address — the content is encrypted with your own password before it is written anywhere. The password itself is never sent over the network, and by default it is never written to disk either — it only ever lives in this tab's memory. The one exception is entirely your own choice: when you open an already-encrypted file, a checkbox lets you “remember this password on this device” — only if you tick it, and only after a successful decryption, is the password saved in this browser's local storage, for that specific address, so the same file can reopen silently next time. You can erase it at any moment from the “Password” menu.
Notes are encrypted with Blowfish (CBC mode, PKCS5 padding, a fresh cryptographically random 8-byte IV generated for every single save) — the well-known cipher designed by Bruce Schneier in 1993. We picked it for concrete reasons, not just to tick a box:
In full honesty: Blowfish's 64-bit block size is why security researchers (see the 2016 “Sweet32” research) recommend against it for encrypting very large volumes of data under one key, such as a long-lived network connection. That risk is about bulk data in transit — it has no bearing on encrypting a single notes file of a few kilobytes or megabytes with a fresh random IV every time you save, which is all SafeNoter ever does.
If you use a SafeNoter web address (a subdomain), the small server component that stores your file never receives your password. Instead, your browser calculates a one-way mathematical “proof” derived from it (a standard technique called PBKDF2) and sends only that. The server can check that the same password was used again next time you save, without ever being able to work backwards to what the password actually is, and without ever being able to read your notes. This is not a policy promise — it is how the code is built.
The entire application — every file, every function — is plain, readable, unminified source code. No build step obscures what runs in your browser. There is no analytics, no tracking script, no third-party CDN quietly loading code from somewhere else. The only external services this application ever talks to are ones you explicitly choose to use (Google Drive, or your own SafeNoter server), and only when you press the button for it.
When connecting to Google Drive, SafeNoter requests the narrowest
possible permission (drive.file) — it can only see
files it created itself, never the rest of your Drive.
Every top-level branch in your tree can be either a plain note or a task with a deadline and progress tracking — you choose per branch, and every nested sub-branch follows the type of its root. Convert a branch between the two at any time; nothing about the security model above changes because of it — it is still the same single encrypted file, still never touching a server or disk unencrypted.
If you use SafeNoter in WEB mode, you are not limited to one subdomain: create as many as you like, each holding its own independent encrypted file — a natural way to keep separate projects, teams, or areas of your life apart from one another.
We built SafeNoter this way so that you never have to wonder what happens to what you write. There is no ambiguity to resolve, no fine-print to trust — the design itself removes the question. Write freely.
See the Privacy Policy and Terms of Service for the formal details, and the SafeNoter app itself for the "Help" and "License" sections in the menu.