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. - Auto link detection — a checkbox, on by default. A new connector takes the link type its two devices imply, and reuses what you last chose for that pair. It only ever applies as a cable is created. See Auto link detection.
- Forget learned link styles — clears what that switch has learned from the pairs of devices you have wired. Turning the switch off keeps the memory, in case you want it back.
- 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.
- Lock panels — a checkbox, off by default. With it on, the panels stop answering a drag: the dock edges, the line between two stacked panels, a floating card's side edges and the invisible strip and corner it is moved and resized by all go inert, and the resize cursors go with them. It is for a workspace you have arranged and do not want nudged out of shape by a drag that was aimed at the drawing. Edit layout keeps working while it is on — the lock is about stray gestures on the canvas, not about stopping you rearranging — and the setting is remembered on this device. See Your workspace.
- 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.
- Layout — Classic or Studio, two segments under the theme toggle; the lit one is the layout on screen. Classic is the layout Drawbridge has always had: the toolbar of words, Shapes on the left, Properties over the drawing. Studio is the new one, and the one Drawbridge opens in until you choose Classic: an app bar, a tool dock over the drawing, the pages down the left and the Facts panel on the right, in six themes. Switching takes effect at once, with no reload, and changes nothing in your drawing or its file — exports look the same from either. The choice is remembered on this device and, like the theme, applied before the first paint. The first time you are in Studio, a tip says where Classic is and offers a Back to Classic button. The same switch heads the Presets section of Edit layout. Both layouts stay: Classic is one of the two, not one on its way out. Where everything is in Studio: Layouts: Classic and Studio.
- Share… / Join… — collaboration. In a browser they appear only on a secure page (
https://, orlocalhost); see Working together. - 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.
- Objects — every object in the document on one page, with what each one connects to. See The object list.
- Templates… — start from a template, or save this diagram as one. See Templates.
- Document info… — the drawing's own details: title, author, organization, revision, logo and branding. It fills the title block's cells in one place.
- Optics report — the transceivers this document needs, in total and per device.
- Cable schedule — every cable as a checklist to tick off as you patch it. See The cable schedule.
- 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 "Use as the default", under Route.
- 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).
- What the View menu shows — all twelve switches behind the toolbar's eye (device names, connector labels, port labels, VLANs, addresses, zone & rack names, connectors, zones & contexts, maps & backdrops, notes/lines & arrows, the generated blocks, and the grid). They are yours, not the document's: never written into the file, and never seen by a collaborator. See The View menu.
- Your branding profile — your name, organization, initials, logo, brand mark and its placement and opacity, and the classification, so a new drawing starts with them already in its title block. Nothing is remembered until you tick Remember this logo, organization and name for new drawings in Document info…, and it only ever seeds a brand-new document — it never reaches one that already has metadata of its own.
- 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, layout (Studio or Classic) 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: each one is filed as its own entry underneath the report. Only the first 200 KB of each text file travels, though, and nothing in the dialog tells you when that bites — a longer log is cut there, and the cut copy is what goes into the report and into the .zip alike, so the end of a big log does not arrive. If the part that matters is near the end, trim the file yourself before you attach it. 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. The form asks which layout you were using, and arrives with the one you are in already picked — Studio and Classic put things in different places, and a report that says which is one that can be read. 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. - Live collaboration, on a secure page (
https://orlocalhost) — the same sessions the desktop app hosts and joins. A browser participant is always relayed, and its identity lasts as long as the tab.
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.
On Windows, the easiest install is Drawbridge in the Microsoft Store. Microsoft signs it, so Windows shows no warning, and the Store keeps it up to date; a new release reaches it after Microsoft's review, usually within a day or two.
The builds on the download page 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, and a drawing you have not saved comes back after the switch — if the browser could not keep a copy of it, you are asked first. |
| 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.
Storage
☰ → Storage… says where drawings are opened and saved. Local files — this computer, as always — is the default. Google Drive, Microsoft OneDrive and Dropbox can be connected: press Connect…, sign in on the provider's own page, and you come back connected; new drawings are saved to a Drawbridge folder in your Drive, Apps/Drawbridge in your OneDrive or Apps/Drawbridge Editor in your Dropbox, and only that folder — with any folders you make inside it from the Save sheet — is ever visible to the app (Google's drive.file scope, the app folder at Microsoft and Dropbox). There is no browsing outside it, by design: choosing a folder elsewhere in your cloud would need permission to see everything in it, and the app does not ask for that. Connecting is your decision, off by default, and your browser talks to the provider directly — our server is never in the path and never receives a file, a name or a token. Disconnect deletes the tokens on this device (and revokes them where the provider offers it); the files stay in your Drive. The desktop app connects the same way: Connect… opens the sign-in in your system browser, and the app picks it up when you come back — nothing leaves your machine but the request to the provider. Once a cloud is picked here, Open and Save work against it — A connected cloud in the Files chapter says exactly how, conflicts included. The full walkthrough, request by request, is in the project's docs/10-CLOUD-STORAGE.md.
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 — unless you connect a cloud storage, in which case it also talks to that provider, and only that provider, with your own token. 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. The one way a drawing leaves is one you set up yourself: pointing an AI assistant at the hosted MCP or HTTP door sends it what you ask it to draw or describe. The local door (
Drawbridge --mcp) makes no network call at all — AI assistants (MCP) states both boundaries. - Collaboration is peer-to-peer where it can be. Every internet session starts on the Drawbridge relay, which introduces the machines and carries the encrypted handshake; between two desktops, diagram data then moves to a direct, encrypted QUIC connection wherever one can be made. The relay stays connected as the fallback, so it sees which endpoints are in a session, their IP addresses and when they connect — never the diagram, which it cannot read and does not store. The status pill shows
relaywhen traffic is going through it. 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. How a session connects has the detail. - What sharing sends, and only while you share. In the browser, the first Share downloads the collaboration module (about a megabyte) from the same site; then a short latency check to
/pingand one WebSocket to/relay, both ondrawbridge.fortiknight.com, held open with a keepalive every few seconds until you stop or close the tab. The desktop app keeps the same relay connection with its own keepalive, sends an occasional short latency check to the relay, and sends UDP directly to the other participants. A LAN-only session sends nothing to the internet at all. - The app works completely offline — no part of the editor is fetched from a remote host at runtime. The one piece left out of the offline copy is the browser's collaboration module, fetched from the same site the first time you share: collaboration needs the network anyway, so there is nothing to gain by making everyone download it in advance.
- 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.