Falco
Portable SSH launchers for people and AI agents.
Launchers reveal connection metadata. Encrypted-key builds contain a private key and must stay private.
- Year
- 2026
- Role
- Design and implementation

Overview
Falco turns a server connection into a portable executable and a generated how-to-use.md guide. A Python desktop editor—or the same editor in headless mode—stamps connection settings into prebuilt Rust launchers for macOS, Windows, and Linux. After private first-run credential setup, people or shell-capable AI agents can run commands, open a terminal, and manage files over SFTP. Passwords stay in the OS credential store; the launcher still reveals its host, port, and username, and optional encrypted-key launchers embed a private key and should stay private.
Technology
- Rust
- tokio
- russh
- russh-sftp
- ssh-key
- keyring
- Python 3.12
- Tkinter
- PyInstaller
- GitHub Actions
Built around
- Builds need no compiler or network connection. The GUI and headless builder use the same prebuilt Rust stubs and produce the same executables and agent instructions, including a VPN reminder when needed.
- Host identity is now pinned on first use in the OS store. Changed host keys are rejected before authentication; accepting a new fingerprint is an explicit action, not an automatic retry. First-use trust still requires a trusted network or independent fingerprint verification.
- Passwords and key passphrases are entered only in a private terminal prompt, never via arguments, environment variables, or agent chat. Missing unattended setup and other launcher failures produce structured JSON diagnostics with suggested next actions.
- Commands stream their remote output and return the actual exit status. SFTP supports files, directories, listing, moves, and removal. Release publication waits for Python and Rust checks on all three operating systems.
If I kept going
- Sign distributed editors and launchers so recipients can verify provenance without bypassing platform safeguards.
- Make first-connection identity verification clearer and keep the encrypted-key sharing risks explicit in the editor and generated guide.