Last updated: October 2026
braiNOTES is a browser-based app for handwritten notes. Your notes, pdfs and pictures are kept in your browser on your device. We do not collect, store, or transmit your notes or personal data to any server.
PDFs, pictures and .brainotes files reach the app through a file picker, by drag and drop or
by pasting. They are read right in the tab: pdf.js draws the pdfs, the browser decodes the pictures, and a .brainotes file is unzipped in place. No file data is uploaded to external servers.
Every pdf and picture you add is copied into the browser's storage, next to the notebook it belongs to, so the notebook opens again without asking for the file. The app keeps no link to the file on your disk.
Exports are made in the tab as well. A PDF, a PNG or a .brainotes file is written to the place
you pick, or downloaded the usual way in browsers without a save dialog.
Paste in the right click menu or the command palette reads the clipboard, which the browser may ask your
permission for. What it reads goes onto the page and nowhere else. Copying a
selection puts the short text brainotes items on the clipboard, so a later paste knows the
items are still the newest copy. The items themselves stay in the tab.
braiNOTES uses your browser's own storage and nothing else. None of it leaves your browser, and all of it can be cleared at any time through your browser settings. This is everything the app writes:
localStorage holds small settings under five keys: brainotes-preferences (everything in the preferences dialog), brainotes-layout (the panel sizes of each workspace), brainotes-last (which notebook was open last), brainotes-reading (the page and zoom you were at in each pdf on the side, for the last hundred)
and brainotes-reading-tab (which pdf or picture each notebook had open on the side). When a
tab closes before a change has reached the database, the change is written under brainotes-rescue- and the notebook's id, and moved into the database the next time that
notebook opens.
IndexedDB holds one database, brainotes, with three stores: notebooks, the name, kind, dates and page list of each notebook; pages, the
strokes, shapes, text and placed pictures of every page; and assets, the pdfs and pictures
you added, with their file name and type.
Cache Storage holds the app itself, so it works offline: the files of the build you loaded, including the data pdf.js needs for some pdfs, the last good copy of everything else from this site, and the fonts once they have been loaded.
The app asks the browser to keep this storage persistent, so it is not cleared on its own when the disk
runs low. Some browsers ask you first. Clearing the site's data still removes all of it, notebooks
included, so export a .brainotes file first if you want to keep one.
We do not use tracking scripts, analytics services, or advertising networks.
Fonts. The interface loads its fonts from Google Fonts (fonts.googleapis.com and fonts.gstatic.com) when the page loads. Google's privacy policy applies to that request. The stylesheet is asked for on every visit, the font files are kept in Cache Storage after the first one. This request never carries your notes.
Hosting. The site is served by GitHub Pages. Like any web server, GitHub receives the usual request data when your browser loads the app, such as your IP address and browser, and GitHub's privacy statement applies. While a tab is open, the app asks the same server about once a minute whether a new version has been published, so the next page load picks it up. Nothing about you or your notes goes with it.
That is the complete list. There is no backend, no account, no error reporting and no upload. Once the page has loaded, the app works with the network switched off.
braiNOTES does not use cookies, and there is no account to sign in to. The settings listed above are stored in localStorage.
We may update this policy from time to time. Changes will be reflected on this page with an updated date.
For questions about this policy, contact us via GitHub.