Legal notice, terms of use & privacy
1. Who runs this site
jumphost.ch is a free, non-commercial hobby project operated by a private individual domiciled in Switzerland. There is no company behind it, no sign-up, no payment, no advertising and no commercial offering of any kind.
Contact: Reveal e-mail address
The address is deliberately not written into the page source — hover, focus or tap the button and it is assembled in your browser. It is monitored on a best-effort basis; no response time is promised or implied.
2. What the site does — and what it does not do
jumphost.ch is a text generator. You fill in a form, and it assembles a string that
looks like an ssh command, an ~/.ssh/config block, or a related
shell command (scp, rsync, sftp, sshfs,
autossh, a systemd unit, and so on).
- The site never opens an SSH connection, never contacts any host you name, and never executes anything. It has no server-side component at all.
- It has no knowledge of your systems — not your network, your firewall rules, your sshd configuration, your key material, your organisation's policies, nor the consequences of running anything against them.
- The generated text is a suggestion produced by a piece of software, not reviewed advice. It can be wrong, incomplete, out of date with respect to your OpenSSH version, or simply unsuitable for your situation.
- Nothing on this site — including the cheatsheet, the “Explain” tab and the validation hints — constitutes professional, security, or legal advice.
0.0.0.0 can expose systems and data. That decision, and its
consequences, are yours alone.
3. Terms of use
By loading or using this site you accept these terms. If you do not accept them, do not use the site.
- Use is entirely at your own risk, and free of charge. You are solely responsible for verifying any output before using it, and for everything that follows from using it.
- You must not rely on this site for security decisions. Where the output affects the
security, availability or integrity of a system, validate it against the official OpenSSH
documentation (
man ssh,man ssh_config) and your own policies. - No availability commitment. The site may be changed, moved, broken, or taken offline at any time, without notice and without obligation to preserve anything.
- Your saved data is yours to keep. Profiles live in your browser only (see §8). Clearing your browser data, switching browsers or using private mode will lose them. Export anything you care about.
- Your passphrase cannot be recovered or reset. Saved profiles are encrypted with a key derived from it, and it is never stored or transmitted — so nobody, including the operator, can open your vault or help you back into it. Forgetting it loses those profiles permanently. Keep it in a password manager, and keep an export.
- No support obligation. Bug reports are welcome; nothing is owed in return.
- You must not abuse the site — no attempts to disrupt or overload it, no scraping of the contact address for unsolicited mail, no use of it as part of anything unlawful.
4. No warranty
The site and everything it generates are provided “as is” and “as available”, without any warranty of any kind, express or implied — including but not limited to any warranty of correctness, completeness, accuracy, currency, fitness for a particular purpose, uninterrupted availability, freedom from defects, or non-infringement.
No representation is made that a generated command is correct, safe, appropriate for your environment, or compatible with your SSH client, server, or version.
5. Limitation of liability
To the fullest extent permitted by applicable law, the operator accepts no liability whatsoever for any damage or loss arising out of, or in connection with, the use of this site or of anything it generates. This includes, without limitation:
- direct, indirect, incidental, consequential, special or punitive damages;
- loss or corruption of data, loss of access, loss of profit, business interruption, or the cost of substitute services;
- service outages, misconfiguration, lock-outs, exposed ports, exposed services, unauthorised access, compromised keys or credentials, or any other security incident;
- damage caused by a command being wrong, being misunderstood, being run against the wrong host, or being run with insufficient privileges — or with too many;
- anything arising from the unavailability of the site, or from errors in it.
This applies regardless of the legal basis of the claim (contract, tort, or otherwise) and whether or not the possibility of such damage was known. Under Swiss law, liability for unlawful intent and gross negligence cannot be excluded in advance; that mandatory limit, and any other mandatory statutory liability, is unaffected by this clause.
Indemnity. If your use of this site causes a third party to bring a claim against the operator, you agree to hold the operator harmless from that claim and the reasonable costs of defending it, to the extent permitted by law.
External links. This site links to nothing outside jumphost.ch. Should that ever change, any such link points to content outside the operator's control, and no responsibility is accepted for it.
6. Authorised use only
The commands this site produces are ordinary system-administration tools — and, like all such tools, they can be pointed at systems you have no business touching.
Use them only against systems you own, or for which you hold explicit, documented authorisation. Unauthorised access to a computer system is a criminal offence in Switzerland (Art. 143bis of the Swiss Criminal Code) and in most other jurisdictions. You alone are responsible for ensuring that what you do is lawful and permitted by the owner of the target system and by your employer's policies.
The operator does not monitor, log, or have any means of knowing what you build here — and accepts no responsibility for it.
7. Intellectual property & trademarks
- The design, text and source code of this site are the property of the operator. All rights reserved. No licence to reuse them is granted here.
- The commands you generate are yours. No claim is made over the output; use it freely, commercially or otherwise, with no attribution required.
- OpenSSH, PuTTY, systemd, Git, and any other product names mentioned are the property of their respective owners. They are referred to descriptively only. This site is not affiliated with, endorsed by, or connected to the OpenSSH project, the OpenBSD project, or any other named project or vendor.
8. Privacy policy
The short version: this site collects nothing. There is no account, no database, no form submission, no cookie, no analytics, no advertising, no tracking pixel, and no third-party script or font. Once loaded, the page makes no request to anywhere but this site — the only ones it makes are for this site's own files, to keep the offline copy current.
8.1 What you type never leaves your browser
Hostnames, usernames, ports, key paths, jump hosts and every other value you enter are processed only by JavaScript running on your own device. They are never transmitted anywhere, because there is nowhere to transmit them to — the site is a set of static files.
8.2 Data stored on your device
Nothing you type is written to your browser's localStorage. Saved profiles, and
the configuration you are working on, are kept encrypted in IndexedDB; while the
vault is shut, the configuration on screen is held in sessionStorage, which the
browser discards when the tab closes. None of these is a cookie, none is ever sent with any
request, and none leaves your device:
jumphost(IndexedDB) — the vault: your saved profiles and current configuration, encrypted. Exporting writes a copy of that encrypted record.jumphost.state.session(session storage) — the configuration you are working on while the vault is shut. Discarded when the tab closes.jumphost.theme(local storage) — whether you chose the light or the dark theme. The only thing kept in local storage, and it says nothing about you.
An earlier version of this site stored profiles in local storage as plain text. If it left any on your device, this version will not run until you have chosen a passphrase and moved them into a vault. They are moved unchanged, and the plain copies are removed only once the encrypted ones have been read back successfully.
8.3 The profile vault
Saved profiles are encrypted on your device with AES-GCM-256 under a key derived from your passphrase with PBKDF2-HMAC-SHA-256 (600 000 iterations, random salt). The passphrase and the key are never stored and never transmitted; the key is held in memory only, and is discarded when you lock the vault, when you leave or close the page, and after fifteen minutes without activity. Switching to another tab does not by itself lock it. There is no recovery mechanism: nobody, including the operator of this site, can decrypt your profiles or reset your passphrase.
Saving profiles therefore requires a page served over https:// (or
localhost), because that is what the browser's cryptography API requires. The
builder itself works anywhere; only saving does not.
8.4 Deleting it
“Delete vault” in the builder removes the vault and every profile in it; the site itself, its offline copy and your theme setting are left alone. “Reset builder” only returns the form to the plain-login example it starts with, and keeps your saved profiles. To remove everything this site has put on your device, including the offline copy, clear site data for jumphost.ch in your browser settings. If storage is unavailable — private browsing, for instance — the site simply works without persistence.
8.5 Server logs
The site is served from a hosting provider in Switzerland. As with any web server, the provider may record standard technical access data — IP address, timestamp, requested file, HTTP status, referrer and user-agent string — for the purpose of delivering the site and keeping it secure and available. This processing takes place at the hosting provider, on Swiss infrastructure; the operator does not use those logs to build profiles, does not merge them with anything else, and does not pass them to third parties except where legally obliged. The legal basis is the legitimate interest in operating a secure website (Art. 31 nFADP; Art. 6(1)(f) GDPR where applicable).
8.6 No cookies, no tracking, no transfer abroad
No cookies are set. No analytics or tracking service of any kind is used. No content is loaded from a CDN, ad network, font service, or any other third-party host — the site's Content Security Policy blocks outbound requests entirely. Consequently, no personal data is transferred abroad by this site.
8.7 Your rights
Under the Swiss Federal Act on Data Protection (nFADP/nDSG) and, where it applies, the EU GDPR, you have the right to information, rectification, erasure, restriction, objection and data portability regarding personal data concerning you. Because no personal data is collected by this site, there is in practice nothing to disclose, correct or delete — data held about you in your own browser is under your sole control, and access logs are held by the hosting provider. Requests can nonetheless be sent to the contact address in §1. Swiss residents may address the Federal Data Protection and Information Commissioner (FDPIC); residents of the EU/EEA may lodge a complaint with their national supervisory authority.
9. Changes
These terms may be amended at any time without individual notice; the version published here at the moment you use the site is the one that applies. The date at the top shows when it was last changed. Should any provision be or become invalid, the remainder stays in force.
10. Governing law
These terms are governed by Swiss substantive law, to the exclusion of its conflict-of-law rules and of the UN Convention on Contracts for the International Sale of Goods. The place of jurisdiction is the operator's domicile in Switzerland, insofar as no mandatory statutory jurisdiction — in particular for consumers — provides otherwise.
This page is a plain-language description of how a free hobby site is operated. It is not legal advice, and it is not a substitute for it.