✓ Verified 💻 Development ✓ Enhanced Data

Secret Portal

Spin up a one-time web UI for securely entering secret keys and env vars.

Rating
4.2 (114 reviews)
Downloads
14,754 downloads
Version
1.0.0

Overview

Spin up a one-time web UI for securely entering secret keys and env vars.

Complete Documentation

View Source →

Secret Portal

Spin up a temporary, one-time-use web UI for securely entering secret keys and environment variables. No secrets ever touch chat history or terminal logs.

Quick Start

bash
# Single key with cloudflared tunnel (recommended)
uv run --with secret-portal secret-portal \
  -k API_KEY_NAME \
  -f ~/.secrets/target-env-file \
  --tunnel cloudflared

# With guided instructions and a link to the key's console
uv run --with secret-portal secret-portal \
  -k OPENAI_API_KEY \
  -f ~/.env \
  -i '<strong>Get your key:</strong><ol><li>Go to platform.openai.com</li><li>Click API Keys</li><li>Create new key</li></ol>' \
  -l "https://platform.openai.com/api-keys" \
  --link-text "Open OpenAI dashboard →" \
  --tunnel cloudflared

# Multi-key mode (no -k flag, user enters key names and values)
uv run --with secret-portal secret-portal \
  -f ~/.secrets/keys.env \
  --tunnel cloudflared

Options

FlagDescription
-k, --keyPre-populate a single key name (user only enters the value)
-f, --env-filePath to save secrets to (default: ~/.env)
-i, --instructionsHTML instructions shown above the input field
-l, --linkURL button for where to get/create the key
--link-textLabel for the link button (default: "Open console →")
--tunnelcloudflared (recommended), ngrok, or none
-p, --portPort to bind to (default: random)
--timeoutSeconds before auto-shutdown (default: 300)

Tunneling

Use --tunnel cloudflared — it's free, requires no account, has no interstitial pages, provides HTTPS, and auto-downloads the binary if missing.

ngrok free tier shows an interstitial warning page that blocks mobile and automated use.

Without a tunnel, the port must be open in your firewall/security group. The CLI will warn you if it detects the port is unreachable.

Security

  • One-time use: portal expires after a single submission
  • Token auth: URL contains a random 32-byte token
  • Secret values are never printed to stdout/stderr (enforced by tests)
  • Env file is written with 600 permissions (owner-only)
  • Secrets never touch chat history or terminal logs

Source

https://github.com/Olafs-World/secret-portal

Installation

Terminal bash

openclaw install secret-portal
    
Copied!

💻Code Examples

example.sh
# Single key with cloudflared tunnel (recommended)
uv run --with secret-portal secret-portal \
  -k API_KEY_NAME \
  -f ~/.secrets/target-env-file \
  --tunnel cloudflared

# With guided instructions and a link to the key's console
uv run --with secret-portal secret-portal \
  -k OPENAI_API_KEY \
  -f ~/.env \
  -i '<strong>Get your key:</strong><ol><li>Go to platform.openai.com</li><li>Click API Keys</li><li>Create new key</li></ol>' \
  -l "https://platform.openai.com/api-keys" \
  --link-text "Open OpenAI dashboard →" \
  --tunnel cloudflared

# Multi-key mode (no -k flag, user enters key names and values)
uv run --with secret-portal secret-portal \
  -f ~/.secrets/keys.env \
  --tunnel cloudflared

Tags

#web_and-frontend-development #web

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author awlevin
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install secret-portal