# seekrit > End-to-end encrypted, multi-tenant secrets manager on Cloudflare Workers. Secrets, private keys, and passphrases are encrypted on the client and never reach the server (zero-knowledge). Holds the credentials your code needs (DATABASE_URL, API keys, tokens) and injects them everywhere your code runs — browser, CLI, CI, containers, and AI agents. ## For AI agents — connect in one request seekrit has a HOSTED MCP server built for autonomous agents: you authenticate as a machine (no human, no browser, no install). 1. Self-register (once). Name the org for the REAL project you're working on — `orgName` and `orgSlug` are required, not placeholders: `curl -sX POST https://mcp.seekrit.dev/signup -H 'content-type: application/json' -d '{"orgName":"Acme Storefront","orgSlug":"acme-storefront"}'` → returns a machine `clientId` + `clientSecret` (secret shown once) and a fresh org. 2. Point your MCP client at `https://mcp.seekrit.dev/mcp` with header `Authorization: Basic base64(clientId:clientSecret)`. Call `whoami`, then `get_started`. 3. To set or read secret VALUES, add the local crypto server with the SAME credential: `npx -y @seekrit/mcp` (env `SEEKRIT_CLIENT_ID` + `SEEKRIT_CLIENT_SECRET`). The hosted server holds only metadata and can never decrypt; the local one does the crypto on your machine. Start with the MCP server page and the AI agents guide below. Every page is also available as markdown at the same URL with a `.md` suffix. ## Getting started - [Introduction](https://seekrit.dev/docs.md): What seekrit is and the zero-knowledge model behind it. - [MCP server (for AI agents)](https://seekrit.dev/docs/mcp.md): AI agents start here: what seekrit is and how to self-register and connect to the hosted MCP server in one request — no human, no install. - [Quickstart](https://seekrit.dev/docs/quickstart.md): Sign in, encrypt your first secret, and inject it into a command. - [Examples](https://seekrit.dev/docs/examples.md): A cookbook: composability, one secret set across every runtime, and agent workflows. ## Concepts - [Encryption model](https://seekrit.dev/docs/concepts/encryption.md): Envelope encryption: data keys, key wrapping, passphrase keys. - [Architecture](https://seekrit.dev/docs/concepts/architecture.md): Orgs, apps, environments, and the Cloudflare building blocks. - [Scale & the edge](https://seekrit.dev/docs/concepts/scale.md): Why zero-knowledge distributes globally: edge-cached ciphertext at any scale. - [Access & key grants](https://seekrit.dev/docs/concepts/access-control.md): Roles, per-principal key grants, revocation, and rotation. - [Customer-controlled recovery](https://seekrit.dev/docs/concepts/recovery.md): Regain environment access with a quorum of custodians — no keys held by seekrit. - [Managed keys (KMS)](https://seekrit.dev/docs/concepts/kms.md): Client-side managed keys for application-layer encryption and signing. - [Security model](https://seekrit.dev/docs/concepts/security.md): What the server can and cannot see; the threat model. - [Temporary access](https://seekrit.dev/docs/concepts/temporary-access.md): Vault-style short-lived credentials that stay zero-knowledge. - [Secret rotation](https://seekrit.dev/docs/concepts/rotation.md): Managed, scheduled replacement of stored credentials — and the boundary it needs. ## Managing secrets - [Web dashboard](https://seekrit.dev/docs/guides/web-app.md): Sign in, set up keys, and manage secrets in the browser. - [CLI](https://seekrit.dev/docs/guides/cli.md): Install, link a project, and inject secrets into any command. - [Environments & groups](https://seekrit.dev/docs/guides/environments.md): Share secrets with groups; layer .env and process env on top. - [Branch configs](https://seekrit.dev/docs/guides/branches.md): Throwaway per-PR and preview environments that inherit from a real one and delete themselves. - [Secret references](https://seekrit.dev/docs/guides/references.md): Build one secret out of others: stored literally, expanded on read, so a rotation updates everything that references it. ## Agents & MCP - [AI frameworks](https://seekrit.dev/docs/guides/frameworks.md): Start here for agents: three commands to get keys into LangGraph, Mastra, Pydantic AI, the AI SDK, CrewAI, LlamaIndex, or either Agents SDK — then tighten it as needed. - [LangGraph](https://seekrit.dev/docs/guides/frameworks/langgraph.md): Run a LangGraph or LangChain agent with secrets injected instead of a .env file, resolve them in code, keep the provider key out of the process entirely, or use LangChain middleware to scope a credential to one tool call. - [Mastra](https://seekrit.dev/docs/guides/frameworks/mastra.md): Get credentials into a Mastra agent without a .env file, resolve them in code, hold a placeholder instead of a key, give each request its own tenant credentials, or scope a key to a single tool. - [Pydantic AI](https://seekrit.dev/docs/guides/frameworks/pydantic-ai.md): Pydantic AI's dependency injection is the cleanest per-run credential seam of any agent framework — here's how to resolve seekrit secrets per tenant, per run. - [AI SDK](https://seekrit.dev/docs/guides/frameworks/ai-sdk.md): Get provider keys into a Vercel AI SDK app without a .env file — including serverless and edge runtimes with no ambient environment. - [OpenAI Agents SDK](https://seekrit.dev/docs/guides/frameworks/openai-agents.md): Run an OpenAI Agents SDK agent on injected secrets, or route it through the seekrit proxy — including the tracing exporter that quietly uses the same key. - [Claude Agent SDK](https://seekrit.dev/docs/guides/frameworks/claude-agent-sdk.md): The Claude Agent SDK deliberately doesn't read .env files — which makes seekrit run exactly the right shape, and matters more here because this agent reads your files. - [CrewAI](https://seekrit.dev/docs/guides/frameworks/crewai.md): Give a CrewAI crew its provider and tool credentials without a .env file — and bound what the crew's tools can do with the key it gets. - [LlamaIndex](https://seekrit.dev/docs/guides/frameworks/llamaindex.md): Wire seekrit into a LlamaIndex app: injected secrets for the process, resolution in code for serverless, and a proxied model endpoint for untrusted code. - [AI agents](https://seekrit.dev/docs/guides/ai-agents.md): Drive seekrit from Claude Code and other MCP clients: the hosted metadata server plus the local crypto server. - [Agent plugin](https://seekrit.dev/docs/guides/ai-agents/plugin.md): One command installs seekrit into every coding agent you use: both MCP servers plus the instructions for handling secrets without writing a value to disk. - [Agent egress proxy](https://seekrit.dev/docs/guides/agent-proxy.md): Keep keys out of a workload: swap placeholders for secrets on outbound requests. - [Agent access policy](https://seekrit.dev/docs/guides/agent-proxy/policy.md): Decide in the dashboard which upstream each agent may reach, with which credential, for which operations — signed in your browser so seekrit can serve the policy but never widen it. - [In-process injection](https://seekrit.dev/docs/guides/agent-proxy/in-process.md): Hold a {{seekrit:NAME}} placeholder instead of a credential without running the proxy — a fetch wrapper in TypeScript, an httpx transport in Python, and LangChain middleware that scopes a key to one tool. - [Agent sandboxes](https://seekrit.dev/docs/guides/sandboxes.md): Get secrets into E2B, Modal, Daytona, Vercel Sandbox and Cloudflare Sandbox — or keep them outside the sandbox entirely. - [E2B](https://seekrit.dev/docs/guides/sandboxes/e2b.md): Resolve on the host and inject at sandbox creation, or point the sandbox at seekrit-proxy so the credential never enters it. - [Modal](https://seekrit.dev/docs/guides/sandboxes/modal.md): Resolve on the host and pass a modal.Secret built at deploy time, so Modal never stores a copy of your credentials. - [Daytona](https://seekrit.dev/docs/guides/sandboxes/daytona.md): Resolve on the host and inject with envVars at sandbox creation, or keep the credential outside the sandbox behind seekrit-proxy. - [Vercel Sandbox](https://seekrit.dev/docs/guides/sandboxes/vercel-sandbox.md): Resolve on the host and inject with env at create or per command — or combine networkPolicy deny-all with seekrit-proxy so the microVM holds no credential. - [Cloudflare Sandbox](https://seekrit.dev/docs/guides/sandboxes/cloudflare-sandbox.md): Resolve in the Worker and inject with setEnvVars — or use an outbound handler so the credential stays in the Worker and never enters the container. ## Code & runtimes - [Language SDKs](https://seekrit.dev/docs/guides/sdks.md): Resolve and decrypt secrets from your own code — Python, Go, JS/TS, and Ruby. - [Replace dotenv (Node.js)](https://seekrit.dev/docs/guides/dotenv.md): Migrate a JavaScript/Node project off a plaintext .env file. - [Jupyter notebooks](https://seekrit.dev/docs/guides/notebooks.md): One call at the top of a notebook loads an environment — without a pasted token or secret values in saved cell outputs. - [seekrit-run launcher](https://seekrit.dev/docs/guides/run.md): Tiny static binary: inject secrets and exec, for CI and containers. ## Deploy & CI - [CI/CD & containers](https://seekrit.dev/docs/guides/ci-cd.md): Wire seekrit into pipelines and image builds. - [Kubernetes (ESO)](https://seekrit.dev/docs/guides/kubernetes.md): Sync secrets into Kubernetes with the External Secrets Operator. - [Third-party sync](https://seekrit.dev/docs/guides/third-party-sync.md): Push secrets to platforms whose runtime you don't control — Vercel, Cloudflare, AWS, and a dozen more. - [Vercel](https://seekrit.dev/docs/guides/third-party-sync/vercel.md): Push a seekrit environment into a Vercel project's environment variables, per deployment target. - [Cloudflare](https://seekrit.dev/docs/guides/third-party-sync/cloudflare.md): Push a seekrit environment into Cloudflare Workers secret bindings, Pages environment variables, or an account's Secrets Store. - [Railway](https://seekrit.dev/docs/guides/third-party-sync/railway.md): Push a seekrit environment into a Railway service's variables, or an environment's shared variables. - [AWS](https://seekrit.dev/docs/guides/third-party-sync/aws.md): Push a seekrit environment into AWS Secrets Manager or SSM Parameter Store, with a least-privilege IAM policy. - [Render](https://seekrit.dev/docs/guides/third-party-sync/render.md): Push a seekrit environment into a Render service's environment variables, or a shared environment group. - [Fly.io](https://seekrit.dev/docs/guides/third-party-sync/fly.md): Push a seekrit environment into a Fly.io app's secret set, delivered to Machines as environment variables. - [Northflank](https://seekrit.dev/docs/guides/third-party-sync/northflank.md): Push a seekrit environment into a Northflank secret group, inherited by the project's services and jobs. - [DigitalOcean](https://seekrit.dev/docs/guides/third-party-sync/digitalocean.md): Push a seekrit environment into a DigitalOcean App Platform app's environment variables, at app or component level. - [Heroku](https://seekrit.dev/docs/guides/third-party-sync/heroku.md): Push a seekrit environment into a Heroku app's config vars, delivered to every dyno as environment variables. - [Netlify](https://seekrit.dev/docs/guides/third-party-sync/netlify.md): Push a seekrit environment into a Netlify site's environment variables, for the deploy contexts you name. - [Bunnyshell](https://seekrit.dev/docs/guides/third-party-sync/bunnyshell.md): Push a seekrit environment into Bunnyshell environment or project variables — including ones that seed environments not yet created. - [GitHub Actions](https://seekrit.dev/docs/guides/third-party-sync/github-actions.md): Push a seekrit environment into GitHub Actions secrets — and why the seekrit Action is the better answer for most workflows. - [Google Secret Manager](https://seekrit.dev/docs/guides/third-party-sync/google-secret-manager.md): Push a seekrit environment into Google Cloud Secret Manager, one secret per name or as a single JSON bundle. - [LangGraph Platform](https://seekrit.dev/docs/guides/third-party-sync/langgraph-platform.md): Push a seekrit environment into a LangGraph Platform (Agent Server) deployment, read by the agent as environment variables. - [Self-hosted provisioner](https://seekrit.dev/docs/guides/provisioner.md): Run the remote executor so seekrit never sees your database admin credential. ## Access & security - [Service tokens](https://seekrit.dev/docs/guides/service-tokens.md): Machine credentials for CI, Docker, Kubernetes, and agents. - [Honey tokens](https://seekrit.dev/docs/guides/honey-tokens.md): Decoy credentials that unlock nothing and alert you the moment anyone tries to use them. - [Rotate secrets on a schedule](https://seekrit.dev/docs/guides/rotation.md): Replace a stored credential on a schedule, re-keying the database account with it. - [Set up recovery](https://seekrit.dev/docs/guides/recovery.md): Configure and exercise customer-controlled M-of-N recovery from the CLI and dashboard. - [Managed keys (KMS)](https://seekrit.dev/docs/guides/kms.md): Create managed keys and use them to encrypt, decrypt, and sign. - [AWS KMS drop-in](https://seekrit.dev/docs/guides/kms-aws.md): Point any AWS SDK at seekrit-kms: KMS-compatible envelope encryption, zero-knowledge. ## Operations - [Audit log export](https://seekrit.dev/docs/guides/audit-export.md): Stream your audit trail to an OTLP endpoint for SIEM and observability. - [Telemetry (OpenTelemetry)](https://seekrit.dev/docs/guides/telemetry.md): Export traces, metrics, and logs from the seekrit services you run yourself to your own OTLP collector. - [Email notifications](https://seekrit.dev/docs/guides/notifications.md): Which transactional emails seekrit sends, and how to manage them. - [Plans & billing](https://seekrit.dev/docs/guides/billing.md): See your plan and usage, upgrade, and manage payment from the dashboard. ## Reference - [CLI commands](https://seekrit.dev/docs/reference/cli.md): Every command, flag, and environment variable. - [REST API](https://seekrit.dev/docs/reference/api.md): Endpoints, auth, and payloads exposed by the API worker. ## Optional - [Full documentation, single file](https://seekrit.dev/llms-full.txt): every page concatenated