Repository navigation
Privacy and data locality in a Nextcloud + draw.io live collaboration setup #5788
|
Hi, I personally have been using draw.io (Desktop) for quite a while now and have been absolutely loving it! And so of course when at work we started searching for a collaborative whiteboard I was quick to point out the live collaboration mode of draw.io. It also meets most of our expectations which is great. So currently I am looking for how such a setup could look like. As of now I am would be very happy with a Nextcloud instance storing the collaborative files to be used as whiteboards with draw.io. However, at the moment I am concerned with one thing you mentioned here:
I appreciate any help! Thank you for your time! |
Replies: 1 comment
|
1. What passes through draw.io's servers during realtime collaboration With the default Editor URL (
On top of that, the editor application itself is downloaded from embed.diagrams.net (which, like any website, sees the user's IP address, see https://www.drawio.com/docs/security/), and the browser connects to the Pusher messaging service that draw.io uses for save notifications. Those notifications carry no diagram content. So if your policy is that no diagram content may leave your infrastructure, realtime collaboration in Nextcloud doesn't meet it. The relay isn't part of the open source code. It is built specifically for Cloudflare, and there is no self-hostable version (see #3734). 2. Merge on save with nothing leaving your infrastructure Host the editor yourself and point the Nextcloud app at it:
The editor, its Nextcloud plugin and all of its requests then come from your own server, and the Content-Security-Policy that the image adds by default doesn't allow scripts from or connections to draw.io's servers. Files are still read and written only through Nextcloud. When someone saves and Nextcloud already has a newer version from a colleague, draw.io loads that version from Nextcloud, merges both sets of changes in the browser and saves the result. Other people's changes don't appear live: you see them when your next save merges them in, or when you reopen the file. You may see failed connection attempts to Why not offline mode: Activate offline mode? adds PDF export also stays local with the Docker image: File > Export as > PDF uses the browser's print dialog instead of draw.io's export server (https://www.drawio.com/docs/security/diagrams-docker-app/). If you need live collaboration on your own infrastructure, a community member has posted a self-hosted relay in a comment on #3734. We don't maintain it and haven't reviewed it. Notes for maintainersQuestion, not a bug: what the Nextcloud realtime path sends to draw.io servers, and how to get merge-on-save fully on-premises. Traced in the code:
Other: jgraph/drawio-nextcloud README now marks the repo deprecated in favour of a third-party fork. The concurrent-editing docs page only says "with the official draw.io servers"; a sentence on what passes through the relay would pre-empt questions like this one. Automated first response by the draw.io triage bot. |
1. What passes through draw.io's servers during realtime collaboration
With the default Editor URL (
https://embed.diagrams.net), the browser reads the diagram file from your Nextcloud and writes it back there; the file isn't saved on draw.io's servers. Live collaboration is different, though: the open editors talk to each other through a relay, and that relay runs on draw.io's servers. While people are editing, it carries:On top of that, the editor appli…