Secure secret sharing with Google identity — CLI and MCP server
Project description
DeadDrop
Secure secret sharing with Google identity. Store secrets, share them by email, revoke access anytime. Everything encrypted with AWS KMS. No passwords, no API keys — just Google sign-in.
Quick Start
drop setup # enter https://api.deaddrop.one
drop login # sign in with Google
Store & Retrieve
$ drop put openai-key "sk-proj-abc123..."
Stored "openai-key"
$ drop get openai-key
sk-proj-abc123...
$ drop ls
openai-key
db-password
stripe-secret
Share & Revoke
Share a secret with someone by their Google email. They authenticate with Google too — no tokens or passwords to manage.
$ drop share openai-key alice@company.com
Shared "openai-key" with alice@company.com
$ drop who openai-key
alice@company.com
bob@company.com
Alice retrieves it with your email as the prefix:
$ drop get david@company.com/openai-key
sk-proj-abc123...
You rotate the key? Just update it — Alice always gets the latest value. Alice leaves the team?
$ drop revoke openai-key alice@company.com
Revoked access for alice@company.com
Done. Instant. No key rotation needed.
Why Not Just Slack the Key?
- No revocation — once sent, you can't unsend it
- No audit trail — who accessed what, when?
- Stale values — rotate a key and now you're chasing everyone to update
- Copy-paste chains — secrets end up in logs, screenshots, chat history
DeadDrop gives you indirection. You share access, not the secret itself. The actual value is encrypted at rest with KMS and only decrypted on authorized retrieval.
Environment Variables
Inject secrets directly into your shell:
eval $(drop env openai-key)
# → export OPENAI_KEY="sk-proj-abc123..."
# Custom variable name
eval $(drop env openai-key OPENAI_API_KEY)
# Shared secrets work too
eval $(drop env alice@company.com/db-password DB_PASS)
Add to .bashrc / .zshrc so they're always loaded:
eval $(drop env openai-key OPENAI_API_KEY)
eval $(drop env db-host DB_HOST)
MCP Server (AI Agent Integration)
DeadDrop includes an MCP server so AI agents (Windsurf Cascade, Claude Desktop, etc.) can manage secrets directly as tools.
drop mcp-install # auto-configures Windsurf + Claude Desktop
# restart your editor
Then just talk to your agent:
"Store my OpenAI key as openai-prod"
"Share the database password with ops@company.com"
"What secrets do I have?"
"Get the Stripe key that alice@company.com shared with me"
The agent calls the right tool automatically. No copy-paste needed.
Manual MCP Config
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"deaddrop": {
"command": "python3",
"args": ["/path/to/deaddrop-mcp.py"]
}
}
}
CLI Reference
| Command | Description |
|---|---|
drop setup |
Configure CLI endpoint |
drop login |
Sign in with Google |
drop whoami |
Show current identity |
drop put <name> <value> |
Store a secret |
drop get <name> |
Get your own secret |
drop get <owner>/<name> |
Get a shared secret |
drop rm <name> |
Delete a secret |
drop ls |
List your secrets |
drop share <name> <email> |
Share with someone |
drop revoke <name> <email> |
Revoke access |
drop who <name> |
See who has access |
drop shared |
List secrets shared with you |
drop env <name> [VAR] |
Print export statement |
drop mcp-install |
Install MCP server for AI agents |
Security
- Auth: Google OAuth 2.0 — ID tokens verified server-side
- Encryption: AWS KMS envelope encryption — no plaintext at rest
- Transport: HTTPS only
- Access: Owner-based — only you and the emails you explicitly share with
- Audit: Every retrieval logged with identity and timestamp
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file deaddrop_cli-1.0.0.tar.gz.
File metadata
- Download URL: deaddrop_cli-1.0.0.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd4c17f7a7186cb0d551f994a31a4a6c2a6456e6804000a201baed16fb68578d
|
|
| MD5 |
49f9ee1ad83903f18cdcf2417d8b5011
|
|
| BLAKE2b-256 |
0a4801a07c3304fe287bfe9acbda4defd31cd9b7e36a0c4b19016c98a37f202f
|
File details
Details for the file deaddrop_cli-1.0.0-py3-none-any.whl.
File metadata
- Download URL: deaddrop_cli-1.0.0-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14cd0257332cecd2c0a4b02483f956893b5139bf1c4f9f95759cd9d1c5bb54d0
|
|
| MD5 |
dd988a465bb570d580d897425039bc06
|
|
| BLAKE2b-256 |
96e89af27f1395c37204ee9b44ebef124d6c6d30743455de9a2133eb43566d23
|