Teminops
← All posts
Security

How Teminops keeps your servers, credentials and data safe

An AI terminal sits close to your most sensitive systems: production servers, root passwords and SSH keys. Here is how Teminops protects each of them, layer by layer.

Teminops Engineering · November 11, 2026 · 12 min read
Teminops security: encrypted vault, verified SSH hosts, private AI masking and agent guardrails

01Our security principles

Teminops is a desktop app. You add your Linux and Unix servers, open SSH sessions in a fast terminal, and use AI to explain errors, read logs and suggest fixes. We built it for teams that run critical infrastructure, including banks and financial institutions, and four principles guide every design decision:

Local first

Your hosts, passwords and keys stay on your computer, encrypted with a key that only your operating system can unlock.

Safe by default

The protective setting is always the default: strict AI masking, X11 forwarding off, and approval for any risky command.

Transparent

You can preview exactly what would be sent to the AI before it is sent, and see why a command was blocked.

Defence in depth

No single control carries the load. If one layer fails, the next one still protects you.

02Where your data goes (and where it doesn't)

Understanding the data flow is the first step in any security review. Teminops keeps the paths deliberately simple:

Your computer Teminops desktop app Encrypted vault Hosts · passwords · keys · settings (AES-256-GCM) SSH client + host key check Verifies the server before sending credentials AI privacy filter Masks IPs, hosts, users, secrets, card numbers Backup encryption Encrypted with your backup key before upload Data key protected by OS keychain Your Linux / Unix servers Direct SSH, encrypted end to end AI provider Receives masked text only (HTTPS) Teminops cloud backup Stores ciphertext it cannot decrypt Never sent anywhere Plain-text passwords, private keys, the vault data key SSH masked encrypted
Figure 1. Data flow. Sensitive data is protected before it leaves your computer, not after.

03Credentials encrypted at rest

Every saved host, vault credential and setting (including your AI provider keys) is encrypted on disk with AES-256-GCM. GCM is an authenticated cipher, so the app detects any tampered record and refuses to use it.

The encryption key is not built into the app and not derived from a guessable value. On first launch Teminops generates a random 256-bit key for that installation. That key is then wrapped by your operating system's own secure storage:

Your records hosts · passwords SSH keys · AI keys AES-256-GCM Per-install data key random 256-bit key, unique to this install stored only wrapped OS secure storage Keychain · DPAPI libsecret · KWallet your OS login only Copying the data folder to another machine or user account gives an attacker nothing they can decrypt.
Figure 2. Layered key protection for locally stored data.

The result: someone who copies your Teminops data folder, or steals a backup of your disk, gets only ciphertext. The key can only be unlocked by your operating-system account on that machine.

Fail-safe design. If the keychain cannot unlock the key (for example, the profile was copied to another computer), Teminops refuses to write new data rather than silently mixing keys or falling back to weaker protection.

04Verified SSH connections

Encryption only helps if you are talking to the right server. A classic attack on SSH users is the man in the middle: an attacker on the network impersonates your server and collects the password you type.

Teminops verifies the server's host key fingerprint during the SSH handshake, exactly like OpenSSH's known_hosts, and it does this before any password or private key is sent.

Server presents its host key Known host? Same key Connect silently, then authenticate New server Show fingerprint, you confirm it Key changed Red warning, default is Disconnect No credentials sent until this check passes
Figure 3. Host key verification happens before authentication.

X11 forwarding: off unless you need it

Forwarding graphical apps from a server can expose your local screen and keyboard to that server. Teminops makes it a per-host choice, off by default:

SettingWhat it does
Off defaultNo X11 request is made, and any X11 channel the server tries to open is rejected.
UntrustedLike ssh -X. Remote apps get a restricted cookie, so they cannot read your keystrokes or capture other windows.
TrustedLike ssh -Y, for the rare apps that fail in untrusted mode. Use it only with servers you fully trust.

In both forwarding modes the server only ever sees a random, per-connection placeholder cookie. Teminops checks each incoming X11 connection against it, so other users on the same server cannot use your forwarding.

05AI with privacy built in

AI is most useful when it can see your error messages and logs, and those often contain internal IPs, hostnames, usernames and sometimes passwords. Teminops filters every AI request on your computer before it is sent.

What you see in the terminal
ssh: connect to host db-prod-01.bank.internal
  (10.20.4.17) port 22 failed
user svc_payments login denied
DB_PASSWORD=Pr0d#2026!x
card=4111 1111 1111 1111
What the AI provider receives
ssh: connect to host HOST_1
  (IP_1) port 22 failed
user USER_1 login denied
DB_PASSWORD=[SECRET]
card=[CARD]
One switch to turn AI off. Settings → AI copilot has a master switch, enforced in the app's core rather than just hidden in the interface. When it's off, no AI request can be made from anywhere in the app. Teams that are not ready for AI can still use Teminops as a secure SSH terminal.

06Guardrails for the AI agent

Teminops' agent mode can propose and run commands to troubleshoot a server. Every proposed command passes through a safety policy that sorts it into one of three groups:

AI proposes a command Safety policy runs in the app core, not the UI Auto Read-only diagnostics: df, uptime, ps Needs your approval Anything that changes state, or is unknown Blocked mkfs, disk wipes, shutdown, reboot …
Figure 4. Every agent command is classified before it can run.

You stay in control: anything the agent refuses, you can still type yourself, deliberately.

07A hardened, signed desktop app

A security tool must itself be hard to tamper with. Teminops is built on a current Electron release (45) and locked down at several levels.

ProtectionWhat it means for you
Code signingThe macOS app is signed with an Apple Developer ID and notarized by Apple. The Windows installer is signed with an organisation-validated code-signing certificate. You can verify the installer came from us, unmodified.
Hardened runtimeOn macOS the app runs with Apple's hardened runtime and requests only the minimum entitlement the JavaScript engine needs. It doesn't allow unsigned code or foreign libraries to load.
Electron fusesDebug and scripting back doors are switched off in the binary itself: the app can't be run as a plain Node.js interpreter, and NODE_OPTIONS and inspector flags are ignored. The app only loads its own code, which is checked for integrity at startup.
Content Security PolicyThe interface runs only scripts shipped inside the app. Inline scripts, remote scripts, frames, plugins and form submissions are all blocked.
No remote assetsFonts and icons are bundled in the app. Opening Teminops makes no calls to third-party content delivery networks (CDNs).
Isolated rendererContext isolation separates the interface from the app's privileged core. Sensitive actions such as SSH, file access and AI calls go through a narrow, checked bridge.
Sandboxed reportsPDF reports contain output from remote servers and AI text, so they are rendered in a fully sandboxed window with no JavaScript and no navigation.
Local services locked downInternal services listen on the loopback interface only, and require a secret token generated at each launch, so other apps or websites on your machine can't connect to them.
No native add-onsThe shipped app contains no compiled third-party native modules. That shrinks the attack surface and keeps every binary covered by our signature.

08End-to-end encrypted backups

Losing a laptop shouldn't mean losing your server inventory, and a backup shouldn't become a new place to leak it. Teminops backups cover hosts, vault credentials, tunnels, snippets, known host keys and settings, and they are encrypted on your computer with your own backup key before being written or uploaded.

Your data hosts · vault · tunnels snippets · settings Encrypt on your device key derived from your backup key (scrypt) File or cloud only ciphertext is stored; we can't read it
Figure 5. Backups are encrypted before they leave the app.

09For banks and regulated teams

Many of our customers operate under frameworks such as PCI DSS and ISO/IEC 27001. Teminops is a tool rather than a certified service, but its controls are designed to support the requirements your auditors ask about:

AreaHow Teminops helps
Protecting stored credentialsStrong authenticated encryption at rest, with keys bound to the OS account.
Protecting data in transitSSH with host key verification; HTTPS for AI and cloud services.
Cardholder dataCard numbers are detected and removed from AI requests and never restored.
Data minimisationInfrastructure identifiers are masked before AI processing; AI can be switched off entirely.
Change controlThe AI agent cannot run state-changing commands without human approval; destructive commands are blocked.
Software integritySigned and notarized installers, integrity-checked app code, no remote code loading.
Backup and recoveryClient-side encrypted backups with defined retention.

10Shared responsibility: honest limits

Good security means being clear about what a product can and cannot do. A few things are worth knowing:

Security questions from your team?

We're happy to walk your security team through Teminops' architecture, answer due-diligence questionnaires, and discuss deployment in regulated environments.

Try Teminops Ask our team