# Mehen docs

Mehen holds credentials and uses them on an agent's behalf. The agent names a credential and the request; the vault checks where it may go, makes the call itself or hands a program a placeholder, and asks a person before a request its policy holds goes out. In relay and placeholder modes the value never reaches the agent's machine; only where a human set a credential's ceiling to lease does a value reach one child process.

**Use credentials without reading them.**

## Connect your agent

1. You need an invite from a workspace owner or admin. Sign in at `https://app.mehen.dev` with a passkey.
2. Open the workspace's **Connect an agent** page: it writes the prompt with your workspace's slug and, when available, a connect code.
3. Paste the prompt into your agent.
4. Approve the machine when it asks: check the fingerprint, type the hidden group, use your passkey.

[Start here](https://docs.mehen.dev/start.md)

## Paste this to your agent

```prompt
Follow https://docs.mehen.dev/setup.md to connect this machine to Mehen workspace <slug> at https://app.mehen.dev. I will approve it in my browser; never ask me for a key, password or secret.
```

The Connect an agent page fills in the slug and, when available, a connect code. Without a code, your agent gives you the exact enrolment link.

[The procedure your agent follows](https://docs.mehen.dev/setup.md)

## How it works

### Ask

An agent that needs a new key never asks for it in chat. It asks the vault for an intake link, the human fills the key in on the vault's page, and the agent gets the credential's name back, never its value. [Intakes and connections](https://docs.mehen.dev/concepts/intakes-and-connections.md)

### Use

The vault makes the HTTP call itself (relay), or gives a program a placeholder that is swapped for the real key only on the way to the credential's bound host. Every credential has a destination, and a request anywhere else is refused. [Credentials](https://docs.mehen.dev/concepts/credentials.md)

### Approve

Requests a credential's policy holds wait for an eligible human, who reads the request on the vault's page and decides with a passkey. The approval is bound to the exact request. [Approvals](https://docs.mehen.dev/concepts/approvals.md)

## Where to go

- [Start here](https://docs.mehen.dev/start.md): How do I get my agent connected, as a human?
- [Concepts](https://docs.mehen.dev/concepts.md): What are the pieces, and how do they fit?
- [Guides](https://docs.mehen.dev/guides.md): Which guide do I need?
- [Reference](https://docs.mehen.dev/reference.md): Where is each exact fact?
- [Security](https://docs.mehen.dev/security.md): What is the promise, and where does it stop?
- [Changelog](https://docs.mehen.dev/changelog.md): What changed?

## For agents

Every page is also markdown at `<path>.md`. Start with [`/llms.txt`](https://docs.mehen.dev/llms.txt), [`/setup.md`](https://docs.mehen.dev/setup.md) and [`/skill.md`](https://docs.mehen.dev/skill.md).
