Typewell

Privacy Policy

Last updated 5 August 2026

No server of ours ever holds your notes. There is no account to create, no database holding your notes, and no analytics of any kind. Your notes stay in your own browser until you explicitly connect a backup, and even then they go to your Google Drive or your GitHub account — never to us. We could not read your notes if we wanted to. We run exactly one small service, and only if you connect Google Drive: it handles the sign-in with Google and nothing else. It never receives a note. See section 4.

1. Who this applies to

This policy covers the Typewell web app published at typewell.net and its source repository. Typewell is a free, open-source project maintained by volunteers; there is no company behind it and nothing is sold.

2. What we collect

Nothing. Typewell is a single static HTML file. It has no backend, so there is nowhere for your information to be sent to or stored. Specifically, Typewell does not:

3. Where your notes are kept

Your notes and preferences are saved in your browser's localStorage, under these keys:

KeyContents
typewell.notes.v1Your notes: titles, contents and timestamps.
typewell.settings.v1Preferences — theme, default font, auto-backup, plus the backup identifiers described below. If you connect Drive, this also holds the e-mail address of the Google account you connected, which is used to label the connection in Settings and to tell Google which account to renew the sign-in for.
typewell.drive.v1Only if you connect Drive: which Drive file corresponds to which note, and when each was last synced. No note contents.
typewell.drive.token.v1Only if you connect Drive: the current Google access token and the time it expires, so that syncing after a reload does not have to reopen the Google sign-in window. It is removed when it expires and when you disconnect.

This data never leaves your device on its own. It is tied to that one browser on that one device: it does not follow you to another computer, and clearing your browser's site data for this domain erases it permanently. These policy pages read the theme preference from that same key so they match the app's appearance; they store nothing.

4. Optional backups

Both backup destinations are off by default and require you to connect them deliberately.

Google Drive

If you connect Drive, Typewell requests only the drive.file scope. That scope is limited to files the app itself creates — it grants no ability to see, open or list anything else in your Drive. Your notes are written to a Typewell folder in your own Drive account, one ordinary Markdown file per note, which you can read, edit or delete with any tool you like. The access token Google issues lasts about an hour, and Typewell keeps it in localStorage until then, so that reloading the page does not force the sign-in window open again to be handed a token that is still valid. It is discarded once it expires, and immediately if you disconnect Drive or erase everything. Like the GitHub token below, anything with access to that browser profile can read it while it lasts; it is limited to the drive.file scope, so it reaches the files Typewell created and nothing else. You can revoke it at any time from your Google account permissions page. Data handled by Google under your own account is governed by Google's Privacy Policy.

The sign-in helper. Google issues a browser-only application an access token lasting about an hour, and will not issue the long-lived credential that would let the page renew it quietly — redeeming that credential requires a client secret, which a public HTML file cannot keep secret. So that Drive does not ask you to sign in again every hour, this site runs one small service at https://auth.typewell.net which holds that secret and exchanges Google's sign-in codes for tokens. It never receives a note, a title, or any part of what you write. Your notes travel from this browser directly to Google's Drive API and do not pass through it. What it necessarily handles is the sign-in codes and tokens themselves, plus the IP address of the request, as any server sees. It keeps no database and stores nothing between requests; it runs on Cloudflare Workers, which may log requests as its infrastructure provider. We keep error reports there for a few days so that we notice when it breaks, and we deliberately switch off the per-request log, because that log would record the full address of every request and Google's sign-in code travels inside one. The long-lived credential is kept in your browser, not by us, and pressing Disconnect asks Google to revoke it immediately. Its complete source is auth-worker.js — about 120 lines, and you can read every one of them.

Sharing a note by link

Share a link makes a read-only link to one note. The note itself is compressed and placed in the part of the web address after the #, which browsers never send to any server. Nothing is uploaded, no copy is stored anywhere, and typewell.net receives nothing — neither the note nor the fact that you made a link at all. The same is true when someone opens one: the note is unpacked from the address in their own browser.

Worth knowing: because the link is the note, anyone who obtains the link can read that note. There is no password on it, no expiry, and no way to withdraw it once sent — deleting the note in Typewell does not affect a link already shared. Wherever you send it (e-mail, a chat app, a message) that service handles the link, and therefore the note, under its own privacy policy. Treat a share link the way you would treat handing someone a photocopy.

GitHub Gist

If you supply a GitHub personal access token, Typewell writes a single JSON backup file to a secret gist in your account — unlike the Markdown in Drive, that file is an exact copy. The token needs only the gist scope. Data held by GitHub is governed by GitHub's Privacy Statement.

Worth knowing: the GitHub token you enter is stored in your browser's localStorage alongside your settings, so that backups keep working between visits. Anything with access to that browser profile can read it. Issue the token with the gist scope only, and revoke it from your GitHub settings if the device is shared, lost, or no longer yours. A secret gist is unlisted, not private — anyone given its URL can open it.

5. Third parties your browser contacts

Typewell itself sends nothing, but loading any web page involves requests to whoever serves it. For transparency, this is the complete list:

ServiceWhenWhat it necessarily sees
Google Fonts Every visit Your IP address and browser user-agent, as with any file fetched from another domain.
GitHub Pages Every visit Hosting provider for the site; GitHub may log requests as described in the GitHub Privacy Statement and its Pages data-collection note.
Cloudflare DNS Name lookups only Cloudflare is the authoritative DNS provider for typewell.net, so it answers the query that turns the domain into an address. The records are unproxied, so page requests go straight to GitHub and Cloudflare does not see them.
Google Identity Services Only when you connect Drive The sign-in script is not loaded at all unless you start connecting Drive.
Typewell sign-in helper Only when you connect Drive, and roughly once an hour while it is on The Google sign-in codes and tokens for your Drive permission, and your IP address. Never a note. Runs on Cloudflare Workers; see section 4.
Google Drive API Only while Drive backup is on The Markdown files it writes into the folder you asked it to keep.
GitHub API Only while gist backup is on The backup file you asked it to write.

None of these are analytics or advertising services, and none of them receive your notes except the two backup destinations you connect yourself — the sign-in helper included, on the rare deployments that run one. If you would rather not contact Google Fonts at all, download index.html and open it from your own disk — Typewell runs perfectly from a file:// URL, and the fonts simply fall back to your system's.

6. Cookies

Typewell sets no cookies, so there is no cookie banner to dismiss. localStorage is used instead, purely to hold your own notes and settings as described above.

7. Deleting your data

Because we hold nothing, there is nothing for us to delete and no request for you to send. You are always in full control:

8. Children

Typewell is suitable for general audiences and collects no personal information from anyone, children included.

9. Changes to this policy

If this policy changes, the date at the top will change with it, and the edit will be visible in the project's public commit history — so you can see exactly what changed and when.

10. Contact

Questions or concerns are best raised as an issue on the project's issue tracker, where the answer is public and useful to everyone.