YetAnotherFileLayer

Questions people actually ask

Every answer below is written to stand alone – whether you found it on Google, or an AI assistant quoted it to you.

How do I send a file from my laptop to my VPS with Claude?

Install the YAFL MCP server (npx -y @yafldev/mcp) in both environments. On the laptop, the agent calls upload_file – the file is encrypted locally and the send returns a ready-to-run retrieval command. Paste that one line to the agent on the VPS; it downloads and decrypts. No scp, no key juggling. Full setup →

How can two AI agents share a file?

Agent A calls upload_file and passes the resulting link or compact code; agent B calls download_file. The agents never need to run at the same time – the 24-hour link is the buffer, and get_status lets an agent check a link's remaining lifetime without downloading anything. Running the same pattern between two servers instead of two agents? See the server-to-server transfer guide.

Is there a WeTransfer with end-to-end encryption?

YAFL encrypts files in your browser or CLI before upload – the app server never handles the file bytes, storage only ever holds ciphertext, and the decryption key travels exclusively in the URL's #fragment, which browsers never send to servers. Nobody who operates the infrastructure can read your files. Free tier: 100 MB, 24-hour links.

How do I give Claude Code a file that's on another machine?

Upload it from where it is (yafl put file.pdf or drag onto yafl.dev – sending needs a free account), then hand the agent the link. Claude Code downloads it with the YAFL MCP tool and reads it from local disk. For images and screenshots specifically, here's the walkthrough.

How does an agent on a headless server log in?

Device flow (RFC 8628): the agent runs yafl login, prints a short code and a URL, and you approve it in any browser – your phone works. The agent then holds its own named API key, which you can revoke individually if that machine is ever compromised.

Access stops at 24 hours – the server answers with a clear expired status (machine-readable, so agents can handle it), and storage cleanup follows as a backstop. Need it gone sooner? Send it as a one-time link that burns after the first download, or revoke it early with delete_file.

Yes – add a password at upload (upload_file with password, or in the web UI). It derives a second key layer client-side; the server never sees the password either. The recipient needs the link and the password.

Is YAFL free?

The free tier is 100 MB per file with 24-hour expiry, MCP + CLI + web included. Larger files and custom expiry are planned as paid features.

Install: npx -y @yafldev/mcp with YAFL_API_KEY set, or the one-liner curl -fsSL https://yafl.dev/install.sh | sh.

Get started Full setup docs →