> ## Documentation Index
> Fetch the complete documentation index at: https://docs.proofable.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Run Proofable in a private cloud

> Run the same agent on a laptop, VPS, private cloud, or confidential VM with one identity, one set of limits, and one proof history.

Hosted jobs run on Proofable. To run an agent on infrastructure you control, deploy it anywhere and point it at the same endpoint. The agent keeps one identity, one set of limits, and one proof history across environments.

## Deploy an agent

<Steps>
  <Step title="Package the agent">
    Describe your agent as a Docker Compose file with its system prompt, model settings, tools, and environment.

    ```yaml theme={"dark"}
    # docker-compose.yml
    services:
      agent:
        image: your-agent-image:latest
        environment:
          - PROOFABLE_MCP_URL=https://mcp.proofable.me/mcp
          - PROOFABLE_ACCESS_KEY=${PROOFABLE_ACCESS_KEY}
    ```

    `PROOFABLE_ACCESS_KEY` is a profile [access key](/deployment/access-keys). Interactive agents sign in with OAuth instead.
  </Step>

  <Step title="Run it anywhere">
    Run the file on a laptop, a VPS, on-prem, or a production cluster. The agent connects to `https://mcp.proofable.me/mcp`, and Proofable loads its identity, permissions, and saved proofs. Before a sensitive action, the agent checks its permission and reuses existing proofs.
  </Step>

  <Step title="Move it without losing state">
    Redeploy the same file on AWS, GCP, Azure, Phala Cloud, or bare metal. Identity, permissions, and proofs stay the same.
  </Step>
</Steps>

The agent can call any Proofable MCP tool, including `proofable_context`, `proofable_proofs_check`, `proofable_verify`, `proofable_agent_mount`, and the secret tools.

## Confirm the chain of trust

* **Proofable** holds the agent's identity and permission proofs. Read them with `proofable_proofs_get` or `GET /api/v1/proofs/{qHash}`.
* **The access key** ties the deployed agent to your profile, which owns its identity, permissions, and proof history.
* **The environment** can prove it is genuine with confidential compute.

## Confidential compute

To prove the environment is genuine before it receives keys, run the agent in a confidential VM with hardware attestation. The attestation covers the full app: system prompt, model, tools, and environment. Keys are sealed to that app and released only after attestation passes, so no host process sees them in plaintext.

The agent's permissions and proofs still live in Proofable. Confidential compute adds proof that the environment matches what you expect.

### Phala dstack

[dstack](https://phala.com/dstack) runs a Docker Compose app inside an Intel TDX confidential VM. The TDX quote covers the full compose hash, and keys are released only after attestation passes. Proofable already uses Phala-backed confidential inference for hosted AI.

```bash theme={"dark"}
npx phala deploy
```

Check the TDX quote with `@phala/dcap-qvl` against the Phala PCCS. It proves the compose hash and the hardware.

### Other runtimes

Any runtime with Intel TDX, AMD SEV-SNP, or equivalent remote attestation over the app image works the same way. Point the agent at the Proofable endpoint.

## Agent frameworks

Any agent that speaks MCP can connect, including Hermes and OpenClaw. Package it the same way, set `PROOFABLE_ACCESS_KEY`, and point it at `https://mcp.proofable.me/mcp`. The framework handles planning and memory. Proofable handles identity, permissions, and proof before sensitive actions.

For Cursor Cloud Agents, connect Proofable MCP inside Cursor. Proofable does not launch those VMs.

## Next

<CardGroup cols={2}>
  <Card title="Access keys" icon="key" href="/deployment/access-keys">
    Credentials for servers and headless agents.
  </Card>

  <Card title="Agents" icon="robot" href="/agents">
    Owners, limits, and proof history.
  </Card>

  <Card title="Proofable and Phala" icon="arrow-up-right-from-square" href="https://phala.com/posts/neusphalabuildagenttrustlayer">
    The confidential runtime integration.
  </Card>

  <Card title="MCP overview" icon="plug" href="/mcp/overview">
    Tools and session flow.
  </Card>
</CardGroup>
