flowss keeps several safety nets under your work, each for a different kind of "I want that back". Undo takes back your last few actions in the studio you are in. Each studio keeps a version history of its documents. The Library keeps a history of every document whatever studio made it. The Vault holds named checkpoints of a studio's open document that you can restore whenever you like. The trash holds deleted documents for 30 days. And a backup file holds everything, outside any browser. This page explains each one, how to use it, how much it keeps, whether it follows you to other devices, and which to reach for when.
At a glance
| Safety net | Where | What it keeps | Lasts | Syncs to other devices |
|---|---|---|---|---|
| Undo and redo | Every studio, ⌘Z / ⇧⌘Z | Your recent actions in the open document | While the tab is open (Sketch keeps them with each board) | No |
| Library document history | Library card … → History… | Up to 20 versions of each document, spread from the start to now | Until the history budget needs the room | No |
| Diagram timeline | Studio rail, or ⋮ → Version history… (⇧⌘H) | Up to 50 versions of each Studio figure; named ones are kept for good | Until pruned | No |
| Code sheet History | The Studio code sheet's footer | Up to 100 versions of each Studio figure | Until pruned | No |
| Studio version panels | Weave Version history, Lab Revisions, BPMN Versions, Sketch History | Each studio's own snapshots | Varies by studio | No |
| Vault checkpoints | Flow Dock (⌘J) → Vault, and the Library's Vault band | Up to 40 named copies of a studio's whole open document | Until you delete them or a full Vault makes room | Yes |
| Trash | Library → Trash chip | Deleted Library documents, complete | 30 days | Yes |
| Backup file | Library → Library options (⋮) → Export library… | Every Library document, including the trash | As long as you keep the file | It is a file you control |
Undo and redo
Every studio has undo and redo for the document you are working on:
| Action | Mac | Windows and Linux |
|---|---|---|
| Undo | ⌘Z | Ctrl+Z |
| Redo | ⇧⌘Z (in most studios also ⌘Y) | Ctrl+Shift+Z (in most studios also Ctrl+Y) |
The island layout also puts Undo and Redo buttons in the view controls at the bottom right. In the code editors, ⌘Z belongs to the editor while your cursor is in the code.
How far back undo goes:
| Studio | Undo depth | Notes |
|---|---|---|
| Studio | 50 steps | Quick bursts of typing (within about 0.6 seconds) count as one step. AI edits and agent runs can be undone too |
| Weave | 100 steps | Clicking a template card can be undone. Opening a shared link or a template link, or receiving a diagram from another studio, replaces the canvas without an undo step, so checkpoint first if it matters |
| Sketch | 200 steps | Kept with each board, so undo still works after a reload or after switching boards and back |
| Figure | 50 steps | While the Table is showing, ⌘Z undoes changes to the data; while the Figure is showing, changes to the figure |
| Evidence | Per action | The undo button names what it will undo, for example "Undo" followed by the action |
| Science, BPMN, Lab | The studio's own undo | BPMN uses its modeller's undo; the Lab's code pane uses the editor's undo |
Undo history belongs to the open tab (except in Sketch). It does not survive closing the tab and does not sync. For anything older, use a version history or the Vault.
See Keyboard shortcuts for every studio's keys.
The Library's document history
Every document in the Library, from any studio, has a version history. It is the answer to "what did this look like last Tuesday?" even for a document you have not opened since.
What is recorded
- When a document is created, its first state is recorded ("created").
- When it changes, the state before your first change is kept ("before this edit"), then each settled change after that ("edited"). A studio with a document open writes your edits back to the Library every few seconds, and each change that actually alters the document becomes a version. Opening, selecting or moving the view without changing anything records nothing.
- When you restore, the state just before the restore and the restored state are both recorded ("before restore", "restored"), so a restore can itself be undone.
Opening a document's history
- In the Library, open the document's … menu (in grid or list view) and choose History….
- The dialog is titled **History — *title***. It says how many versions are kept: "*N* versions kept, newest first. Restoring one keeps this document where it is and records what it looked like first, so a restore can itself be undone."
Each version shows:
| Part | What it shows |
|---|---|
| When | "just now", "12m ago", "3h ago", "6d ago" or "2mo ago" |
| current | On the newest version |
| Note | Why it was recorded: created, before this edit, edited, before restore, restored |
| What changed | A summary of the change from the version before, such as "2 nodes added, 1 edge removed". The oldest version says "The earliest version kept." |
| Size warning | On a version too large to keep: "*size* — too large to keep a copy of, so only the fact that it changed was recorded." |
The summary reads diagrams, Weave canvases and Sketch boards by their structure (nodes, connections, elements) where it can, and falls back to a line-by-line comparison for other documents. If two versions cannot be compared it says "Too large to compare." or "Changed.".
With no versions yet, the dialog says "No versions kept yet. This document's history starts the next time it is edited — every settled change from then on is a version you can come back to."
Restoring a version
- Click Restore on the version you want. The button changes to Confirm. The newest version (marked current) has no Restore button, and neither does a version too large to keep.
- Click Confirm to restore. Clicking elsewhere cancels.
The document's content goes back to that version, in place: it keeps its title, tags, star, lineage and Library position, and stays attached to its studio. The dialog stays open with the new versions added on top, so you can undo the restore by restoring "before restore". A toast confirms "Restored title to an earlier version". Close the dialog with Close.
How much is kept
| Limit | Value |
|---|---|
| Versions per document | 20. When more arrive, the oldest version (where the document started) and the five newest are always kept, and versions in between are thinned so that what remains spreads from minutes ago to days ago |
| Documents with history | 40, the most recently changed. A document untouched for longest loses its history first |
| Largest version kept in full | About 120,000 characters. Bigger versions are listed with their size but cannot be restored |
| Total history | About 1.2 MB, kept well below the browser's limit so the Library itself always has room to save |
The Library's document history is kept in this browser and does not sync, and it is not included in a backup file. Deleting a document forever (or emptying the trash, or letting the 30-day sweep remove it) also deletes its history.
The Studio's Diagram timeline and History strip
The Studio keeps two histories of each figure, independent of each other and of the Library's:
- Diagram timeline (the rail's Diagram timeline, the ⋮ menu's Version history…, or
⇧⌘H). Records a version about 1.5 seconds after you stop typing and keeps up to 50 per figure. You can name a version, which pins it for good, compare any version with the canvas side by side, see an inline diff, and Restore. Explain change in the comparison asks AI to summarise what changed in meaning, and needs AI on your plan. - History in the code sheet's footer ("History — versions of this figure, recorded as edits settle; click one to diff or restore"). Records a version about three seconds after edits settle, and on every figure switch, keeping up to 100 per figure. Click a version to see what changed since, then Restore; the current state is recorded first, and the restored state is labelled Restored. A toast confirms "Version restored — the replaced state was recorded first".
Both are kept in this browser per figure and do not sync. Every control is documented in Data, timeline, TikZ and the diagram tools.
Version history in the other studios
| Studio | Where | What it does | Plan |
|---|---|---|---|
| Weave | Version history (in the menu and ⌘K) | Automatic snapshots of the canvas, up to 100 in this browser. Name a version, see who recorded it in a live session, read a one-line summary of what changed, compare any two versions (or a version with the canvas now), and restore. Restoring records the current canvas first, and the versions after a restore are shown as a new branch | Starter and up (Weave) |
| Lab | Revisions pane | Automatic snapshots of the FlowScript document, up to 50 per document, each with a short summary of what changed. Restore any snapshot, or clear the history with Clear revision history | Starter and up (Lab) |
| BPMN | Versions list, and Save version in the file menu and ⌘K | Up to 20 saved versions per model tab, each with its size. Restoring asks Restore this version? ("Your current diagram will be replaced. Save it as a version first if you want to keep it.") and then confirms "Version restored". Deleting a model deletes its versions | Starter and up (BPMN) |
| Sketch | History panel (F7), and Version history (checkpoints) in ⌘K | Lists the board's checkpoints in the Vault, lets you save a named checkpoint, and restores in place | Version history is Starter and up |
See each studio's page for the details: Weave, Lab, BPMN, Sketch.
The Vault: checkpoints you name
The Vault is a set of named checkpoints. A checkpoint is a frozen copy of everything a studio keeps for its open document, which you can restore at any time. It is the way to keep more than one version of a studio that holds one document at a time, and the one history that follows you to your other devices.
The Vault works with Weave, Science, BPMN, the Lab, Sketch and Figure. The Studio keeps a real list of figures, and Study and Evidence keep their work elsewhere, so they have nothing to checkpoint; asking says "This studio keeps its own library, so there is nothing here to checkpoint."
Saving a checkpoint
- In Weave, Science, BPMN, the Lab, Sketch or Figure, open the Flow Dock with
⌘J(Ctrl+J) or its floating pill. - In the Vault section, type a name in the box (its placeholder suggests one from your document, "Save "*title*"…"), or leave it to use that suggestion.
- Click Save or press
Enter.
The Flow Dock confirms "Checkpoint saved — "*name*" can be restored anytime". You can also save from ⌘K with Save document to Vault.
The save box appears only in a studio whose document can be checkpointed. With no checkpoints yet, the dock's Vault section reads "Snapshot this document to keep more than one on this canvas." in those studios, and "Checkpoints you save from Weave, Science, BPMN, Lab, Sketch and Figure appear here — your living documents live in the Library." everywhere else.
What a checkpoint includes depends on the studio, and is always the whole document:
| Studio | A checkpoint holds |
|---|---|
| Weave | The canvas and its view |
| Science | The figure and its zoom |
| BPMN | Every model tab with its title, versions, comments and simulation settings |
| Lab | The FlowScript document, its comment threads and its data binding |
| Sketch | The board |
| Figure | The composition, the whole project with all its figures, and the analysis bench |
Some checkpoints are made for you:
- Sketch saves an Auto checkpoint as you work, at most once every five minutes and only when the board has changed, and keeps the ten most recent auto checkpoints. Checkpoints you save yourself are never pruned this way.
- Cloud sync keeps both copies when a studio's document changed on two devices: one stays live and the other is saved as "*document* — this device's copy" or "*document* — copy from another device". See Cloud sync, offline work and devices.
- Science sets your own figure aside as a checkpoint when you join someone else's live session from a link, and tells you its name.
- Restoring saves what it replaces first (below).
Restoring a checkpoint
Click a checkpoint's name in the Flow Dock's Vault list or the Library's Vault band (the tooltip says "Restore into *studio*"), or pick it in ⌘K. The Flow Dock lists your six newest checkpoints and the Library band your eight newest; ⌘K searches further back, among your most recent work.
- flowss first checkpoints the document that is open in that studio, under the name "Before restoring "*name*"" (where name is the checkpoint you are restoring), unless nothing would be lost (the studio is empty, the restore changes nothing, or the open document is already in the Vault exactly). If the Vault is full, this safety copy may remove the oldest checkpoint to make room, and the confirmation says so.
- It writes the checkpoint back and opens the studio.
- On arrival a toast confirms: "Restored "*name*"", adding "— the document it replaced is in the Vault as "Before restoring …"" when a safety copy was made.
If the open document cannot be checkpointed first (too large, or no room in the Vault), nothing is restored, so nothing is lost: "Nothing was restored — the document open there could not be checkpointed first (it is too large, or the Vault had no room for it), and restoring would have replaced it for good. Export it or start a new document there, then restore."
A restore detaches the studio from any Library document it had open, so the restored content is never written into the wrong document. Sketch restores in place from its History panel.
Deleting a checkpoint
Hover a checkpoint and click its bin icon ("Delete "*name*" from the Vault"). The toast says "Deleted "*name*"" with Undo for six seconds. Deleted checkpoints stay deleted on your other devices too.
Vault limits
| Limit | Value |
|---|---|
| Checkpoints | 40 in all. Saving into a full Vault removes the oldest checkpoint to make room, and the confirmation names it: "Checkpoint saved — the vault was full, so the oldest one ("*name*") was removed to make room" |
| One checkpoint | About 400,000 characters. A bigger document is refused: "This document is too large to checkpoint — export it, or remove a pasted image and try again." |
| Whole Vault | About 600,000 characters, so that it fits the cloud sync budget |
| Room for sync copies | The second copy cloud sync keeps after a conflict never removes one of your checkpoints to make room: "The vault is full — nothing was removed to make room, so this copy was not saved." The sync banner then explains what is held back. (A restore's safety copy is different: it may remove the oldest checkpoint, and says so.) |
The trash
Deleting a Library document moves it to the trash rather than destroying it.
| Action | How | Undo |
|---|---|---|
| Delete one document | Card or row … → Delete | The toast "Moved "*title*" to trash" offers Undo for six seconds |
| Delete several | Select them, then Delete in the selection bar | The toast "Moved N documents to trash" offers Undo for eight seconds |
| See the trash | The Trash chip in the Library, or View trash in the Storage panel |
The trash view says "Documents stay here for 30 days after deletion, then they're removed for good. Restoring puts one back exactly where it was." Each row shows the studio, when it was deleted, its size, and how many days it has left ("removed on the next sweep" when its time is up). Search filters the trash by title.
| Button | What it does |
|---|---|
| Restore | Puts the document back exactly as it was. "Restored "*title*"" |
| Delete forever | Asks Delete forever?: "*title* will be removed from this device permanently. This can't be undone." Click Delete forever to confirm. Its version history goes with it |
| Empty trash | Asks Empty the trash?: "*N* documents will be removed from this device permanently. This can't be undone." Click **Delete N documents** to confirm |
How the 30 days work: documents in the trash for more than 30 days are removed for good the next time you open the Library. A document deleted forever stays deleted on your other devices, unless it is edited again somewhere after it was deleted.
On a free account, Restore is refused if the document's studio already holds 3 documents, with "… stays in the trash for now: this studio already holds 3 of the 3 figures a free account keeps, and nothing there has been touched. Move one of the open figures to the trash to make room, or upgrade to Starter for unlimited figures."
Cloud projects do not go to the trash. Deleting one is permanent for everyone it is shared with, and asks first. See Your library.
Backups as history
Export library… (Library → Library options (⋮)) saves every Library document, including the trash, to a dated file such as flowss-library-2026-10-04.json. Import backup… merges it back without overwriting anything you edited more recently. Keep a backup before large reorganisations, before clearing site data, or simply on a schedule; it is the one copy that does not depend on any browser or account. See Your library.
A backup holds each document as it is now. It does not carry the Library's version history or your Vault checkpoints, so it is a snapshot of the present rather than a record of the past. Export again whenever you want another point in time.
Which one should I use?
| I want to | Use |
|---|---|
| Take back what I just did | Undo, ⌘Z |
| See what a Studio figure looked like an hour ago | The Diagram timeline (⇧⌘H) or the code sheet's History |
| Get back last week's version of any Library document | Library → … → History… |
| Try something risky on a Weave, Science, BPMN, Lab, Sketch or Figure document | Save a Vault checkpoint first from the Flow Dock |
| Keep two versions of a Weave canvas side by side | Save each as a Vault checkpoint, or Duplicate it in the Library |
| Have an older version on my other computer | A Vault checkpoint (it syncs) |
| Recover a document I deleted | The Library's Trash chip → Restore |
| Keep a copy that does not depend on flowss | Export library… |
Tips
- Checkpoint before big changes. A named Vault checkpoint takes two seconds and is the one version that follows you to your other devices.
- Name the versions that matter. In the Studio's Diagram timeline and in Weave's Version history, a named version is easy to find later; in the Studio it is also kept for good.
- Restores are safe to try. The Library, the Studio, Weave and the Vault all record the current state before restoring, so you can go back again.
- Empty the trash to free space. Trashed documents keep their full content until they are removed, and count against browser storage.
- Use the right history for the right question. Undo is for minutes, versions are for hours and days, the Vault is for milestones, a backup is for safekeeping.
Limits and known constraints
- Undo history lasts only while the tab is open, except in Sketch.
- The Library's document history keeps 20 versions for each of your 40 most recently changed documents, stays in this browser and does not sync.
- Versions larger than about 120,000 characters are listed but cannot be restored from the Library's history.
- The Studio's Diagram timeline (50 per figure) and code sheet History (100 per figure) are per browser.
- The Vault holds 40 checkpoints and about 400,000 characters per checkpoint; saving into a full Vault removes the oldest.
- The trash keeps documents for 30 days; cloud projects are not trashed.
- Weave's version history, Lab revisions, BPMN versions and Sketch history are each studio's own, kept in this browser.
- Sketch's version history, and the Weave, Lab and BPMN studios themselves, need Starter or above.
Troubleshooting
| Message or symptom | What it means | What to do |
|---|---|---|
| "No versions kept yet. This document's history starts the next time it is edited …" | The document has not changed since history began for it | Edit it; versions start from the next change |
| A version shows "… too large to keep a copy of, so only the fact that it changed was recorded." | That version was over about 120,000 characters | Restore a smaller version, or use a Vault checkpoint or backup for large documents |
| "That version was too large to keep a copy of, so it can't be restored — only the fact that it changed was recorded." | You tried to restore such a version | Choose another version |
| "That document is no longer in your library." / "That revision is no longer in this document's history." | The document or version was removed (for example in another tab) | Close and reopen History… |
| "Nothing to save yet — the canvas is empty." | The studio has no document to checkpoint | Add something first |
| "This document is too large to checkpoint — export it, or remove a pasted image and try again." | Over the per-checkpoint size | Export the document, or remove large pasted images |
| "Browser storage is full — the checkpoint could not be written." | The browser refused the save | Free space from the Library's Storage health panel |
| "Browser storage is unavailable, so nothing could be checkpointed." | Storage is disabled (for example some private modes) | Use a normal window, or export instead |
| "That checkpoint is no longer in the Vault." | It was deleted, perhaps on another device | Choose another checkpoint |
| "That checkpoint cannot be read, so nothing was restored." | The checkpoint is damaged | Choose another checkpoint |
| "Nothing was restored — the document open there could not be checkpointed first …" | Restoring would have lost what is open | Export or move what is open, or start a new document there, then restore |
| "Could not restore that document — browser storage refused the write, and the open document is unchanged." | No room to write the restore | Free space, then try again |
| "Could not delete that checkpoint." / "Could not put that checkpoint back." | The Vault could not be changed | Free space and try again |
| A checkpoint I expected is missing | A full Vault removed the oldest to make room, or a merge with another device did | Check the toast or sync banner, which name what was removed. Save milestones you must keep as a backup file too |
| My deleted document is not in the trash | It was deleted forever, emptied, or was older than 30 days | Restore from a backup file if you have one |
