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 | sh

Sign in or create an account

30s init alice@example.com

You'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 whoami

Sending 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 days

One-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-def456

Inbox & Reading

View secrets others have sent you and decrypt them.

List your inbox

30s inbox

Open a secret

30s open abc123-def456

The 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 devices

Remove a device

If a device is lost or compromised, remove it so secrets can no longer be sent to it:

30s devices delete abc123-def456

Rotate 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 keys

Sign out

30s logout

Delete your account

Permanently delete your account and all data:

30s destroy

Workspaces

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 domains

Policies

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 restriction

Activity 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 entries

Billing

30s billing              # Show billing status
30s billing subscribe    # Subscribe to paid plan
30s billing manage       # Open Stripe portal

Webhooks

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 webhook

Tips & 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.fish

Quick 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' 1h

Ready to get started?

Install 30s and start sharing secrets securely.

Get Started