# What is Treeship
Source: https://docs.treeship.dev/guides/introduction

> Treeship is a local-first, portable proof system for agent workflows.

Treeship wraps the commands your agents run, signs the results, and produces portable proof that the work happened exactly the way you say it did.

## Wrap, verify, share

```
1. treeship wrap -- npm test        # sign what happened
2. treeship verify last             # check the chain offline
3. treeship hub push last           # share a verify URL
```

That is the entire core loop. Everything else builds on it.

## What you get

  
- Local-first — Every operation works offline. No server, no account, no API key required.

  
- Portable — A signed artifact is a self-contained JSON file. It verifies anywhere, across orgs, clouds, and protocols.

  
- Offline verification — The verifier is deterministic and runs on your machine. No network call needed.

  
- Signed chain — Every artifact links to its parent by content hash. Tamper with one step and the whole chain fails.

  
- Open — Apache-2.0 licensed. The verifier is open source. Anyone can verify without trusting Treeship.

## How it works

**One key to start, per-agent keys when you need them.** `treeship init` generates an Ed25519 keypair — the **ship key** — and encrypts it at rest. The ship key is your identity boundary and the default signer. Agents you register with their own key (`treeship onboard`, or `treeship agent register --own-key`) sign with **per-agent keys**, each bound to its `agent://` URI by a ship-signed certificate.

**Actors are humans and AI.** Every person or agent that performs work is identified by a URI like `human://alice` or `agent://deployer`. How strongly that identity is proven is graded on the artifact: `asserted` when the ship key signed and the actor URI is a label inside the signed payload, `proven (key-bound)` when the actor's own certified key signed it. See [How it works](/docs/guides/how-it-works) for the full model.

**Artifacts chain together.** Each artifact references its parent by content-addressed ID. The result is an ordered, tamper-evident chain of everything that happened in your workflow.

## Hub

Hub is optional. It adds shareability, never trust.

When you run `treeship hub push`, your artifact gets a public verify URL that anyone can open to check the chain. No install, no account, no trust in Treeship's infrastructure required on the verifier's side.

You can attach and detach from Hub at any time. Your keys and artifacts stay local regardless.

  
- [Quickstart](/docs/guides/quickstart) — Zero to a shareable verify URL in under two minutes.

  
- [How it works](/docs/guides/how-it-works) — Signing, chaining, verification, and Merkle proofs explained.