TransIT AI

Product

File transfer

Investigating a device often ends the same way: you need a file off it, or a fix onto it. Transit’s Files surface is a dual-pane file browser — your local machine on the left, the remote device on the right — that runs over SFTP against the devices already in your inventory. It reuses the SSH side’s credentials and host-key trust, so there’s nothing new to set up.

Like every other surface in Transit, the split is the same: you move files in either direction; the AI can’t touch any of it.

Available in Transit 5.0.0 and later.

SFTP today. Transit moves files over SFTP. SCP — for the rare gear with no SFTP subsystem — is planned.

Two actors, one surface

YouThe AI agent
Can doBrowse both sides, create / rename / delete, transferNothing — no access at all
Gated?No — it’s your files, your deviceN/A — no tool reaches file transfer
Sees it?Yes — it’s your surfaceNo — structurally invisible
PriceFree

The dual-pane browser

Files opens as a SecureFX-style two-pane browser: your local filesystem on the left, the remote device on the right. Each side has the usual moves — open folders and create, rename, and delete entries. Navigate the two independently; the panes don’t have to mirror each other.

Move a file — four ways

Transfers run in either direction (local → remote or remote → local). Start one however suits your hands:

  1. Double-click a file to send it to the other pane’s current folder.
  2. Toolbar — select rows and click the upload / download button.
  3. Drag between panes — drag rows out of one pane and drop them in the other.
  4. Drag in from your OS — drag files straight from Finder or Explorer onto the remote pane to upload them.

Directory transfers are recursive, and each file’s modification time is preserved on the far side.

The transfer queue

Every transfer joins a live queue with per-file progress, transfer speed, and a Cancel button. When a transfer would overwrite something that’s already there, Transit asks once with a batch policy — Overwrite all, Skip, or Cancel — rather than nagging per file. If the connection drops mid-transfer, Transit reconnects in place and you pick back up.

Same inventory, same credentials, same trust

The Files surface isn’t a second place to configure devices. It transfers over the same inventory you already use for SSH — the same stored credentials (by reference, from your OS keyring / 1Password / env) and the same host-key trust (the TOFU pin from your first SSH connect). Opening a device’s remote side is the same connect you already know; there is no separate credential to manage.

Turning it off (and DLP)

File transfer is on by default and free. It also doubles as a data-loss-prevention control: administrators who don’t want files leaving or landing on managed machines can remove the whole surface with a config switch:

[files]
enabled = false

in Transit’s config.toml, which lives next to the transit.toml inventory:

OSPath
macOS~/Library/Application Support/Transit/config.toml
Windows%APPDATA%\Transit\config.toml
Linux~/.config/Transit/config.toml

Create the file if it doesn’t exist yet, then restart Transit. With it set, the Files rail tab doesn’t appear and no transfer can start — the surface is gone, not merely hidden.

Why the AI can’t touch it

File transfer is human input, by construction — the same two-actor model as the rest of Transit. The agent’s tool surface is fixed at six abilities (list open sessions, read redacted scrollback, propose a command, propose a read-only API GET, query a packet capture, ask a question), and none of them reach the file browser. The AI can’t list what’s on either side, can’t read a file, and can’t move one — there is no tool that reaches this surface, and no new one was added for it. It’s structurally blind to file transfer, exactly as it is to your local terminal.

That’s architectural, not a preference you could loosen. See the security model for how the fixed six-ability menu and the agent firewall are enforced.