Understand dove from the bytes up.
A source-linked guide to sharing, receiving, provisioning, extending, and automating dove—including what is shipped today and what is only designed.
In the current source
Commands and APIs verified against the dove and dove-core repositories.
Approved behavior
A documented contract that may not be implemented in the current release yet.
Direction, not a promise
Useful context with no claim about availability or release timing.
The shortest useful mental model
dove sends a file from infrastructure you control. In simple mode, it creates an expiring presigned URL to an object in your private S3 bucket. In full mode, it encrypts locally, uploads ciphertext, and creates a share whose access gate can enforce expiry, download counts, and an optional PIN without receiving the decryption key.
The important property: in full mode, the server that serves the file cannot read it. The decryption secret is after # in the link, and URL fragments are not sent in HTTP requests.
Quickstart
1. Install the signed CLI
brew install boomctl/tap/dove See every supported install path and release-verification steps on the canonical install section.
2. Provision your backend
dove provision simple
# or, for encrypted shares with access policy
dove provision full 3. Share and receive
dove share report.pdf --expires 3d
dove share credentials.txt --encrypt --downloads 1 --pin --from "Ada"
dove get <link> --pin 4917 Full-mode recipients can decrypt files smaller than 2 GB in a supported browser. Larger files use dove get so the CLI can write to disk without asking a browser to buffer the whole payload.
Choose the layer you need
| If you need to… | Read |
|---|---|
| Understand exactly where plaintext, ciphertext, keys, and policy travel | How it works |
| Review every AWS resource and permission before provisioning | Provisioning |
| Script existing commands without inventing unsupported flags | Automation |
| Build another UI over the same implementation | Rust core API |
| Brand or replace the recipient page | Custom share pages |
| Give a coding agent bounded, current context | For coding agents |
Canonical sources
These docs are explanatory. When there is a mismatch, current source code wins for shipped behavior:
- boomctl/dove — CLI parsing, prompts, terminal behavior, installer, and releases.
- boomctl/dove-core — transfer traits, encryption, storage, provisioning, and the embedded gate page.
- dove v1 design — approved behavior and security rationale; some syntax in it predates the current CLI.