The short version
Cashboard is local-first. The web app at cashboard.live and Cashboard Desktop keep boards on your own device. Optional B Cash access works without sign-in during an open access window, and otherwise through a one-hour trial or a lifetime license after sign-in; it does not upload or synchronise boards. Widgets still ask providers for live data. The list gives the summary and the sections after it give the detail.
| Stored on your device | Boards, with every address, amount, note and setting on them. On the web that is one entry in your browser's local storage for cashboard.live. On desktop it is a local database file. Neither is encrypted. |
|---|---|
| Never asked for | A seed phrase or a private key. Widgets ask for public addresses, and the desktop Connections tab asks for provider credentials only. |
| Sent to data providers | The request each widget needs: coin ids, stock tickers, token addresses and, for watch-only widgets, the public address you added. The provider sees the request and your IP address. |
| Sent to cashboard.live | Web only. Some lookups pass through relays on cashboard.live on their way to the provider, including EVM and Solana wallet addresses. The desktop app has no relay. |
| Page views | Web only. Vercel Web Analytics counts page views and reports the page address, which can include the part after #. Cashboard builds no advertising profile. |
| Third-party code | Web only. Jupiter provides the Solana swap form and LI.FI provides the Base and Robinhood Chain form. Your wallet signs after you review and confirm. |
| Purchase records | Lifetime access checkout stores the paying wallet address, a hash of your recovery secret and the payment details in a hosted database that its functions on cashboard.live write to. It asks for no name and no email. |
What is stored on your device
Everything in the table stays on the device you use. Cashboard holds no server copy of your boards, so a lost browser profile or a deleted data folder loses them unless you exported a file first.
| Item | Web app | Desktop app |
|---|---|---|
| Boards | One entry in your browser's local storage for cashboard.live that holds every board. | A database file, cashboard.sqlite, in the app's data folder, with one row per board. |
| Interface choices | A few small entries: whether the tool panel is collapsed, which Add groups are folded and whether you finished the first-run template picker. | The same choices, in the app window's own local storage inside the data folder. |
| Workstation library | Saved layouts and widget presets, in one separate local storage entry. No cloud copy. | The same, in the app window's local storage inside the data folder. No cloud copy. |
| Agent | Conversation and watch history in local storage per board when access is active. Private development tokens remain in session memory. | Conversation and watch history in local storage in the app window per board when access is active. Private development tokens remain in session memory. |
| B Cash account | A server-set HttpOnly refresh cookie when sign-in is configured, with a local signed-out preference, and a random device id for open access. Access credentials are not saved in browser local storage. | Session credentials behind the main-process bridge; Remember my account saves the refresh credential using operating-system encryption only when secure storage is available. |
| Saved provider connections | None. The web build cannot save provider keys. | provider-settings.json in the data folder, encrypted with your operating system's secure storage. |
| Embedded sites | Nothing is saved by Cashboard. An embedded dashboard runs in a sandboxed frame, and its page can keep its own cookies or local storage under its own site, subject to your browser's third-party storage rules. Any other Web app widget keeps an address card and opens the site in a new tab. | One isolated session per Web app widget, holding that site's cookies, local storage, caches and logins, in the data folder. |
| Checkout | A random buyer id and, once you start a purchase, the request id, the recovery secret and the transaction id, so the page can resume. | None. Checkout runs on the website. |
| Jupiter plugin | Whatever Jupiter's script saves in local storage, under its own prefix. Cashboard does not document what that is. | None. The plugin does not run on desktop. |
| LI.FI swap form | Whatever LI.FI's form and the wallet library behind it save in local storage. Cashboard does not document what that is. | None. The form does not run on desktop. |
| Cookies | Optional account sign-in sets a Secure, HttpOnly, SameSite=Lax refresh cookie. It is not an advertising cookie. | Cashboard account sign-in uses the private bridge rather than a web refresh cookie. Sites in Web app widgets set their own cookies inside that widget's session. |
When a browser blocks local storage, a board survives only in the open tab. Cashboard shows the warning Browser storage is unavailable. Changes will last only in this tab; export the board from Commands before closing it.
Account sign-in, when configured, processes your verified email and account/session identifiers through WorkOS and Cashboard. The server stores a hashed account-to-license binding and bounded AI usage metadata, described below. This does not add board sync or general desktop usage analytics.
What Cashboard never asks for
No part of Cashboard asks for a seed phrase or a private key. Watch-only widgets ask for a public address, and that is all they take.
- The address box in
Perps positionsdeletes text that looks like a private key or a recovery phrase and saysRemoved: that looked like a private key or seed phrase. This widget only needs a public address. - The desktop
Connectionstab takes provider credentials only: a CoinGecko Demo key, a Blockscout URL and key, a Coinbase RPC URL and a Dune key. It warnsOnly provider credentials belong here. Never enter a seed phrase, wallet private key, or exchange trading secret. - The
PortfoliobuttonConnect browser wallet · account access only(orConnect Solana wallet · account access only) appears when your browser has a wallet extension. It asks the wallet for your public address and, on EVM networks, the current network. It requests no signature and no transaction. - Checkout asks for the public address you will pay from. It does not connect to your wallet.
- Cashboard has no field for broker or exchange credentials.
Saved connections stay out of the window
On desktop, the window that shows your boards never receives a saved key back. After you press Save, the main process, the part of the app that runs outside the window, encrypts the value with your operating system's secure storage. The window learns only whether a connection is set up and whether its value was saved or came from the environment. The field empties and the value is not shown again. Test and every data request run in the main process with the stored value. When the system offers no secure storage, or only basic text storage, Save is refused and nothing is written in readable form.
A connection value is sent only to the provider it belongs to and never to cashboard.live. One case to know: Smart money reads Base, Ethereum and Robinhood Chain through api.blockscout.com whenever a Blockscout key is set up, so that key goes there whichever Blockscout URL you saved. A share link and an exported file do not carry connections, because they are not part of a board. See Connections.
Agents and MCP servers on desktop
Both MCP features are off until you switch them on. The Agents (MCP) server listens on 127.0.0.1 only and lets a program on your computer, such as Claude Desktop, read your boards after you approve it. Public data covers the board layout, alerts and public market readings, with no addresses, note text or web addresses. Read private board data adds those, and they then travel to whatever model that agent uses, which Cashboard does not control. Cashboard sends none of this anywhere itself. A server you add under MCP servers receives only the tool name and the arguments you saved in its widget, and what it returns is shown as text and never sent to B Cash or any model. A local command server runs on your computer with your user rights. Share links and templates remove the server binding. See Agents and MCP servers.
Signing and moving funds
Cashboard's own code never builds, signs or sends a transaction, and no widget holds your funds. On the web, two swap forms that come from other projects can ask your wallet for a signature: Jupiter's on Solana and LI.FI's on Base and Robinhood Chain. Your wallet signs only after you review and confirm the route and any token approval. See the Jupiter plugin, the LI.FI form and Trading.
What leaves your device
A widget that shows live data has to ask a provider for it, and the provider sees that request, including your IP address. What differs between the builds is the route. On the web your browser makes the requests, and some of them pass through relays on cashboard.live, which is served by Vercel. On desktop the app's main process makes them directly, and no relay is involved.
What each input reaches
| What you enter | On the web | On desktop |
|---|---|---|
A wallet address in Portfolio (EVM networks) | To cashboard.live, in the request URL, which asks the network's Blockscout host. | From the app to the network's Blockscout host, or to your saved Blockscout URL with its key. A saved Coinbase RPC is asked when Blockscout fails or does not cover the network, and it returns the native balance only. |
A Solana address in Portfolio | To cashboard.live, in the request body, which forwards it to a Solana RPC provider. Token mint addresses, not your address, go from your browser to DexScreener. | To a public Solana RPC, api.mainnet.solana.com by default. Token mint addresses, not your address, go to DexScreener. |
An address in Perps positions | Straight from your browser to api.hyperliquid.xyz. | Straight from the app to api.hyperliquid.xyz. |
Wallets followed in Smart money or Smart money graph | Solana wallets go to cashboard.live and on to a Solana RPC provider. Base and Ethereum wallets go straight from your browser to the public Blockscout hosts. Robinhood Chain wallets are not read, because that needs a Blockscout key. For Solana, the mint addresses of the tokens they traded, not the wallets, go from your browser to Jupiter for names. | Solana wallets go to PublicNode, a public Solana RPC, and the mint addresses of the tokens they traded go to Jupiter for names. EVM wallets go to Blockscout: to api.blockscout.com when a Blockscout key is set up in Connections, otherwise to the public hosts for Base and Ethereum. Robinhood Chain needs the key. |
The account in Swap fees | To cashboard.live, which forwards it to a Solana RPC provider. Token mint addresses go from your browser to Jupiter for names and prices. | To PublicNode, a public Solana RPC. Token mint addresses go to Jupiter for names and prices. |
The addresses already in your Portfolio and Perps positions widgets, read by Net worth | Net worth has no route of its own. It sends those addresses to the same places as the widgets it adds up. | The same places as the widgets it adds up. |
A token address or search text in Token terminal | Straight from your browser to GeckoTerminal. | From the app to GeckoTerminal. |
A query id in Dune query | Not available. The widget runs on desktop only. | From the app to api.dune.com, with your Dune key in the request header. |
Coins in Prices, Watchlist, Price chart, a manual Portfolio and the price rules of Price alert | Coin ids to cashboard.live, which asks CoinGecko and falls back to Binance for 12 coins. Amounts and thresholds stay put. | Coin ids to CoinGecko, with Binance as the fallback for 12 coins. A CoinGecko Demo key you saved travels with these requests. |
Stock tickers in Stocks and Paper trading | Tickers to cashboard.live, which asks Yahoo Finance. | Tickers to Yahoo Finance. |
| Notes, widget titles, the board name, manual amounts, paper-trade sizes and alert thresholds | They stay on your device. No data request includes them. You send them only by sharing a link or a file. | They stay on your device. No data request includes them. You send them only by sharing a link or a file. |
The relays hold no database of lookups: they pass a request on and return the answer. Cashboard does not document how long its hosting platform keeps request logs, and an EVM lookup carries the address in the request URL. The answer to an EVM lookup is marked as cacheable by shared caches for 45 seconds, with a stale copy allowed for up to 120 seconds more while it refreshes. Portfolios and wallets covers the watch-only widgets in more detail.
Besides those relays, the web build passes a fixed list of public feeds through cashboard.live because their providers do not allow requests from a browser, for example Kalshi, Aster, pump.fun and Yahoo Finance charts. Every other provider is asked straight from your browser. Data sources names the provider behind each widget.
Live streams and images, on both builds
- Live prices, trades, liquidations and new launches arrive over WebSocket connections that your browser, or the app window, opens straight to the provider: Binance, Hyperliquid, Lighter, Bybit, OKX, PumpPortal and PublicNode. They name the markets you follow and carry your IP address. They do not carry wallet addresses.
- Token logos and event images load straight from a fixed list of image hosts, among them CoinGecko, GeckoTerminal, DexScreener, IPFS gateways, X profile images, Robinhood, Coinbase, DuckFacts and the DuckDuckGo favicon service. Each host sees your IP address and which image you asked for, as any site serving an image does. An image from any other host is not loaded, and the widget shows a monogram instead.
On desktop
- The app's main process makes market-data provider requests; the window opens live streams and images. Account sign-in and opted-in B Cash planning or analysis use Cashboard's server, as described below. Market-data reads do not use the web build's portfolio relays.
- An installed buyer build sends no crash report and no usage data, and by default it does not check for updates. Its update panel offers
Open secure download page, where you fetch a newer installer with your recovery code. See Desktop. - A
Web appwidget, added withCustom app, loads the site you type, and that site receives what any browser sends it, your IP address included. Each widget has its own isolated session. The app denies every permission request from these sites, such as camera, microphone, notifications and location, and it cancels downloads. See Board tools.
Page views on the web build
The web build counts page views with Vercel Web Analytics. The script loads from cashboard.live itself, on the landing page and in the dashboard. For each page view it reports the page address and, when you arrive from another site, that site. The documentation, guide and legal pages load no analytics script. The desktop app has none either.
The page address can include the part after #. That is where a share link keeps its board, so when a share link opens on the web build, the script sends the full address, board included, to Vercel's analytics endpoint on cashboard.live. Treat a share link as public. Templates and sharing explains what a link holds.
Checkout sits on the landing page, so its page views are counted too. Checkout keeps your recovery code and your wallet address out of the page address.
Cashboard builds no advertising profile. Optional B Cash sign-in has its own account session and refresh cookie; those are separate from page-view analytics.
Agent and the workstation library
B Cash access comes three ways: a time-limited open access window without sign-in, a one-hour trial after WorkOS account sign-in, or a linked lifetime license. See Board Agent.
Open access needs no account. The browser or desktop app keeps a random device id on this device (in local storage on the web, in the app data folder on desktop) and sends it to start a session. The server stores a hash of that id, a hash of your IP address and the times of your AI requests for 24 hours, to enforce the 10-request daily limit and the caps per network and in total. Open-access sessions last at most one hour and end with the window.
WorkOS processes account email and session information for sign-in, configured passkeys and email recovery. Cashboard verifies the signed token, verified email and active session before granting customer AI access. WorkOS and hosting services receive network metadata such as IP addresses for these requests. Their logging and retention depend on their policies and configuration; this page does not promise a deletion schedule for their records.
On the web, the refresh credential is held in a Secure, HttpOnly, SameSite=Lax cookie and is not returned in JSON or placed in local storage. Account access credentials stay behind the API bridge in session memory. Desktop can remember a refresh credential only through operating-system encryption; without secure storage it supports the current session. Sign out clears local access and requests revocation of the verified provider session; an unavailable provider can prevent immediate server revocation.
The first explicit Link lifetime purchase action uses your private CB1 recovery code to permanently associate one license with one verified account. The server stores a hash of the stable account subject and the license identifier in both directions, with no expiry. The old checkout contains no account identity: this first association proves possession of CB1. Subsequent account-only restoration requires the same account, not the code. There is no receipt-only bypass for an already-linked license or automatic reassignment.
Server-issued AI sessions last at most one hour. The server stores token hashes and session metadata, not raw recovery codes or session tokens. A per-license ledger retains bounded model-attempt timestamps across devices for the rolling 24-hour and 30-day allowances (20 and 300 attempts by default). Disconnecting or renewing a session does not reset it. The account binding and confirmed purchase remain so lifetime access can be restored; clearing your device does not remove those server records. Contact support for an account or purchase-data request.
In Cashboard Desktop you can plan with your own Anthropic or OpenAI key instead. The key is encrypted with operating-system storage and stays in the main process. The request goes from your computer straight to that provider with the same message, inventory and snapshot rules as Luna, and their terms and retention apply. The web build cannot hold these keys. See Connections.
The morning brief is computed on your device. When you leave a board, a visit record of up to 60 public readings, alert states, connection states and widget ids is kept in local storage, at most 16 KB per board and 50 boards. The brief compares it with the current readings and writes a note on the board; neither the record nor the brief is sent anywhere. The id of the brief note is also kept in local storage.
Conversation and observed watch history stay in local storage per board on both builds; watch settings belong to the board. The Library keeps layouts and widget presets in a separate local storage entry. Clearing site data or the desktop profile removes those local records. Signing in restores access only, with no cloud copy of boards, conversations or the library.
Local planning and watch commands send no prompt to a model provider. Build board with Luna sends your message and a board inventory to the Cashboard server, through Vercel AI Gateway and to OpenAI GPT-6 Luna. The inventory lists up to 200 widgets by type, title, frame and public subject, such as a CoinGecko asset id or a chain, and the links between them. It never includes positions on the canvas, wallet or account addresses, balances, note text, URLs or alert settings beyond the asset, so notes B Cash writes are never sent back to a model. On a board with fresh readings, Build also sends the same bounded snapshot of public readings that Analyze uses. Analyze board sends bounded fresh public readings and selected recent signals with source references. Both exclude wallet/account addresses, manual balances, notes, raw widget settings and chat history. Anything you type in the message is sent, so omit private details and credentials. Authentication headers are verified by Cashboard and are not model input. Gateway keys stay on the server, and the private administrator access token is never a customer credential.
Share links and library layouts include no agent settings, conversation or watch history. A full board export includes watch settings but not the separate conversation, watch history or saved library. Library saving and importing also removes followed wallets and the referral account, and clears note and frame-label text unless you enable its text option. Titles, URLs and event sources remain. See Library.
Local monitoring requests the public data needed by configured widgets, including watched public addresses. Those provider reads are separate from model inputs. Running outside canvas rendering changes when a request happens, not which provider receives an address. Board Agent lists its limits and explains why watching stops when the app closes or the device sleeps. No overnight worker or closed-app push service is included.
The Jupiter swap plugin on the web
The Jupiter swap widget on the web build embeds Jupiter's own swap plugin. It is third-party code: a script that loads from plugin.jup.ag into the page, not a feature that Cashboard wrote.
- When it loads: when a
Jupiter swapwidget is drawn on the canvas. That includes one added by aBuybutton and the one in theTrade Desktemplate. The canvas draws only the widgets in view, so a swap widget far off screen waits until you pan to it. A board you open from a share link can hold one too, and its review screen lists the widget types before you add it. - What it is: a script inside the page, not a separate frame, so it runs with the page's own access. Cashboard hands it the token pair to show and any fee settings, and does not pass it your board. Cashboard does not publish what the script stores or sends.
- What bounds it: the page's security policy admits scripts only from cashboard.live and plugin.jup.ag, plus one fixed start-up script. The same policy lets the page reach Jupiter's API hosts, Google Fonts and the image proxy wsrv.nl.
- What it saves: Cashboard gives it a storage prefix, so whatever it keeps in your browser's local storage sits under that prefix. Cashboard does not document what that is.
- Who signs: your wallet extension signs the swap inside Jupiter's form, after Jupiter shows its routing and fees. Cashboard's own code never builds, signs or sends the transaction. See Trading.
- On desktop it does not run. The widget shows
Swaps run in your browserwith anOpen on Jupiterbutton, andBuybuttons open jup.ag in your system browser. TheLimitandDCAlinks in the widget header open jup.ag with the token pair in the address, on both builds, only when you click them.
To keep the script off a board, do not add the widget, or remove it and reload the page. On the web a Buy button adds a Jupiter swap widget when the board has none, and a script that has loaded stays in the page until you reload.
The LI.FI EVM form on the web
An EVM swap widget (Swap under Base or Robinhood in the Add panel) shows LI.FI's form on the web. The form ships inside the web build, but it is LI.FI's code. It asks LI.FI's API for routes, tokens and prices and connects to an EVM wallet that your browser exposes. WalletConnect is available only when the site was built with its project id. Connecting shares your public address with the form; executing a route needs your own wallet confirmation and can need token approvals. Cashboard does not document every request the form makes once a wallet is connected.
The widget passes the chosen chain, the token pair and any configured integrator fee to the form, not your board. The form and your connected wallet handle the swap, so review the network, token address, approval, amount and fees before you sign. A Buy button in Smart money graph, in another token list or in a shared board can preload a token, but it never submits a trade. When the site is built with a Base builder code, swaps on Base carry that public Cashboard code (ERC-8021) at the end of the transaction data, so anyone can see on the chain that the swap came through Cashboard.
The desktop build does not run this form. The widget shows Swaps run in your browser with an Open on Jumper button, and Buy buttons for Base or Robinhood Chain tokens open Jumper in your system browser. The wallet connection, the signature and the swap then happen on that site. Read EVM swap and Trading.
Embedded dashboards in frames on the web
A Web app widget on the web build shows a page inside the board only when its address is on a short fixed list: DuckFacts widgets (DuckFacts is the Cashboard partner), and from independent sites DefiLlama chart pages, Dune embeds, L2BEAT project pages, TradingView embed widgets, GeckoTerminal pool pages, Hyperscan, HypurrScan and Validator Queue. The Web app entry lists what each card opens. The pages are their owners' own code, shown read-only in a sandboxed frame. Cashboard does not proxy them and cannot read what they show.
- When it loads: when a
Web appwidget with a listed address is drawn on the canvas, up to 3 at a time, and only while the board is zoomed to 60% or more. A board you open from a share link can hold one, so its review screen lists every web address before you add it. An address that is not on the list stays a card that opens in a new tab. - What bounds it: the page's security policy lets it frame only those hosts. The frame can run its own scripts and open links in a new tab, and it cannot navigate Cashboard, submit forms, open dialogs, save files or use the camera, microphone or location.
- What the site sees: your browser contacts the site's server directly, so it sees your IP address and your browser as it would on any visit, and the page address
https://cashboard.liveas the referrer. It receives no part of your board. - What it saves: the embedded page can keep its own cookies or local storage under its own site, subject to your browser's third-party storage rules. Cashboard saves nothing for it. To stop the requests, remove the widget or change its address.
- Desktop: the same presets open in the widget's isolated browser session instead, which the Embedded sites row in the table above describes.
What checkout stores
Lifetime access for the desktop app is bought on cashboard.live. Checkout asks for no name and no email address. Its functions on cashboard.live write the records below to a hosted database so that your payment can be verified and your download restored.
| What you send | The public address of the wallet you pay from, the route you choose, the terms version you accept and the random buyer id your browser made. After you pay, the transaction id. |
|---|---|
| Stored for each request | A request id, a random buyer id made in your browser, the route, the paying wallet address, the exact amount, the creation and expiry times, the terms version and when you accepted it, and for ETH and SOL the price quote used. |
| Stored once you submit a transaction | The transaction id and what the chain showed for it: sender, recipient, amount, confirmations and finality. |
| Your recovery code | It is built from the request id and a secret token. The server keeps only a SHA-256 hash of the token, so the code stays with you. Your browser keeps the request id and the token in local storage so that the checkout page can resume. |
| After a confirmed payment | An access record that links the buyer id, the request and the transaction. A download link works once and expires after 5 minutes. |
| Your IP address | Checkout counts requests per IP address to limit abuse, for example 12 new payment requests per 10 minutes. The counter's key is a SHA-256 hash of the action and the address, and the counter expires after 600 seconds. |
| How long records last | A request that is never paid is kept for 90 days by default, and the production value is not published. A confirmed purchase record has no expiry date, so the recovery code keeps working. |
Who else is involved
- To check your payment, the server asks a chain RPC provider about your transaction. For the ETH and SOL routes it asks CoinGecko for a price, with Binance as the fallback.
- To deliver the installer, the server redirects your browser to a temporary address on GitHub's release-asset hosts (githubusercontent.com), and your browser downloads the file from there.
- Blockchain transfers are public. The paying address, the recipient and the amount are visible on a block explorer whatever Cashboard stores.
Checkout links the Privacy, Terms and Refunds pages and asks you to accept them. The buyer's view of the flow is in Lifetime access. Questions about a purchase go to contact@cashboard.live.
How to remove your data
What removing data means depends on the build. If you want to keep a board, export it first: press Ctrl K on Windows or Cmd K on macOS and run Export this board.
On the web
- 1
Remove a widget
Select it and press Delete or Backspace, or use the bin icon
Removein its title bar. Its settings, such as an address or holdings, leave the board, and the autosave writes that about half a second later. There is no confirmation, andUndobrings the widget back while the page or app stays open. - 2
Delete a board
Open the
Boardstab, point at the board and select the bin iconDelete board. Cashboard asksDelete “<name>”? This cannot be undone.The last remaining board cannot be deleted, and its bin icon does not appear. - 3
Clear everything
In your browser's settings, clear the site data for cashboard.live. That removes every board, the interface choices, the workstation library, any agent history, the checkout buyer id and recovery details, and anything Jupiter's script or the LI.FI form saved.
- A private window normally discards its storage when it closes, so a board made there disappears with it.
- Files you exported and links you sent are outside Cashboard's reach. Delete the files yourself. A link cannot be taken back.
- The checkout page has no control that deletes purchase records from the checkout database. For a question about them, write to contact@cashboard.live and read the Privacy page.
On desktop
- 1
Remove a widget or a board
Use the same controls as on the web. Removing a
Web appwidget, or deleting a board that holds one, also erases that site's cookies, local storage, caches and logins, andUndocannot restore them. Quitting the app does not clear them. - 2
Clear a connection
In the
Connectionstab, select the bin iconClear saved credentialson the card. The saved value is deleted from this computer and the card showsSaved credentials cleared.A value that comes from the environment stays, under the badgePreconfigured. Clearing does not revoke the key at its provider, so rotate or revoke it there if it may have leaked. - 3
Know what uninstalling keeps
Uninstalling the app keeps its data folder. Your boards, saved connections and embedded site sessions stay on disk.
- 4
Delete the data folder
To remove everything, quit Cashboard and delete the app's data folder yourself. The app has no menu entry that opens it and no reset command. It sits in the application data location of your user profile (
%APPDATA%on Windows,~/Library/Application Supporton macOS), in a folder named after the app. Look for the folder that holdscashboard.sqlite. Desktop has more on the data folder.
Before you hand a computer on, clear each saved connection first and then delete the data folder.
What these docs do not say
Some parts of the picture belong to other parties, and Cashboard does not document them.
- What Vercel, which hosts cashboard.live, keeps from request logs and page-view reports, and for how long. Vercel's pages linked above and Cashboard's Privacy page are the places to look.
- What each data provider keeps. Each provider's own policy applies to the requests your device, or a relay, makes to it.
- What Jupiter's plugin and LI.FI's form store or send, including anything that travels through WalletConnect when the site is built with it.
- The production retention setting for unpaid checkout requests. The default is 90 days.
Frequently asked questions
Does Cashboard receive the boards I build?
Boards are saved locally, without cloud sync. Analyze board explicitly sends a bounded snapshot of fresh public readings and selected signals to Cashboard and the model service, excluding notes, wallet addresses, manual balances, raw settings and history. Opening a share link on the web also reports its page address, which holds the shared board, to Vercel Web Analytics.
Does Cashboard see the wallet addresses I watch?
On desktop, no. The app asks the data providers directly and Cashboard runs no relay for it. On the web, EVM addresses in Portfolio and Solana addresses in Portfolio, Smart money and Swap fees pass through relays on cashboard.live on their way to the provider. Hyperliquid addresses, and Base and Ethereum wallets in Smart money, go straight from your browser to the provider. Cashboard does not document how long its hosting platform keeps request logs.
Does Cashboard use cookies, accounts or an advertising profile?
Cashboard builds no advertising profile. Optional B Cash account sign-in uses a Secure HttpOnly refresh cookie on the web. The web build also counts page views with Vercel Web Analytics, Jupiter loads its script and EVM swap shows LI.FI's form. On desktop, a Web app widget keeps the loaded site's cookies in its own session until you delete the widget.
Is the API key I save in Connections stored securely?
It is encrypted with your operating system's secure storage and kept in the app's data folder, and the app window never receives it back after you press Save. It is sent only to its own provider, and a Blockscout key also goes to api.blockscout.com when Smart money reads Base, Ethereum or Robinhood Chain. Cashboard refuses to save a key when the system offers no secure storage or only basic text storage. Uninstalling leaves the saved file in place, so clear the connection first if you hand the computer on.
What does checkout store about me?
The public address you pay from, the route and amount, the terms version you accepted, the transaction details the chain showed, a random buyer id made in your browser and a hash of your recovery secret. It asks for no name or email. It also counts requests per IP address for 10 minutes to limit abuse. Unpaid requests are kept for 90 days by default, and confirmed purchase records have no expiry date.
How do I delete everything Cashboard keeps on my device?
Sign out first. On the web, clear the site data for cashboard.live after saving your purchase recovery code. On desktop, uninstalling keeps the data folder, so quit the app, clear your saved connections and delete the folder that holds cashboard.sqlite. These steps do not remove server purchase/account bindings, usage records or exported files; contact support about server records.
Last checked against the code on . Found something out of date? Write to contact@cashboard.live. Market data comes from the providers named on each widget and may be delayed. Nothing here is financial advice.
Cashboard