{"slug": "show-hn-passwd-page-give-agents-secrets-without-pasting-them-into-prompts", "title": "Show HN: Passwd.page – give agents secrets without pasting them into prompts", "summary": "Passwd.page launched a zero-knowledge secret-sharing tool that encrypts API keys, files, and credentials in the browser before transmission, with the decryption key stored only in the URL fragment so the server never sees it. The open-source service supports self-destructing links, drag-and-drop file sharing up to 1 MB, and CLI or MCP integration for AI agents to retrieve secrets at runtime without exposing them in prompts. The tool aims to eliminate the security risks of pasting secrets into LLM sessions, hardcoding credentials in configs, or sharing plaintext files through messaging platforms.", "body_md": "Your agents need secrets. Pasting them into prompts gets them logged. Hardcoding them is worse. passwd.page is the zero-knowledge handoff — encrypted on your device, self-destructing, open source.\n\nNo signup · No app · No subscription · Free & open source\n\nNew in v3\n\nShared from laptop, opening on your phone? Scan. Done. No 64-character URL typing.\n\nDrag & drop any file up to 1 MB. SSH keys, `.env`\n\nfiles, certs. Encrypted in your browser before it leaves.\n\nSecond factor for the paranoid. PBKDF2-hardened, never sent to the server. Even if the link leaks, the secret doesn't.\n\nTell the receiving agent it's an `api_key`\n\nvs a `postgres_url`\n\n. Eight types. Schema hints for the agent era.\n\nFor when your agent needs a token *right now* and never again. Also 15m, 1h, 24h, 7d, 30d.\n\n`docker compose up -d`\n\n. Or drop the systemd unit. See [SELF_HOSTING.md](https://github.com/davidfeldi/passwd-page/blob/main/SELF_HOSTING.md).\n\nThe problem\n\nPasting API keys into an LLM session\n\nLogged, stored, potentially trained on. Your secret is now someone else's data.\n\nSlacking a .env file to a teammate\n\nPlaintext, forever searchable, accessible to every admin and compliance tool.\n\nHardcoding secrets in agent configs\n\nPlaintext on disk. One `git add .`\n\naway from being public.\n\nGiving agents full vault access\n\nOver-privileged. Your agent can read every secret, not just the one it needs.\n\nHow it works\n\nAES-256-GCM encryption runs in your browser, your CLI, or your agent. The encryption key never touches our servers.\n\nOur server stores encrypted gibberish. The decryption key lives in the URL fragment — never sent to us per the HTTP spec. Even if we get breached, your secrets are safe.\n\nThe moment the recipient retrieves the secret, it's destroyed on the server. No copies, no backups, no traces.\n\n`URL structure`\n\n```\npasswd.page/s/{id}#{key}\n              ^^^^^^    ^^^^^\n          server sees  server NEVER sees\n```\n\nUse cases\n\nShare a database password with your teammate. They open the link, see it once, it's gone. No more \"check Slack from 3 months ago.\"\n\nCreate a link via browser or CLI. Tell your agent \"use the credentials at this URL.\" The agent retrieves and decrypts at runtime — the secret never enters the prompt.\n\nYour agent runs `share_file`\n\non a generated credential — encrypts it without ever reading it into context. You get a self-destructing link.\n\nOne service hands a short-lived token to another. Encrypted, ephemeral, zero trust. The way machine-to-machine should work.\n\nGetting started\n\nThe simplest way. No install.\n\n1. Go to [passwd.page/share](/share)\n\n2. Paste a secret *or* drop a file\n\n3. Pick TTL, optional passphrase\n\n4. Copy link or scan the QR\n\nFor your terminal and scripts.\n\n```\n# Install (verifies checksums)\ncurl -fsSL https://passwd.page/install | sh\n\n# Share a typed secret, 5 min TTL\npasswd-page create \"sk_live_...\" --type api_key --ttl 5m\n# https://passwd.page/s/a3f8#kG7...\n\n# Retrieve it\npasswd-page get \"https://passwd.page/s/a3f8#kG7...\"\n# sk_live_...\n\n# From a file (1 MB max)\npasswd-page create --file .env --type env_file\n```\n\nMCP tool server. The agent never sees the secret.\n\n```\n// claude code settings.json\n{\n  \"mcpServers\": {\n    \"passwd\": {\n      \"command\": \"passwd-mcp\"\n    }\n  }\n}\n```\n\n**share_secret** — hand the agent a plaintext value, get back a link.\n\n**share_file** — \"Encrypt my .env\" → agent reads the path, never the contents.\n\n**retrieve_secret** — agent fetches + decrypts at runtime. Returns the `type`\n\nso it knows the schema.\n\nWhy passwd.page\n\nNot \"trust us\" zero knowledge. Mathematically impossible for us to read your secrets. Open source — verify it yourself.\n\nOne Go binary, embeds the entire frontend. `docker run passwd-page`\n\nand you own your infrastructure. No external dependencies.\n\nCLI pipes, MCP tools, REST API. Every interface your workflow needs. `echo $SECRET | passwd create`\n\nNo accounts. No master passwords. No subscription. Share a secret, get a link, done. The way it should be.\n\nFAQ\n\nPaste it, get a link, send the link. passwd.page encrypts the password in your browser with AES-256-GCM and hands you a **one-time secret link**. The decryption key lives only in the URL fragment and is never sent to the server. The recipient opens it once and the secret self-destructs.\n\nA URL that reveals a shared secret a single time, then burns after reading. No copies in Slack, no plaintext in email, nothing left to leak from chat history. Perfect for ephemeral secret sharing — temporary passwords, API keys, database URLs.\n\nYes. Encryption runs on your device and the key never reaches our servers. We only store opaque ciphertext, so we are mathematically unable to read your secrets — even under subpoena or breach. It's open source, so you can verify it yourself.\n\nYes. An MCP tool server (`share_secret`\n\n, `share_file`\n\n, `retrieve_secret`\n\n), a CLI, and a REST API let agents hand off short-lived credentials without ever pasting them into a prompt.\n\nEmail and chat keep secrets in plaintext forever, searchable and accessible to admins and compliance tools. passwd.page secrets are end-to-end encrypted, expire on a timer (5 minutes to 30 days), and can self-destruct on first read.\n\nYour agents deserve better. Your teammates deserve better.", "url": "https://wpnews.pro/news/show-hn-passwd-page-give-agents-secrets-without-pasting-them-into-prompts", "canonical_source": "https://passwd.page/", "published_at": "2026-06-12 11:32:44+00:00", "updated_at": "2026-06-12 11:51:03.419811+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "ai-products", "ai-startups", "ai-infrastructure"], "entities": ["passwd.page", "PBKDF2", "AES-256-GCM", "GitHub", "Docker"], "alternates": {"html": "https://wpnews.pro/news/show-hn-passwd-page-give-agents-secrets-without-pasting-them-into-prompts", "markdown": "https://wpnews.pro/news/show-hn-passwd-page-give-agents-secrets-without-pasting-them-into-prompts.md", "text": "https://wpnews.pro/news/show-hn-passwd-page-give-agents-secrets-without-pasting-them-into-prompts.txt", "jsonld": "https://wpnews.pro/news/show-hn-passwd-page-give-agents-secrets-without-pasting-them-into-prompts.jsonld"}}