diff options
| author | Linus Färnstrand <linus@mullvad.net> | 2019-12-16 09:53:40 +0100 |
|---|---|---|
| committer | Linus Färnstrand <linus@mullvad.net> | 2020-01-07 21:50:38 +0100 |
| commit | 07b8fed5fe69a09088c3c7defa54e773c4e1c1d3 (patch) | |
| tree | 626bfa908a6a82aa149a7bcb847dbe504e131084 /docs/security.md | |
| parent | 23734950a7b5daeda73d62b6bb4d26951382e458 (diff) | |
| download | mullvadvpn-07b8fed5fe69a09088c3c7defa54e773c4e1c1d3.tar.xz mullvadvpn-07b8fed5fe69a09088c3c7defa54e773c4e1c1d3.zip | |
Add section on desktop GUI and system service
Diffstat (limited to 'docs/security.md')
| -rw-r--r-- | docs/security.md | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/docs/security.md b/docs/security.md index 852df5a08d..a0b8b7a7eb 100644 --- a/docs/security.md +++ b/docs/security.md @@ -223,11 +223,35 @@ The above holds during the [connected] state. In the [disconnected] state the app does nothing with DNS, meaning the default one is used, probably from the ISP. In the other states DNS is simply blocked. +## Desktop system service + +On all desktop platforms the VPN tunnel and the device security is handled by a system +service called `mullvad-daemon`. This service is installed as the administrator/root user +during app install and is then always running in the background, even when the user +quits the GUI and when no tunnels are running. + +This system service can be controlled via a management interface, exposed locally +via unix domain sockets (UDS) on Linux and macOS and via named pipes on Windows. +This management interface can be reached by any process running on the device. +Locally running malicious programs are outside of the app's threat model. + +## Desktop Electron GUI + +The graphical frontend for the app on desktop is an Electron app. This app only ever loads +local resources in the form of html, CSS and Javascript directly from the installation +directory of the app, and never from remote sources. + +The GUI only communicates with the system service (`mullvad-daemon`), it makes no other +network connections. Except when it sends a problem report, then it spawn the +`mullvad-problem-report` tool, which in turn communicate over TLS with our API. + ## Android +<TODO> [disconnected]: #disconnected [connecting]: #connecting [connected]: #connected [disconnecting]: #disconnecting -[blocked]: #blocked
\ No newline at end of file +[blocked]: #blocked +[GUI]: #desktop-electron-gui |
