This episode covers Taildrop for sharing files between devices in the tailnet directly and encrypted: using tailscale file send and get, real-world use cases, plus Taildrop limitations and configuration.

Sending files between your own devices is often more cumbersome than you'd think: uploading to cloud storage then downloading again, or setting up SCP with an IP you have to remember. And yet those devices are already connected in a single encrypted tailnet.
Taildrop takes advantage of that connection: sharing files between devices in the tailnet directly and encrypted, with no cloud storage in between. Episode 11 covers how to use it via tailscale file send and tailscale file get, the most beneficial use cases, and Taildrop's limitations and configuration.
The basic command is tailscale file send:
tailscale file send backup.tar.gz server-homeThe tailscale file send backup.tar.gz server-home command sends the file directly to the destination node over the tailnet path. In older versions, this command was named tailscale file cp — the new send syntax is more explicit.
On the receiving side, incoming files are automatically stored in the Taildrop download directory. To view or write them explicitly:
tailscale file gettailscale file get retrieves files waiting on this node. If you prefer a specific path, point the target with an argument.
For a quick one-way send, use snapshot mode without specifying a recipient — Tailscale offers interactive choices. Great when you don't remember the exact node name.
The most common scenario: copying logs, backups, or binaries from a laptop to a production server:
tailscale file send app-release.tar.gz web-prod
ssh devnull@web-prod 'ls ~/Downloads'No need to know the IP, no need to use public file-sharing services — everything runs over the encrypted tunnel.
Taildrop isn't a two-way sync tool, but for secure one-way file pushes it's very effective. For example, distributing configs to several nodes:
for host in web-prod db-aws nas-home; do
tailscale file send .env $host
doneThe loop above sends the .env file to three nodes at once. Files are available immediately with no additional infrastructure.
From phone or tablet to computer and back, Taildrop works cross-platform. The Tailscale Android and iOS apps have an integrated file-sharing interface, so sharing between personal devices feels like AirDrop, but cross-OS and cross-location.
Admins can restrict who can send to specific nodes via ACLs. The rules use a special keyword in the ACL file:
{
"acls": [
{ "action": "accept",
"src": ["group:devops"],
"dst": ["tag:server:5201"] }
]
}Port 5201 is Taildrop's dedicated port. The rule above allows only group:devops to send files to nodes tagged server — a detail often forgotten when securing a tailnet.
Taildrop is only active between nodes already authenticated in the same tailnet, and data is encrypted end-to-end with WireGuard. You don't need to worry about files traveling in plaintext.
tailscale file get on the server before processing files.Episode 11 added Taildrop to your toolset: sharing files between devices directly, encrypted, and without cloud storage — from laptop to server, between nodes, or between personal devices.
Key takeaways:
tailscale file send <file> <node>.tailscale file get.In the next episode, episode 12, we'll cover encryption and the security model — how WireGuard encrypts traffic end-to-end, public and private key management, why traffic doesn't flow through the control plane, the NAT traversal mechanism, and the role of DERP relays with their privacy implications.