dove
DocumentationStart here
dove documentation

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.

Shipped

In the current source

Commands and APIs verified against the dove and dove-core repositories.

Designed

Approved behavior

A documented contract that may not be implemented in the current release yet.

Future

Direction, not a promise

Useful context with no claim about availability or release timing.

The shortest useful mental model

dove sends files from infrastructure you control and, in full mode, can request one back. Simple mode creates an expiring presigned URL to a private S3 object. Full mode encrypts locally, stores ciphertext, and lets the access gate enforce expiry, download or upload policy, and an optional PIN without receiving the fragment secret.

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. Send or request a file

dove share report.pdf --expires 3d
dove share credentials.txt --encrypt --downloads 1 --pin --from "Ada"

dove request "the signed NDA" --from "Ada" --pin --expires 1d
dove requests
dove requests get <request-id>

Full-mode share recipients can decrypt files smaller than 2 GB in a supported browser. A request uploader needs only a browser and can send one file up to 512 MiB. Larger received shares use dove get; request collection uses the local request ledger.

Choose the layer you need

If you need to…Read
Understand exactly where plaintext, ciphertext, keys, and policy travelHow it works
Ask someone for a file and collect the encrypted resultFile requests
Review every AWS resource and permission before provisioningProvisioning
Script existing commands without inventing unsupported flagsAutomation
Build another UI over the same implementationRust core API
Brand or replace the recipient pageCustom share pages
Give a coding agent bounded, current contextFor 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.