Skip to content

Cookies

22 October 2026. In production the cookie names below are prefixed with __Host-. On a local HTTP site the prefix is omitted, because that prefix requires HTTPS.

Cookies

Every cookie below is strictly necessary to provide a service you asked for: signing in, keeping you signed in, protecting forms from cross-site submission, and finishing email verification. Under the Privacy and Electronic Communications Regulations these do not need your consent, so there is no cookie banner. All are first-party, use SameSite=Lax, are limited to the path /, are sent only over HTTPS in production, and are not shared with any other site.

  • peermark-session. HttpOnly. Signed session for your account. It lasts 1 day, or 30 days if you choose remember-me. Activity can refresh it, but it cannot last beyond 30 days, or 90 days with remember-me. It does not contain your email address.
  • peermark-csrf. Not HttpOnly. A token your browser sends back on account changes, so another site cannot submit a form as you.
  • peermark-admin-csrf. Not HttpOnly. A separate token for console changes. Signing out of the console clears it. It is not the account token.
  • peermark-pending-verification. HttpOnly. Identifies an account that is waiting to verify its email, for 1 day. It is not the verification link itself.
  • peermark-admin-session. HttpOnly session for the console. Same lifetime rules as the account session.

Browser storage

Signing out clears peermark-user only. The other browser-storage entries in this section stay in this browser until you clear site data for this site, or until a wallet reset removes the wallet entries it wrote. This page does not state a retention period for them, because the code does not set one, except where a lifetime is named below.

IndexedDB

  • peermark-keystore, object store wrapping-keys. A non-extractable browser key. It unwraps the signing-key blob below. It is not the signing key itself.

localStorage

  • peermark-user. A cache of account fields so other tabs can see that you signed in or out: account id, email, name, profile image address, wallet address, wallet type, a key reference, and whether email or an authenticator is enabled. It does not include the password or the private signing key. Signing out removes this key.
  • peermark:signing-key: The master signing key, encrypted, one entry for each account and device credential. It cannot be read without the wrapping key in peermark-keystore.
  • peermark:device-share: An encrypted device-share envelope, kept for recovery on a new device.
  • peermark:device-share-v2: The newer encrypted device-share envelope, also for recovery on a new device.
  • peermark:device-metas: A list of device credentials saved in this browser.
  • peermark:wallet-state: A cache of wallet status for this account, including the public key reference. It does not hold the private signing key.
  • peermark-notifications- and the older key peermark-notifications. A cache of notifications for the signed-in account. The newer key ends with the account id.
  • peermark-preferred-currency. The display currency chosen for prices.
  • peermark-display-currency. The display currency chosen on the withdraw page.
  • peermark:wallet-share-scheme: Whether this browser has recorded a legacy or BRC-140 backup form.
  • peermark:recovery-phrase-retired: The time this browser recorded that an older backup phrase was retired.
  • peermark:share-upgrade-pending: A marker that a backup upgrade still needs to finish on this browser.
  • peermark:reserved-outpoints: Outpoints this browser has set aside for a payment that is still in progress. The code drops an entry after 24 hours.
  • peermark:brc29-payments: Payment references this browser is tracking for a connected wallet.
  • peermark.betaCredit.shownTxid: The transaction id of a welcome gift already shown, so it is not shown again.
  • peermark.betaCredit.internalized: The transaction id of a welcome gift this browser has already taken into the wallet.
  • peermark_admin_session. A console sign-in cache: who is signed in to the console, and when that cache expires. It is not the HttpOnly console cookie.

sessionStorage

These are kept for this tab. Closing the tab drops them.

  • peermark:session-ticket:v1: A signed ticket so a reload can skip a device prompt for up to 8 hours. It does not hold the signing key.
  • peermark.register.checkpoint.v1. Registration progress for this tab. It may include transaction ids and an encrypted owner envelope. It must not contain the content key.
  • peermark:title-txid: A transaction id for a transfer being built in this tab.
  • peermark:title-txid-mismatch: A transaction id the network returned that differed from the one you approved, kept so this tab does not offer a second broadcast.
  • peermark:licence-payment: The transaction id and approval for a licence payment this tab has broadcast, kept so an interrupted confirmation can finish without a second payment.
  • pm-view: The last time this tab counted a view of a public asset, so the same view is not counted again within 30 seconds.

What is not set

The public site does not load a third-party analytics SDK, so this page does not list analytics cookies. See the privacy notice for the account and newsletter data stored on the server. Browser storage holds only what the service needs to work, and none of it is used for advertising or tracking across sites. If we ever add analytics, advertising or any non-essential storage, we will ask for your consent first and list it here.