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 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 travelHow it works
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.