02
What Laver keeps in your browser
Apart from the cookie in section 01, none of it is a cookie: it is local storage and session storage, which stay on your device and are never sent automatically with a request the way a cookie is. Local storage survives closing the browser; session storage is thrown away when the tab closes, and each entry below says which it is.
Signing in
laver.session— who you are signed in as and when that session runs out. It is a note, not a key: it proves nothing and is never sent anywhere. The app reads it to know whose name and pictures to draw before the first reply from our servers arrives. Removing it sends you back to the login page.token— nothing writes this any more. It used to hold your session as a signed token, before that moved into the cookie in section 01; it is named here only because Laver deletes it from browsers that still have one left over.twofa_token— session storage. Held for the few seconds between your password being accepted and your two-factor code being entered, and only then.laver.pending_verification— session storage. Set only between signing up and verifying your email, so the "resend" button knows where to send it.
Unsent work
laver.offline-queue— edits you made while your connection was down, held until they can be sent. Only ordinary content edits are ever queued: never a password, never a payment, and never a deletion. Each entry is stamped with the account that made it and is only ever replayed for that account.laver:wiki-draft:…— a local draft of a wiki page you are editing, so closing the tab by accident does not lose it. One entry per page, keyed by the page's id.laver.quick_note_draft,laver.quick_note_draft_document— the quick note you have started but not saved, and which page it belongs to.
Where you were
current_workspace_uuid— the workspace you were last in.laver:last-board:…— the board you were last on, per account and workspace, so opening the app returns you to it.laver.board_scroll,laver.last_viewed_task— session storage. Where you were on a board and which ticket you had open, so going back does not jump you to the top.laver.wiki-last-page— the wiki page you were last reading, for up to ten workspaces, so returning to the wiki opens it where you left rather than at the top.laver.app-tabs— which tabs you have open inside Laver. Session storage, so each browser tab keeps its own, with a copy in local storage in the installed app, which starts a new session every time it is launched.
Remembering how you left things
dark_mode,laver.theme,laver.oled— light or dark, which palette, and whether dark mode goes all the way to black for an OLED screen.laver.sidebar-collapsed,laver.sidebar-width,laver.wiki-tree-collapsed,laver.split-pane-width— whether the sidebar and the wiki tree are collapsed, and how wide you dragged each one.laver.wiki-page-width,laver.wiki-page-layout,laver.wiki-word-count,laver.wiki-outline— how this device likes to look at a wiki page: how wide the column of text is, whether page breaks are drawn across it, and whether the word count and the outline of the page's headings are on screen while you write.laver.board-header-collapsed— whether you folded a board's header down to its row of controls to give the columns more of the screen.laver.task-detail-mode,laver.task-detail.modal.geometry,laver.task-detail.panel.geometry,laver.task-detail.comments-open,laver.task-comments-width,laver.task-history-dialog.geometry,laver.sprint-dialog.geometry,laver.wiki-history-dialog.geometry,laver.quick-note.geometry— the size, position and layout you last gave each panel and dialog.laver:video-player— the volume, mute and playback speed you last set on a video attachment, so the next one you open does not start at full volume.laver.board-stats-layout— which statistics cards you arranged where on a board's stats view.laver.notifications-filter— the filter you last chose in the notifications list.laver.desktop-notifications— whether you asked this browser to show new notifications on your desktop while Laver is open.laver.open-ticket-on-create,laver.shortcut-options— whether a new ticket opens as soon as it is created, and your keyboard shortcut preferences.run_status_expanded,run_status_width,run_status_height,run_status_position,run_status_dismissed,run_status_collapsed_boards,run_status_window— whether the agent run panel is open, how wide and how tall, the corner you dragged it to, the run you closed it on, which of the boards it lists you have folded away, and how far back the figures on it go.whats_new_seen_version— the last release whose "what's new" note you have seen, so you are not shown it twice.
None of the entries in those last two groups identifies you. They are interface preferences, and the worst that happens if you clear them is that windows go back to their default size.
Asking not to be counted
analytics_opt_out— set only if you ask for it, by opening any of our public pages with ?analytics=off in the address. While it is there, this browser is left out of the visit counts described in section 04, including the visit that switched it on. Opening a public page with ?analytics=on removes it. It is local storage rather than session storage so that the choice survives closing the browser and does not have to be made again in every tab.
It holds nothing but the choice itself, and clearing it only means visits are counted again in the way section 04 describes.
03
How you arrived here
One entry is not an interface preference and is not needed to sign you in, so it is listed on its own rather than folded in above.
marketing_attribution— session storage, set on our public pages. It holds the page you landed on, the host of the site that linked you (never the full address) and a campaign name if the link carried one. If you then create an account, those three values are sent with the sign-up so we can tell which pages bring people to Laver. It is deleted when the tab closes, whether you sign up or not.
It holds nothing about you, is never read by anyone else, and does not follow you to another site. Clearing it, or using a browser that blocks session storage, changes nothing about how Laver works for you.
04
How we count visits without a cookie
We do count page views on our public pages, and we do it without
storing anything on your device — the one exception being the analytics_opt_out entry above, which exists only
because you asked to be left out. Each view records the path,
the host of the referring site, a campaign source if the link
carried one, and a hash.
The hash is built from the current date, a server-side secret, your IP address and your browser's user-agent. It lets us see two views on the same day as one browser; it changes at midnight, so views on different days cannot be joined, and it cannot be turned back into an IP address. There is no third-party analytics service involved. Our Privacy Policy covers this in more detail.
05
Other people's cookies
When you pay for a subscription you are sent to Stripe's own checkout to enter your card details. Stripe sets its own cookies there, under its own policy, to process the payment and prevent fraud. That happens on Stripe's pages, not ours.
Links out of Laver — to documentation you have written, or a site somebody has referenced in a ticket — go to sites with their own rules. We have no control over those.
06
Clearing it
Your browser's "clear site data" for laver.app removes everything above. You will be signed out, the interface returns
to its defaults, and any edits still waiting in the offline queue
are lost — so reconnect and let them send before you clear it.
Signing out asks our servers to delete the session cookie and end the session behind it, then clears your cached data here. It deliberately keeps unsent offline edits, because they are your work and signing out is not a reason to bin it. They are stamped with your account and will not be replayed for anyone else.
Blocking cookies for laver.app will stop Laver working:
there would be nowhere to keep your session, so you could not stay
signed in. Blocking local storage as well leaves the app with nowhere
to hold your unsent work or your interface preferences.
07
Changes, and how to reach us
If this changes — particularly if we ever introduce anything that would need your consent — we will update the effective date above and say so plainly before it takes effect.
Developyn Ltd, Cradley Enterprise Centre, Maypole Fields, Cradley, Halesowen, B63 2QB. support@developyn.com.