Security and privacy
Nothing about your infrastructure reaches us.
UltraPlus Ops is a desktop app with no cloud backend. This page describes version 0.7.1 exactly: every place your data goes, how credentials are stored, and what the app does not protect you from.
Where your data goes
| What | Where it goes |
|---|---|
| SSH and SFTP | Directly from your computer to the server, or through the jump host you set up, with the credentials you choose. |
| Kubernetes | Directly to the cluster API in your kubeconfig, with your own RBAC permissions. |
| AWS (S3, EC2, EKS, SSM, STS, SSO sign-in) | Directly to AWS, using your own AWS profiles and IAM permissions. SSO sign-in opens your organisation’s sign-in page in your browser through the AWS CLI. |
| File Diff | Computed on your computer. No content is uploaded. |
| AI services | None. No logs, configurations, commands or cluster data are sent to any AI service. The app has no AI features. |
| Us | Nothing. No telemetry, analytics, crash reports or account. Nothing passes through a server of ours. |
What is stored on your computer
- Passwords, passphrases and tokens: in your operating system’s keyring (Secret Service on Linux), never in the app’s database or in plain files.
- Hosts, groups, snippets, settings, port forwards and trusted host keys: in a local database in your user profile, readable only by your user account.
- Command history: stored locally. Values that look like secrets (tokens, passwords in common command forms,
kubectl create secret --from-literalvalues and more) are masked before saving. Masking is best effort, so you can switch history off or re-check old history in Settings. - Session recordings: only when you start one, to a local folder.
Your operating system account, disk encryption and backups still protect all of this; the app cannot do that for you.
SSH host keys
Host keys are always verified. The first time you connect, you see the server’s key fingerprint and decide whether to trust it. If a trusted server later presents a different key, the connection is refused and you are told why. The app never trusts a changed key silently.
Safeguards for changes
- Cluster changes the app makes for you, such as a rollout restart or a scale, name the cluster, namespace and resource and wait for your confirmation.
- Clusters marked production ask you to type the cluster name before a change runs.
- The app never grants permissions. AWS IAM and Kubernetes RBAC decide what you can see and change.
These safeguards cover the actions the app performs. They do not restrict commands you type into a terminal yourself, and they do not replace your organisation’s change process.
Licence checks
Licence keys are checked offline, on your computer. A future version may activate keys with our licence service to enforce the three-device limit; it is not switched on in 0.7.1, and the release that turns it on will say so. When it is on, it sends only the licence key, a random device id, the device name you type and the app version. Details are in the privacy policy.
What is not done yet
- Releases are not yet signed with a publisher key. Check the SHA-256 checksum on the download page before installing.
- There is no automatic updater yet, so security fixes reach you when you install them.
- The app has not had an independent security audit.
This website
No cookies, no analytics, no trackers and no third-party scripts or fonts. Read the website privacy notice.
Report a vulnerability
Email [email protected] with “Security report” in the subject. Please include the app version, your Linux distribution and the steps to reproduce. Do not send real credentials, private keys or customer data; use test values. Please give us a reasonable time to fix the issue before you publish it. We are a small team and do not offer a bug bounty.