vault-ask
Request and send secrets for AI agents, end-to-end encrypted and never shown in the chat.
ماذا يمكنك أن تفعل مع vault-ask؟
- Send a secret: create a one-time link, recipient decrypts in the browser, secret self-destructs after viewing.
- Request a secret: create an inbound link, send it to a third party (customer, colleague) who submits a secret without an account. You retrieve it once with your private key.
- End-to-end encryption: AES-GCM 256 for sending, X25519 + ECIES for requesting. All crypto in the browser via the native Web Crypto API. The server never sees plaintext.
- No accounts: neither sender nor receiver needs to sign up.
- Auditable: deterministic build, source SHA embedded in every HTML response, SRI hashes on every script.
- Secrets for AI agents:
cli/containsvault-ask, a CLI and MCP server that request a secret from a person and hand it to exactly one command or file, masked in every output and never shown to the agent, and that send a generated secret to a pe...
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
@erseni/vault-askclaude mcp add vault-ask -e 'VAULT_ASK_API_KEY=<your vault_ask_api_key>' -e 'VAULT_ASK_SERVER=https://vault.erseni.com' -- npx -y @erseni/vault-ask@0.2.1 mcp
{
"mcpServers": {
"vault-ask": {
"command": "npx",
"args": [
"-y",
"@erseni/vault-ask@0.2.1",
"mcp"
],
"env": {
"VAULT_ASK_API_KEY": "<your vault_ask_api_key>",
"VAULT_ASK_SERVER": "https://vault.erseni.com"
}
}
}
}
متغيرات البيئة
VAULT_ASK_API_KEYسري API key from your Erseni Vault account. Without it, each request solves a proof of work.VAULT_ASK_SERVERVault server URL
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
secrets-component
Zero-knowledge, one-time secret sharing. End-to-end encrypted in the browser. The server only ever stores ciphertext. Supports both sending and requesting secrets without requiring any account.
Part of the Erseni open-source components.
Status: early development. API and on-disk format may change until the first tagged release.
Primary development happens in Erseni's internal monorepo. This repository is a public mirror, kept in sync via Jenkins after every successful production deploy. Issues and merge requests are welcome; see CONTRIBUTING.md.
Features
- Send a secret: create a one-time link, recipient decrypts in the browser, secret self-destructs after viewing.
- Request a secret: create an inbound link, send it to a third party (customer, colleague) who submits a secret without an account. You retrieve it once with your private key.
- End-to-end encryption: AES-GCM 256 for sending, X25519 + ECIES for requesting. All crypto in the browser via the native Web Crypto API. The server never sees plaintext.
- No accounts: neither sender nor receiver needs to sign up.
- Auditable: deterministic build, source SHA embedded in every HTML response, SRI hashes on every script.
- Secrets for AI agents:
cli/containsvault-ask, a CLI and MCP server that request a secret from a person and hand it to exactly one command or file, masked in every output and never shown to the agent, and that send a generated secret to a person as a one-time link.
Where it runs
The component runs as part of Erseni Vault, hosted in the EU. It is not a standalone application: it depends on Erseni's internal framework, and this repository cannot be installed or self-hosted on its own. The source is published so that the cryptography and the server behaviour can be audited.
vault-ask in cli/ is the exception: it is a standalone Node.js tool that talks to Erseni Vault.
Security model
- Secret plaintext never leaves the sender's browser.
- Encryption keys are transported in the URL fragment (
#k=...), which browsers never send to servers. - Secrets are deleted on first retrieval (atomic
DELETE ... RETURNING). - Expired secrets are purged every minute by a cron job.
- No access logs, no IP retention, no backups of the secrets tables.
See docs/ARCHITECTURE.md and docs/THREAT-MODEL.md.
Verifying a running instance
Every page served by a secrets-component instance includes a <meta name="build-sha" content="..."> tag. Match that SHA against a tag in this repository to confirm the deployed code.
curl -s https://secrets.example.com/send | grep build-sha
License
AGPL-3.0-or-later. See LICENSE.
Security disclosure
See SECURITY.md.
الأسئلة الشائعة
ما هو vault-ask؟
Request and send secrets for AI agents, end-to-end encrypted and never shown in the chat.
كيف أثبّت vault-ask؟
يعمل على جهازك. في Claude Code: claude mcp add vault-ask -e 'VAULT_ASK_API_KEY=<your vault_ask_api_key>' -e 'VAULT_ASK_SERVER=https://vault.erseni.com' -- npx -y @erseni/vault-ask@0.2.1 mcp. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج vault-ask إلى مفتاح API؟
نعم. يتطلب VAULT_ASK_API_KEY، وتضبطها في إعداداته.
هل vault-ask مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص AGPL-3.0.
من يصون vault-ask؟
ينشره Erseni. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.