Create your first mind map and start branching ideas. Everything saves automatically.
Your mind maps are saved as private JSON files in a repository called mindspark-maps on your own account. This app talks to your git host directly - there's no server in between.
Create a free GitHub account → MindSpark can't create one for you - GitHub only allows signup on their own page.
mindspark-maps repository →
mindspark-maps.Contents → Read and write. Nothing else is needed.A classic token with the repo scope works too and creates the repository for you, so you can skip step 1. The trade-off: repo grants read/write to every private repository you own, so anything that got hold of the token would reach all of them.
https://codeberg.org.
Codeberg and gitea.com work as-is; a self-hosted instance also needs its origin added to
this deployment's Content-Security-Policy, and MindSpark will tell you exactly what to add.
Nobody can pre-register an OAuth app on your server, so you register one once: Settings → Applications → Create a new OAuth2 application on your instance.
Redirect URI (must match exactly):
Leave “Confidential Client” unchecked - MindSpark is a public client and uses PKCE,
so there is no secret to store in your browser.
Your instance must also allow this page to make the token request: in app.ini,
[cors] ENABLED = true. Codeberg has this on already. If it is off you'll get a
clear message and can use an access token instead - that path needs no instance configuration.
Create an account on that instance → Registration lives on your own instance, so this link follows the URL above. Many instances turn self-registration off - if yours does, ask its admin for an account.
write:repository scope (and read:user if your instance lists it).
MindSpark creates the private mindspark-maps repo for you on first sign-in.https://gitlab.com.
GitLab.com works as-is; a self-managed instance also needs its origin added to this
deployment's Content-Security-Policy, and MindSpark will tell you exactly what to add.
MindSpark has no server to hold a client secret, so it signs in as a public application you register once: Preferences → Applications → Add new application on your instance.
Redirect URI (must match exactly):
Leave “Confidential” unchecked and tick Expire access tokens off if offered -
MindSpark is a public client and uses PKCE, so there is no secret to store in your browser.
Scope: api.
Create an account on that instance → Registration lives on your own instance, so this link follows the URL above. Self-managed instances often turn self-registration off - if yours does, ask its admin for an account.
api scope. MindSpark creates the private mindspark-maps
project for you on first sign-in.api, which is
account-wide - read_repository and write_repository cover
only git over HTTP and will not work here. So unlike GitHub's fine-grained tokens, this
token can reach everything your account can. A project access token cannot be used either,
because the project does not exist yet.
MindSpark runs entirely in your browser. The token is stored only in localStorage on this device, and is sent only to the git host you signed in to - never to any third party. A Content-Security-Policy on this page blocks scripts and network calls to any other origin, so there is no route out for it. On GitHub, a fine-grained token also keeps the damage to one repository if that ever fails; Gitea, Forgejo and GitLab have no usable per-repo token scoping, so their tokens are account-wide.
Because the token lives in this browser, treat signing in the way you would treat staying logged in anywhere: don't do it on a shared or untrusted machine, and sign out when you're done.
Every save commits a small JSON file to your mindspark-maps repo, so your data is versioned and you can git clone it any time. (On Gitea, Forgejo and GitLab - and with a GitHub classic token - MindSpark creates that repo on first sign-in. A GitHub fine-grained token can't create repositories, which is why its step 1 exists.)
To revoke access on GitHub: fine-grained tokens / classic tokens. On Gitea or Forgejo: Settings → Applications on your instance. On GitLab: Preferences → Access tokens (and Applications for an OAuth sign-in).