1. Home
  2. Security & privacy

Security & privacy

This is RemoteFlow's strongest differentiator, written down plainly: what it does, what it never does, and where the honest gaps are.

No telemetry, no cloud, no accounts

There is no analytics, no crash reporting, no licence check and no sign-in. RemoteFlow opens network connections to the hosts you configure, and makes exactly one other request — the update check, and only when you turn it on. Diagnostics stay on your machine.

Cloud storage is not RemoteFlow having a cloud. An S3 or Azure connection is a host you configured. The traffic goes from your machine to your bucket: no RemoteFlow account, no broker in the middle, no storage of ours anywhere in the path.

The update check, in full

The About settings page with version, update opt-in, file locations and third-party notices
The About page: version, the update opt-in, file locations and the embedded third-party notices.

How credentials are held

PlatformStore
WindowsWindows Credential Manager (generic credentials); DPAPI-encrypted files under credential-fallback\ if Credential Manager is unavailable
macOSThe login keychain, through Security.framework
LinuxThe Secret Service via libsecret — GNOME Keyring, KWallet, or whatever your desktop provides

Keys are of the form remoteflow/connection/<connection-id>/<kind>. When no keyring is available at all, RemoteFlow uses its own encrypted file vault, vault.rfv: Argon2id (64 MiB, 3 iterations) derives a key from a passphrase and each secret is sealed with AES-GCM under it. RemoteFlow asks for that passphrase at start-up — once to choose one, with a warning that nothing else holds a copy, and once to recall it thereafter. Declining leaves RemoteFlow running without saved secrets rather than failing to start.

What is never stored

Host key verification

Every SSH connection has a policy:

A key that changes is never accepted silently: RemoteFlow shows the stored fingerprint next to the presented one and makes you choose. A key marked revoked refuses the connection outright. Comparison is constant-time.

The host key mismatch warning with stored and offered fingerprints side by side and randomart
The host key mismatch warning: stored vs offered fingerprint, the randomart, and Accept once / Accept and save / Reject.
Trusted SSH host keys with revoke and delete
Every accepted host identity, searchable by host, algorithm or fingerprint — each with Revoke and Delete. known_hosts files, including hashed hostnames, can be imported.

Where files live

WindowsmacOSLinux
Connections, folders, tags, settings, trusted host keys (remoteflow.db)%APPDATA%\RemoteFlow~/Library/Application Support/RemoteFlow$XDG_DATA_HOME/remoteflow
Credential fallbacks (credential-fallback\, vault.rfv)%APPDATA%\RemoteFlow~/Library/Application Support/RemoteFlow$XDG_CONFIG_HOME/remoteflow
Logs%LOCALAPPDATA%\RemoteFlow\Logs~/Library/Logs/RemoteFlow$XDG_STATE_HOME/remoteflow/logs
Scratch files (remote edits, .rdp handover)%LOCALAPPDATA%\RemoteFlow\Cache~/Library/Caches/RemoteFlow$XDG_CACHE_HOME/remoteflow

The database is a plain SQLite file holding connection metadata, usernames, notes and references to credentials — never a credential itself.

Honest caveats this site will not hide