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 graph list and local folder handles;
- the persisted search, backlink and task index;
- cached plaintext Yjs state and sync watermarks for synced documents;
- encrypted outbox operations which the service has not acknowledged;
- a device-local unlock key for the encrypted account vault;
- per-device settings, layout and presence identity.
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
- For a local graph, back up the graph folder.
- For a synced graph, save the Recovery Code and consider enabling a Local Mirror on a trusted device.
- Before clearing browser data or removing a device, make sure the graph reports that sync is caught up.
- Forgetting a graph removes the device's registration and cache. It does not delete a local graph's folder or a synced graph from the service.