@deltabreen/share

v0.4.0

Published

Send end-to-end encrypted files from a terminal or an AI coding assistant. Encrypts on your machine; the service never sees a file or a key.

Readme

@deltabreen/share

Send end-to-end encrypted files from a terminal, a script, or an AI coding assistant (Claude Code, Cursor, VS Code). The file is encrypted on your machine with a key that lives only in the link. The service stores ciphertext; it never sees a file, a filename, or a key.

npx @deltabreen/share login                       # opens the browser once
npx @deltabreen/share send ./contract.pdf --to [email protected] --one-time --expires 3

Output is the link. Everything after # is the key; the service never receives it. --to emails the link from your account (Pro and above).

With an assistant that already has the Share connector (Claude Code, Cursor), skip login: the assistant asks the connector for a one-time pairing code and runs share login --code sbp_… itself. One sign-in, in the connector.

share send <file> [--to a,b] [--message "…"] [--expires 7] [--downloads N] [--one-time] [--password PW] [--label "…"]
share list [--status active]
share get <id> · share receipts <id> · share revoke <id>
share whoami · share logout

share mcp runs the same commands as a local MCP server over stdio, for Claude Desktop (install share.mcpb, shipped in this package and at https://cdn.jsdelivr.net/npm/@deltabreen/share/share.mcpb), Cursor and VS Code (npx -y @deltabreen/share mcp). Tools: login, send_file, list_shares, get_receipts, revoke_share, whoami. When send_file emails the link, the tool result carries only the keyless link.

--json on any command prints one object, for scripts and assistants. SHARE_API_KEY=sbk_… (Settings → API & MCP) skips login; SHARE_BASE_URL points at another server. Sign-in is stored in ~/.config/share/config.json (mode 0600), or %APPDATA%\share\config.json on Windows.

Needs Node 18.3 or newer. The crypto is the same code the web app runs; the shared vector test keeps them in step.