Client-side encryption
A fresh 256-bit key and IV are generated for every note using the browser Web Crypto API.
Open source · privacy by design
notefor.one encrypts a note in your browser, shares it through a one-time link, and permanently removes it when the recipient reveals it.
Small attack surface
No profiles, analytics, advertising, or unnecessary personal data. The project stays focused on one private exchange.
A fresh 256-bit key and IV are generated for every note using the browser Web Crypto API.
MongoDB removes the ciphertext atomically, preventing a second reader from consuming the same note.
Unopened notes are cleaned up through a TTL index after the lifetime selected by the sender.
The encryption key lives in the URL fragment, which browsers do not send to the application server.
Chat and email previews cannot destroy a note. Revealing it always requires an explicit action.
Run the Node.js application and MongoDB on infrastructure you control under the MIT license.
End-to-end flow
The sender types a note in their browser.
The browser encrypts it before anything is uploaded.
The recipient gets a link carrying the decryption key after #.
The server deletes the ciphertext and the browser decrypts locally.
Transparent security model
The server stores ciphertext, IV, identifier, and timestamps — never the note's plaintext or encryption key. The public security policy documents both protections and limits.
Read the security policy ↗note/id#encryption-keyRun it on your infrastructure
This website describes the open-source project; it does not operate a public note-sharing instance. Clone the repository to inspect, modify, contribute, or deploy your own instance with HTTPS and MongoDB.
Open by design
Bug reports, security research, documentation, design ideas, and pull requests are welcome.