Self-hosted · Zero-knowledge

Share diffs and files your server can't read.

AgentGate encrypts everything in your terminal before it leaves your machine. AES-256-GCM, client-side. The server only ever holds ciphertext -- and forgets it after 7 days.

Install the CLI
  • Single Go binary
  • SQLite storage
  • No external services

Why AgentGate

End-to-end encrypted

AES-256-GCM, encrypted in the CLI. Zero-knowledge by design -- the server never sees your content or your key.

Auto-expiry

Shared content expires after 7 days by default. Each upload can set a shorter or longer TTL when you need it.

Lightweight

One binary, SQLite storage, no external dependencies. Run it with a flag or bring it up with Docker Compose.

Get started

From zero to a shared link in four steps

  1. 01

    Run the server

    deploy
    # Download and run
    ./agentgate-server --port 8080 --base-url https://your-domain.com
    
    # Or with Docker
    docker compose up -d
  2. 02

    Install the CLI

    install
    # Install with go install
    go install github.com/siygle/agentgate/cmd/agentgate@latest
    
    # Or grab a prebuilt binary from GitHub Releases
    # https://github.com/siygle/agentgate/releases
  3. 03

    Point it at your server and make a key

    configure
    # Configure your server (required)
    export AGENTGATE_SERVER=https://your-domain.com
    
    # Set up your encryption key
    agentgate key-gen
    source ~/.zshrc
  4. 04

    Share anything

    share
    agentgate git-latest          # Latest commit diff
    agentgate git-staged          # Staged changes
    agentgate files path/to.ts    # Files
    agentgate docs ./notes.md     # Markdown / MDX documents
    agentgate plan ./plans/my     # A reviewable visual plan
    agentgate webapp ./dist       # A runnable static webapp