Settings, desktop and privacy
Drawbridge has deliberately few settings. Most behaviour has one good default; the handful of real preferences live in the App menu (the ☰ button on the right of the toolbar).
App menu
- Auto-save — a checkbox. When on (the default) and the document is attached to a file, edits are written back to that
.drawiofile automatically; the Save button becomes status feedback ("Saving…" / "Saved") instead of a chore. Turn it off for classic manual saving. - Manual — this book. Also on F1.
- Dark mode / Light mode — a single toggle, labelled with the mode it switches to. Your choice is remembered and applied before the first paint, so there is no flash of the wrong theme. If you never touch it, Drawbridge follows your operating system's light/dark setting.
- Share… / Join… — collaboration (desktop app only).
- Icon library — every icon in the shape library on one page, with its catalog key. Picking one arms it and closes the dialog, so browsing ends in drawing.
- Show one-off tips again — a few behaviours explain themselves the first time they happen, once per install, and then never interrupt again. Dragging a zone that carries its contents is one: it says so, and mentions that Alt moves the zone alone. This button makes those tips available again — useful on a shared machine, or when you want to see what a colleague is describing.
- Report a bug — see below.
- Website and Support Drawbridge — links out to the site and to the sponsor page. Both open in your normal browser; nothing in the app changes either way, and supporting is entirely optional.
Other preferences, set where you use them
These are not in a preferences screen; they persist from where you set them:
- Default connector type for new edges — set from the inspector's "Set default".
- Default aggregate (LACP) ring colour — set from the inspector; a per-bundle colour still wins.
- Overview minimap on/off — remembered once you toggle it; until then it follows your window size (off on small viewports).
- Export theme and transparency — chosen in the export popover, per export.
- Your display name for collaboration.
If your browser blocks local storage (private mode), settings simply do not persist between sessions; everything still works.
Approving collaborators is deliberately not one of these. There was once an "Approve each person before they join" toggle in the Share popover; it is gone, because a switch left off admitted anyone still holding an old invite months later. Every guest waits in the lobby until you let them in. Let anyone in opens that for twenty minutes at a time and is never remembered — a new sharing session always starts with the lobby back. See Approval and the lobby.
Auto-save details
Auto-save writes to the file the document is bound to — opened, or saved once. In the browser it uses the File System Access API, and if the browser revokes write permission you will see Auto-save paused — click to re-enable; one click (a user gesture) re-requests permission and resumes. On the desktop there is no permission model, so pausing only happens if a write actually fails.
There is also a local snapshot of your work, restored on next launch, so an unexpected close does not lose anything.
Reporting a bug
App menu → Report a bug writes the report for you. Describe what happened in your own words; the dialog adds two things you would otherwise have to dig out:
- Diagnostics — the version, build and platform. A checkbox, on by default; untick it and it is left out.
- What I did — the recent actions you took in the app, most recent first, so a "it broke when I…" report arrives with the steps already in it.
Both are shown but not editable. They are facts about the build and about what you clicked, and a version number that could have been retyped is one nobody can act on. You are still in charge of what goes: untick the diagnostics, choose fewer actions — or none — and remove any attachment. Your own description is yours to write, up to about two pages; anything longer is a log, and a log belongs in an attachment.
You can attach files, up to five of them and 4 MB in total — the dialog shows how much of that you have used. Text files (a log, a copy of the XML) are folded into the report itself, so they need nothing further from you, and they travel whole however long they are: each one is filed as its own entry underneath the report rather than being cut short to fit. Pictures cannot travel inside text, so those are saved as a single drawbridge-bug-report.zip in your downloads.
Pressing Send copies the finished report to your clipboard and opens the feedback form in your browser, where you paste it. If a .zip was saved, the form has a file field — attach it there, and your screenshots arrive with the report. If you would rather not send them after all, just leave the field empty; the written report goes through on its own. A .zip is only ever written when something actually has to travel in it.
Nothing is transmitted by the app itself — no background upload, no crash reporting. Read the report before you paste it: it goes to a public tracker, so leave out anything from a diagram you cannot share.
Desktop app vs browser build
Both builds are the same editor. The differences:
Browser / PWA
- Runs at a URL; nothing to install. You can install it as an app from your browser (Chromium browsers: it registers as a standalone app with its own window and icon).
- Works fully offline after the first visit — the whole app, including the routing engine, is cached. You will see "Ready to work offline" once caching finishes.
- Files: Open/Save go through the browser's file picker where supported, with a plain download fallback otherwise. On Chromium, installing the app also lets you open
.drawio,.xml,.vsdxand.dbtpl.jsonfiles directly from the OS. - No collaboration.
Desktop (macOS, Windows, Linux)
- Native Open/Save dialogs and real file paths, so the document reattaches to its file after a relaunch.
- Registered as an editor for
.drawiofiles, so "Open with" works. - Registered for
nudge://invite links, so clicking one opens the join dialog. - Live collaboration (see Working together).
- Runs fully offline: everything, including the routing engine, ships in the app — no CDN, no remote assets.
The current desktop builds are unsigned or ad-hoc signed. On macOS use the bundled installer script if a download is quarantined; on Windows SmartScreen shows "More info → Run anyway" on first run.
Updates
What's new
About shows what changed in the version you are running. Open About (the app name/logo button at the far left of the toolbar) and under the version line is What's new in vX.Y.Z — the release notes for that exact build, in plain language, including any considerations that came with it. They are part of the app, so they are there offline and can never describe a different version from the one you have; if a big release runs longer than the panel, it scrolls, and the bottom edge fades while there is more to read. All release notes at the foot of the panel opens the full history for every version on the website.
And when an update is waiting, the amber panel says what is in that one — the version number in its heading, and the release notes for that version above the buttons, so you can read what you would be getting before deciding. While that panel is up, "What's new" stands down: one set of release notes at a time, and the one you are deciding about wins. Take the update or skip it and "What's new" comes back.
In the browser this takes a moment to arrive. The waiting version is downloaded and ready before Drawbridge knows what it is called — a browser hands over a bundle, not a name — so the panel opens saying "Update available" and fills in the version and the notes a second later, by asking the site it was loaded from. Offline, or on a copy of Drawbridge hosted somewhere that publishes no version file, it stays at "Update available" and everything else works exactly the same.
Checking for a newer one
Desktop: open About (the app name/logo button at the far left of the toolbar). It shows the version, build date, and the bundled libavoid commit, plus:
- Check for updates — a manual check. It reports Up to date, Could not reach the update feed, or Update available: vX.Y.Z. If it finds a release, the amber panel appears at the top of About carrying the Download update button, the shield lights, and both stay after you close About and after you restart — a check you ran yourself is remembered exactly like the one that runs at launch, so you can look, close the dialog, and come back to it later. A check that comes back Up to date puts the marker out again. The panel always names the newest release the app knows about: check again and find something newer and it moves to that one, rather than leaving two versions on screen.
- Check automatically at launch — a checkbox, off by default. Turn it on and Drawbridge checks once at startup; it stays silent unless a strictly newer version exists, in which case you get a notification with a Download action.
Updates are notify-only. Drawbridge never downloads or installs anything by itself — "Download" opens the release page in your normal browser and you install it the usual way. Not every platform necessarily has an artifact published for every release; if there is nothing for yours, the check simply reports as unavailable.
Download update always gets you the newest release. The marker remembers the release it was lit for, which may have been weeks ago — so pressing the button checks once more before it opens anything, and hands you whatever is current. The button says Checking… for that moment. If a newer release has appeared in the meantime, the panel moves to it as the download starts, notes and all; if nothing can be reached, you get the release the marker knew about; and if that link has gone stale, the download page opens instead. There is no combination of those that leaves the button doing nothing.
The marker on the shield. However it was found, a waiting update lights the Drawbridge shield amber with a small dot beside it, and it stays lit — it is a state, not a notification you can miss. Clicking the shield opens About with three ways out:
| Action | What it does |
|---|---|
| Update now | Browser only: switches to the version already downloaded. Nothing changes until you press it. |
| Download update | Desktop: opens the release page. Drawbridge never installs anything for you. |
| Upgrade manually | The download page, for when you would rather fetch the files yourself |
| Skip this version | Puts the marker out for that version only. The next release lights it again — in the browser, the next build to arrive, whether or not the app could learn its number. |
The marker replaced a pop-up toast, which could be dismissed — or missed while you were drawing — and then never appeared again. Somebody ran four releases behind that way.
Browser/PWA: there is no updates section in About, and none of the above applies. The app checks this site for a newer version of itself — on load, when you come back to the tab, when the network returns, and hourly in a session left open — and never swaps versions mid-session: the shield lights, and nothing changes until you choose to reload. What is waiting is always the current release, because the browser fetches it fresh rather than working through a queue of versions.
Before this was added, a session you never fully reloaded could sit several releases behind and never be offered the prompt at all; a hard refresh was the only cure. If you ever suspect you are on an old version, About shows the one you are running.
Privacy
- No analytics, no telemetry, no crash reporting, no accounts. Drawbridge does not collect anything about you or your diagrams, and there is no server to send it to.
- Update checks are the only network call the app makes on its own. On the desktop they are off unless you press "Check for updates" or opt in to the launch check; in the browser the app asks the site it was loaded from whether a newer version of itself exists, which is what produces the Reload prompt. Either way the check fetches a small file, fails silently when offline, sends nothing about you or your diagrams, and goes to an address fixed in the app itself — never a third party.
- Your diagrams stay on your machine. Files are read and written locally; drafts and settings live in local storage on your own device. Nothing is uploaded.
- Collaboration is peer-to-peer where it can be. Diagram data goes directly between participants over encrypted QUIC connections, and where that works no server is in the middle at all. When a direct connection cannot be established, traffic falls back to the Drawbridge relay, which forwards encrypted data it cannot read and stores none of it; the status pill shows
relaywhen that happens. Browser participants are always relayed — a web page cannot make a direct connection — which is also what lets a browser and a desktop share a session at all. - The app works completely offline — no part of it is fetched from a remote host at runtime.
- One caveat worth knowing: saved collaboration invites are stored in plain text on your device, and an invite secret is effectively a credential. Anyone with access to your user profile can read them.