Privacy
What Klott knows about you.
Not much, and this page says exactly what. It is written from the code that runs Klott rather than from a policy template, so everything below is a description of behaviour you can point at, not a promise about intent.
Last updated 29 July 2026.
The short version
- You can open Klott and write without giving us anything. No account, no email, no sign-up wall.
- What you type is kept in your browser first. The server only gets a copy once you save a Klott that is meant to be shared.
- An email address is asked for at one moment only: the first time you save or open a Klott on the server. It is used to prove the document is yours.
- Documents are private by default. Reading one from the server requires a verified email that is on that document’s collaborator list.
- Pages you publish count views as a bare number. No cookie, no visitor id, no location, no device profile.
- Klott sets no cookies of its own. Google Analytics runs on klott.cc and sets its own, and that is described below.
- Nothing you write is sold, shared with an advertiser, or fed to a model for training.
What stays on your device
Klott is local first. Almost everything the app remembers about you lives in your browser’s local storage under the klottle. prefix, and never leaves the machine unless you save a Klott to the server.
Your writing, before it is saved
Every keystroke in the editor is written to a local draft roughly every 400 milliseconds, well before any autosave to the server fires. That draft is a lifeboat: if you type into a fresh Klott and refresh the tab, your words come back from your own browser. Recently opened Klotts are also mirrored locally so the editor can paint instantly instead of showing a loading state, capped at the 50 most recent.
Your preferences
Theme, mood, the mode a page opens in, panel widths and pinning, sort order, view mode, your page list and its folders, tags and ordering, the last Klott you had open, dismissed update notices, export options, chosen effect and sticker. The homepage mood and mode you pick are stored as klottle.homepageMood and klottle.homepageMode so the site looks the same next time you arrive. These are settings, not a profile, and they are never sent anywhere.
Your signed-in identity
Once you have verified an email, the address and its session token are stored locally under klottle.accounts so you are not asked again on every save. You can be signed in to several addresses at once. Signing an account out removes it from that list.
Offline shell
A service worker caches the app shell and static assets so Klott can start without a network. It deliberately never caches anything from the API, so nothing you wrote is stored in that cache.
Clearing your browser data for klott.cc clears all of it. Local storage is not encrypted by the browser, so anyone with access to your computer profile can read it, the same as any other site’s data.
What the server stores
Klott runs on ordinary shared hosting in Sweden. There is no analytics warehouse and no third party data platform behind it. When you save a Klott, the server keeps:
- The document itself: its HTML content, title, cover image, mood, typography settings, references and doodle strokes.
- A version history for that document, so you can roll back.
- A collaborator record listing the email addresses allowed to read and edit it, with the timestamp each was added.
- An edit lock, holding the name or identifier of whoever currently has the document open for editing, so two people cannot overwrite each other.
- If you organise pages into a folder site, the folder’s name, page order, per page visibility and styling.
That is the whole list. There is no per-document activity log, no record of when you read your own work, and no analytics attached to editing.
Deleting things
Removing a Klott from your list in the app removes it from your device. There is currently no self-serve button that erases the server copy of a document, so if you want a document, a folder or your address removed entirely, write to hello@klott.cc and it will be deleted by hand. Being able to do this yourself is on the list.
Your email address
Klott asks for an email at exactly one moment: when a Klott needs to exist on the server, because you want to share it, open it on another device, or invite someone to edit it. Writing locally never requires one.
How verification works
You type an address, the server emails you a six digit code, and you type it back. The code itself is never stored. Only its hash is written to disk, in a file named after a hash of your address, and it expires after ten minutes. You can request at most one code every 30 seconds, five per hour per address, and five per hour from the same network address. On success the server issues a session token, stores only the hash of that token, and pairs it with your address. The token expires and is pruned automatically.
Where the address itself lives
Your address is stored in readable form, not hashed, because the whole point is to check it against a document’s collaborator list. It appears in the session token record, in a users table, and in the collaborator file of every document you own or have been invited to. It is used only for that check, and to send you the sign-in code. Klott does not send marketing email and there is no mailing list attached to signing in.
One thing worth knowing: a document’s collaborator list is currently readable by anyone who has that document’s link, which means the addresses of the people who can edit it are visible to anyone holding it. If you share a Klott, share it with people you are comfortable being visible to. Tightening this is a known task.
The waitlist
If you join the waitlist, the address you submit is stored so you can be told when Klott launches, along with a timestamp and a hash of your network address used only to stop the form being flooded. The raw address of your connection is never written down. Submitting twice is a no-op.
Feature requests
The feature request form sends what you wrote, plus your name and address, to the Klott inbox as an email so there is someone to reply to. It is not stored in a database.
What other people can see
Private by default
A saved Klott is private. Reading it from the server requires a verified address on its collaborator list, and a request without one is refused. Social preview images for private documents are deliberately generic: the preview endpoint always returns the plain Klott card and never renders your title or your name, so a link pasted into a chat app does not leak the contents.
Published folder sites
When you publish a folder as a site, its pages are rendered publicly at their address: the title, description, cover image and the content of each page you marked public. Pages you mark hidden are not rendered. Every page of a published site also carries an author byline in its footer: the display name you set on your profile and, when you have picked one, the emoji you chose as your profile picture. That byline is resolved on the server from your profile, so it is the display name and nothing else. If you have not set a display name the byline reads Anonymous, and if you have set neither a name nor an emoji no byline is rendered at all. Your email address is never put on a published page, not even the part before the at sign. Published sites are crawlable by search engines, which is the point of publishing.
Discover
Discover only contains work whose owner explicitly listed it. Nothing appears there because it was published, or because it got popular, or by default. A listed card shows the title, a snippet, mood colour, category, cover image, view count, a display name and, when you have picked one, the emoji you chose as your profile picture. That display name is the one you set on your profile. If you have not set one, it falls back to a tidied version of the part of your address before the at sign, so if you would rather not see something resembling your address on a card, set a display name before listing. The profile emoji is only ever the emoji itself, never an uploaded picture, because Klott has no image upload for profiles; clear it in the editor and the cards fall back to a generated initial. The raw address is never put on a card, and the author key used for filtering is a one way hash. Unlisting removes the card.
View counts on shared pages
Pages you publish count views, so you can see whether anyone read the thing. What gets written down for a view is a single number: the moment it happened, in UTC. Nothing else.
No address, no hash of an address, no visitor id, no cookie, no referrer, no browser string, no country, no device class.
The consequence is honest and worth stating: because nothing identifying is kept, Klott cannot tell you how many unique people visited, and cannot tell you who they were. That is the trade, and it was made deliberately. A design existed for approximate unique counts via daily salted address hashing, plus country and device lookups. It was not built.
Counting is done by the server as it renders the page, so there is no tracking script in the page and nothing runs in the visitor’s browser. To stop a refresh inflating the number, the server keeps an empty marker file for about a minute, named after a hash of the visitor’s network address combined with the page. It holds no content, it is swept away shortly after, and it is never joined to the view log. The same technique caps how often the stats endpoint can be called. Counts older than about a year are dropped a whole month at a time.
Only the owner can read the numbers, and only for their own pages, with a verified address.
Other companies
The list is short, and none of it is a data broker, but it is not empty and pretending otherwise would be the wrong way to write this page.
Google Analytics
klott.cc loads Google Analytics 4. It runs on the main site only and is skipped entirely on staging and on a local install. It sets its own cookies and reports page views to Google in the ordinary way, which means Google receives your network address and browser details when you browse the site. It is used to see which pages people read. Pages you publish under a folder site are rendered by a separate path that does not include it, so your readers are not measured by Google on your behalf. A browser extension or tracker blocker stops it, and nothing on the site breaks when it is blocked.
Fonts
The fonts the app and marketing pages use are bundled with the site and served from the same server, so no font request goes to Google. The one exception is a published folder site where the owner chose a Google font for it: that site then asks Google for the font file, and the visitor’s browser makes that request.
Features that fetch something when you use them
- Maths typesetting, citation styles and the Python sandbox load their libraries from the jsDelivr public code network the first time you use those blocks.
- The location and map blocks look up place names through OpenStreetMap’s Nominatim service, which receives the coordinates or the search text you typed.
- Embeds you add yourself, such as a video, a track, a Figma frame or a dashboard, load from that provider and are subject to their terms, exactly as they would be on any page.
None of these run unless you use the feature that needs them, and none of them receive your document.
Email delivery
Sign-in codes and invitations are sent through the mail server of Klott’s own hosting provider. There is no third party email marketing service in the loop.
Connecting an AI client
Klott can act as a connector so an AI client you use can read and write your Klotts on your behalf. This does nothing until you connect it, authorise it and grant it scopes, and it can be revoked. If you do connect one, the content it reads goes to that client’s provider under their terms, not Klott’s.
Cookies
Klott itself sets none. Not for sign-in, not for preferences, not for measurement. The API is stateless: requests carry your session token in a header, which is why there is no cookie banner on this site.
Google Analytics sets its own cookies on klott.cc, as described above. Blocking them has no effect on the app.
Things Klott does not do
- It does not require an account to write.
- It does not sell or rent anything about you.
- It does not use what you write to train a model.
- It does not build an advertising profile, and carries no ad network.
- It does not track visitors across sites.
- It does not record who read a page you published.
- It does not store your network address in readable form anywhere.
- It does not read your documents to produce recommendations.
If you run it yourself
Klott can be self-hosted on your own server, in which case none of the above involves us at all: the documents, the addresses and the view counts live on your machine, and the analytics on klott.cc is not part of what you install. The guide covers it.
Questions, corrections, deletions
Write to hello@klott.cc. That is a person, not a queue. If something on this page turns out to be wrong, say so and it gets fixed here rather than explained away.
When this page changes in a way that matters, the date at the top changes with it.