Documentation
Everything you need to know about using 30s — the end-to-end encrypted secret sharing CLI. Browse the docs here, or run 30s --help anytime.
Getting Started
Install 30s and set up your account in seconds.
Installation
curl -fsSL https://30s.sh/install | shSign in or create an account
30s init alice@example.comYou'll receive a verification code via email. Once verified, your device keys are generated locally and you're ready to send secrets.
Check your identity
30s whoamiSending Secrets
Send encrypted secrets to one or more recipients. Secrets auto-expire after a configurable duration.
Basic usage
30s send -t bob@example.com 'my secret message'By default, secrets expire after 30 seconds. The recipient has that window to open it.
Custom expiration
30s send -t bob@example.com 'api key' 5m # 5 minutes
30s send -t bob@example.com 'password' 1h # 1 hour
30s send -t bob@example.com 'cert' 7d # 7 daysOne-time secrets
Use -o to delete the secret immediately after it's read once:
30s send -t bob@example.com -o 'one-time password'Multiple recipients
30s send -t alice@example.com -t bob@example.com 'shared secret'Delete a sent secret
Changed your mind? Delete a secret you sent before it's read:
30s delete abc123-def456Inbox & Reading
View secrets others have sent you and decrypt them.
List your inbox
30s inboxOpen a secret
30s open abc123-def456The secret is decrypted locally using your device keys. It never leaves your machine in plaintext.
Aliases & Groups
Save frequently-used contacts as aliases and organize them into groups for quick access.
Aliases
30s alias # List all aliases
30s alias bob # Show what 'bob' maps to
30s alias bob bob@company.com # Create or update alias
30s alias delete bob # Remove an alias
# Use aliases when sending
30s send -t bob 'secret'Groups
Groups let you send to multiple people at once. Reference groups with @:
30s groups # List all groups
30s groups team # Show members
30s groups team alice@co.com bob@co.com # Create/update
30s groups delete team # Remove group
# Send to all group members
30s send -t @team 'shared credentials'Devices & Keys
Manage your registered devices and encryption keys. Each device has its own key pair.
List devices
30s devicesRemove a device
If a device is lost or compromised, remove it so secrets can no longer be sent to it:
30s devices delete abc123-def456Rotate keys
Rotate your API key (requires email verification) or device encryption keys (inbox must be empty):
30s rotate auth # Rotate API key
30s rotate keys # Rotate device encryption keysSign out
30s logoutDelete your account
Permanently delete your account and all data:
30s destroyWorkspaces
Workspaces are for teams and organizations. Verify your domain and set policies for your team.
Create a workspace
30s workspace create 'Acme Corp'Domain verification
30s workspace domain add acme.com # Start verification
30s workspace domain verify acme.com # Complete verification
30s workspace domains # List all domainsPolicies
Workspace admins can enforce policies like maximum TTL or requiring one-time secrets:
30s workspace policies # View current policies
30s workspace policy set max-ttl 1h # Max 1 hour expiration
30s workspace policy set require-once true # Require one-time reads
30s workspace policy clear max-ttl # Remove restrictionActivity log
Paid workspaces can view an audit log of all drop activity:
30s activity # Last 7 days
30s activity --since 24h # Last 24 hours
30s activity --type drop.sent # Filter by event type
30s activity --all # Fetch all entriesBilling
30s billing # Show billing status
30s billing subscribe # Subscribe to paid plan
30s billing manage # Open Stripe portalWebhooks
Get notified when drops are sent, opened, or deleted via HTTP webhooks.
30s webhooks # Show current config
30s webhooks set https://example.com # Set webhook URL
30s webhooks test # Send a test event
30s webhooks clear # Remove webhookTips & Tricks
Power-user tips to get the most out of 30s.
Pipe content from stdin
Use - to read the secret from stdin. Great for piping file contents or command output:
# Send a file
cat ~/.ssh/id_rsa.pub | 30s send -t bob@example.com -
# Send command output
kubectl get secret my-secret -o json | 30s send -t ops@example.com -
# Send from a password manager
pass show api/production | 30s send -t deploy@example.com -Shell completions
Enable tab completion for your shell:
# Bash
30s completions bash > ~/.bash_completion.d/30s
# Zsh
30s completions zsh > ~/.zfunc/_30s
# Fish
30s completions fish > ~/.config/fish/completions/30s.fishQuick send with aliases
Set up aliases for people you share secrets with often:
30s alias deploy deploy@mycompany.com
30s alias cto sarah@mycompany.com
# Now sending is fast
30s send -t deploy 'new API key'
30s send -t cto -o 'board meeting link'Team distribution with groups
30s groups devs alice@co.com bob@co.com charlie@co.com
30s send -t @devs 'staging db password' 1hReady to get started?
Install 30s and start sharing secrets securely.