Where your data lives

EtherPK has two storage modes. A local graph is a folder of readable files on your device. A synced graph is stored as encrypted data on the sync service, with a working cache in each browser that opens it. They have different backup and recovery rules.

Local graphs

For a local graph (Your Notes In Your Own Folder), the folder you chose is the source of truth:

<your-graph>/
  journals/   2026-06-02.md
  pages/      Quantum Mechanics.md
  assets/     diagram.a1b2c3d4.png
  etherpk/    settings.json

These are ordinary files. You can open them in another editor and back them up with git, Syncthing, a cloud-drive folder, or your usual backup tool.

EtherPK also remembers the folder handle and builds a search and backlink index in browser storage. Those helpers are disposable. If browser storage is cleared, your files remain in the folder. Open the folder again and EtherPK rebuilds the index.

Synced graphs

For a synced graph (Synced Graphs And Your Recovery Code), the sync service holds the source data as encrypted document updates, snapshots and encrypted assets. Encryption and decryption happen on your device. The service sees account and membership metadata plus ciphertext, but not your note content, graph name, shared settings or asset contents.

Synced assets are not public files. An active graph member must ask the Sync Server for object-specific download addresses which expire after 15 minutes, and the private storage bucket still holds only encrypted chunks. An address which leaks during that window can download ciphertext, not decrypt it. See Images And Files In Your Notes for the full access rules and their limits.

Each browser keeps device-local merged document state so the graph opens quickly and can tolerate a temporary connection loss. That cached document state is plaintext inside browser storage on the trusted device. Pending operations are also kept there as encrypted outbox entries until the service acknowledges them. This is not a readable graph folder or a replacement for a backup. Clearing browser data can remove outbox work which has not reached the service yet.

Your Recovery Code protects access to the account vault containing your graph keys. It does not contain your notes and cannot recover data deleted from every synced copy. Keep it somewhere separate and safe.

Local Mirror

A synced graph can write a continuously updated, plain-text Local Mirror to a folder you choose: your notes as Markdown files, the images and attachments they use, and your graph settings. It is a readable backup you own outright, and importing it rebuilds the graph.

It is one-way and device-local. EtherPK writes the folder and never reads changes back out of it, another device will not know about it until you set one up there, and it runs while the graph is open in that browser. Turn it on from Settings → Mirror inside the graph.

Keeping A Local Copy Of A Synced Graph covers all of it: what ends up in the folder, how to check on it, what happens when it is interrupted, and how to rebuild a graph from it.

Browser-private data

Depending on the graph type, browser storage may contain:

The derived index can always be rebuilt. Folder handles can be selected again. A synced document cache can be repopulated from the service once the graph keys are unlocked. Its pending outbox cannot be reconstructed after browser data is cleared, so check that sync is caught up first.

Browsers, phones especially, sometimes drop the larger part of this on their own to free space, while keeping the small part (your sync connection, your unlocked keys, your settings). EtherPK keeps a copy of the two things that would otherwise be lost with it - which synced graphs are set up on this device, and the passkeys bound to your protected documents - in that small part (local storage), and puts them back on the next load with a notice listing what was restored. Documents then download again from the service. Sync settings → Storage on this device shows whether the browser has agreed to keep EtherPK's data, and how much it's using.

The surest way to stop a phone's browser clearing that data is to install EtherPK as an app: browsers keep an installed app's data where they would clear a website's. Settings → Install on this device (at the bottom of the General tab) offers the install when the browser allows it, and otherwise points at the browser's own Install app or Add to Home Screen menu item.

The demo graph

The demo you can open from the website without an account is a graph like any other, except that its files live in the browser's private storage rather than a folder you chose, and nothing you write in it is backed up anywhere. Closing the tab keeps it; clearing site data, or a phone browser tidying up, loses it, and the next visit simply starts the demo afresh. Reset demo in the bar above the demo does the same on purpose. Anything you want to keep belongs in a folder graph or a synced one.

At a glance

Data Local graph Synced graph Plaintext?
Notes and settings Chosen folder, authoritative Sync service plus browser cache Local and browser cache: yes. Synced service: no
Assets Chosen folder, authoritative Object storage as encrypted chunks Local: yes. Synced service: no
Search and backlink index Browser-private, derived Browser-private, derived Yes, on the device only
Graph list Browser-private pointer Browser-private display cache plus server membership Labels may be local; synced canonical name is encrypted
Local Mirror Not needed Optional chosen folder, one-way copy Yes
Recovery Code Not used Kept by you, outside EtherPK Secret key material, not note content

Practical backup advice