ttl.space

end-to-end encrypted file transfer

Your data never leaves your device unencrypted.
No account.

Encrypt & send

Drop files here or click to browse
Max 2 GB · end-to-end encrypted · up to 7 days

Quick start

quick start
$ ttl send starmap.pdf No password provided. Generate one? [Y/n]: Generated password: aB3kL9mXq7Rt ·✧★◉ Thank goodness, starmap.pdf is in orbit (2.1 MB) IMPORTANT! Save your password — required to download and decrypt the file. Password: aB3kL9mXq7Rt https://ttl.space/xK9mQ2vLpA $ ttl get https://ttl.space/xK9mQ2vLpA Enter password: ******** Password verified ◉★✧· Phew, starmap.pdf landed safe and sound (2.1 MB)

How it works

End-to-end encrypted

Your file is encrypted on your device before upload; the server stores only the encrypted copy. The recipient decrypts it with the password, in the browser or with the CLI.

Ephemeral by design

Every file has a time-to-live (TTL) unless you choose permanent storage on Orbit. When it runs out, the file is permanently deleted.

AI agent ready

Works in automated pipelines and with AI agents. Structured JSON output, non-interactive operation, and clean exit codes.

CLI native

One binary, no account, no config. Install and go.

Install

homebrew
$ brew install tweenietomatoes/ttl/ttl
scoop
$ scoop bucket add ttl https://github.com/tweenietomatoes/scoop-ttl $ scoop install ttl
binary
# Download from GitHub Releases $ curl -Lo ttl.tar.gz \ https://github.com/tweenietomatoes/ttl/releases/download/v1.6.0/ttl_1.6.0_linux_amd64.tar.gz $ tar xzf ttl.tar.gz && sudo mv ttl /usr/local/bin/
go
$ go install github.com/tweenietomatoes/ttl/cmd/ttl@latest
Free-tier files are automatically deleted after their TTL expires. Designed for short-lived transfers; Orbit adds permanent storage.

Limits

2 GB max file size
7 days max retention
10 / day uploads per IP
30 / 10s requests per IP
Orbit Plan
10 GB files · Permanent storage · 500 GB included
€4.99/mo + VAT →

Zero knowledge

The server never sees your data. Everything is encrypted before it leaves your device.

1.

File contents

Encrypted on your device before upload. The server only stores ciphertext.
2.

File names

Embedded inside the encrypted payload. Invisible to the server.
3.

Passwords

Never transmitted. Used locally to derive the encryption key.
4.

Encryption

Argon2id + XChaCha20-Poly1305 authenticated encryption.