Privacy

Last updated 6 September 2026

This describes the hosted service operated by ruma. If you use somebody else's instance, they hold your data and their policy is the one that applies — the code is the same, the operator is not.

What is stored

  • Your account: email address, display name, and a hash of your password. The password itself is never stored — it is hashed with Argon2 and the original cannot be recovered from it.
  • Your plans: everything you write. Titles, node text, tags, structure, and node positions. Each plan is held twice: as the live collaborative document that makes real-time editing work, and as a snapshot of it that lists and exports read.
  • Sessions: a hash of each sign-in token, when it expires, and the browser identification string the request arrived with.
  • API keys: a hash of the key, its first characters so you can tell your keys apart, the name you gave it, and when it was last used.
  • Share links: the link’s token and its expiry, if you set one.

What is not

There is no analytics, no advertising, and no third-party tracker of any kind. Your plans are never used to train a model. Nothing is sold.

One external request does happen: the pages load a typeface from Google Fonts, which means Google sees the address your browser connects from. Self-hosting that font is on the list.

Cookies and browser storage

One cookie, sp_refresh, holds your session. It is set httpOnly, so page scripts cannot read it, and it is the only cookie the service sets. Your light or dark preference is kept in your browser’s local storage and never leaves the machine.

Who can see your plans

  • People in the workspace, limited by the role they were given.
  • Anyone holding a share link you created — read only, and until you stop sharing it.
  • Any agent holding an API key for that workspace.
  • Whoever operates the instance, who necessarily has access to its database. On the hosted service that is ruma.

Connecting an AI agent

When you connect an agent over MCP, whatever that agent reads goes to whoever runs it — Anthropic, OpenAI, or your own machine, depending on the client. That relationship is between you and them, and their policy governs it. Connect an agent to a workspace only if you are comfortable with its provider reading the plans in that workspace.

Keeping and deleting

Data is kept until it is deleted. Deleting a plan removes it and its collaborative document. Revoking an API key stops it working immediately. Self-service account deletion is not built yet; ask on GitHub Issues and the account and everything in it will be removed.

Where it runs

The hosted instance runs on infrastructure operated by ruma. A self-hosted instance runs wherever its operator puts it, and nothing in it reports back here.

Contact

Questions and requests go to GitHub Issues.