Termpolis Remote

Your terminals, on your phone

Check on the agents already running on your computer, read what they have printed, and type back — from anywhere, end to end encrypted.

In review App Store — iPhone Coming next Google Play — Android

Not out yet. The desktop app it pairs with is available now on Windows, macOS and Linux, free and open source.

Termpolis Remote needs the desktop app. It runs no agent, holds no model credentials and does nothing on its own. You need Termpolis running on a Mac, Windows or Linux machine with Remote switched on in Settings. The phone is a viewer and a keyboard for that machine; close it and the work carries on without it.

Setting it up

Two minutes, once per computer.

  1. Turn Remote on, on the desktop Settings › Remote › Enable remote access. The same panel is where you choose what a phone is allowed to do: read output, start terminals, type, close terminals.
  2. Scan the code the desktop shows Point the phone at it. If the camera is awkward or switched off, the same code can be pasted in by hand on the pairing screen — there is a field for it.
  3. Compare the eight words Both screens show the same eight words, derived from the two devices' keys. If they match, nothing is sitting in between. If they do not, unpair and try again on a network you trust. The words do not change while the pairing lasts, so they can be compared again at any time.
  4. Pair the next machine, if you have one Up to 16. A work laptop, a home desktop, a Linux box in the corner. Each pairing has its own key and its own name, and you switch between them from the terminal list.

What it does, and what it does not

It does

  • List the terminals running on the paired desktop, with what each one is doing.
  • Show what an agent has printed, live.
  • Type into a terminal, and send.
  • Start a new AI terminal in a directory the desktop already knows about.
  • Close a terminal.
  • Switch between the desktops you have paired, and forget any one of them.

It does not

  • Run an agent, or hold a conversation of its own. Nothing executes on the phone.
  • Store your transcript. Output is held in memory while the app is open, never written to disk.
  • Ask you to make an account. There is no sign-in, because there is no server of ours to sign in to.
  • Collect anything. No analytics, no crash reporter, no advertising identifier.
  • Grant itself permissions. Every request is checked again on the desktop.

Why it is safe to point at your own machine

The relay in the middle is built so that trusting it is not required.

Encrypted end to end

  • X25519 key agreement, HKDF-SHA256, ChaCha20-Poly1305.
  • The keys are derived by the two devices when you pair, and exist nowhere else.
  • The relay sees a room id, a message size and a time. Not one byte of content.
  • TLS underneath, sealed payload inside. Both layers would have to fail.

Kept on the device

  • One private key per paired desktop, in the iOS Keychain / Android Keystore.
  • Available only while the device is unlocked, and not restored onto another device.
  • Unpairing erases that desktop's key and record — and works whether or not the relay is reachable.
  • Either end can revoke. The channel cannot be reopened without both.

The wire format is published in full, and the desktop and phone implementations of it are tested against each other on every push. The rest of the detail lives in the privacy policy.

Support

Something not working, or a question this page does not answer? Either route reaches the same person.

[email protected]

Best for anything you would rather not put in public — a pairing problem with your own machine names in it, or a security report. Please say which phone, which desktop operating system, and which app version (Settings, at the bottom).

GitHub issues

Best for bugs and feature requests. Public, searchable, and it is where fixes get tracked to a release. Termpolis is Apache 2.0 and developed in the open.

Troubleshooting

The handful of things that actually go wrong.

The phone cannot find the desktop

The desktop app has to be running, with Remote switched on in Settings — the phone talks to it through the relay, not to a server that holds anything for you. If the machine is asleep or the app is closed, there is nothing at the other end of the room. The desktop's Settings › Remote panel shows the connection state and the phones that are paired.

The camera will not read the pairing code

Use the field on the pairing screen and paste the code in by hand — it is the same code, and pairing works identically. If the camera should work but the app never asks for it, grant it in iOS Settings › Termpolis Remote › Camera. The camera is used for this one thing; frames are decoded on the phone and thrown away.

The eight safety words do not match

Do not continue. Matching words mean the two devices agreed on a key that nothing in between could derive; words that differ mean something is in between. Unpair on both ends and pair again on a network you trust. Worth reporting to [email protected] if it happens on a network you expected to be safe.

Typing is greyed out, or a terminal will not start

Those are permissions, and they are granted on the desktop, not on the phone: Settings › Remote, per phone. The Settings screen in the app lists what the desktop currently allows this phone to do. The phone can only report them — it cannot grant itself anything, by design.

The terminal list is empty

The list shows terminals that already exist on that desktop. If none are open, start one there, or use New AI terminal if the desktop has granted that permission. If you have paired several computers, check you are looking at the right one — the desktop's name is in the title bar, and Desktops switches between them.

Output stops updating

Reopen the terminal from the list. The phone holds output only in memory while the app is on screen, so leaving it in the background for a long time can end the session. Nothing is lost — the scrollback lives on the desktop, and reopening pulls it again.

I want this phone off my machine entirely

Either end is enough. On the phone: Settings › Desktops › Remove, which erases that desktop's key and record. On the desktop: Settings › Remote, revoke the device. Other pairings are untouched either way, and deleting the app destroys every key it held.

Requirements

Phone

  • iPhone on iOS 16 or later. An Android build follows.
  • A network connection. The phone and the desktop do not have to be on the same one.

Desktop

  • Termpolis on Windows, macOS or Linux — free download.
  • Remote switched on in Settings, plus the permissions you want this phone to have.

Privacy

Short version: the app collects nothing, there is no account, and no server of ours ever sees your terminal. The dependency list is short on purpose and is checked by a test on every push, so that claim cannot drift quietly. The full policy — desktop, phone and relay — is at termpolis.com/privacy.html.