## Documentation Index

Fetch the complete documentation index at: [/llms.txt](https://docs.terminal3.io/llms.txt)

Use this file to discover all available pages before exploring further.

You don’t declare capabilities in a manifest — there isn’t one. What your TEE contract can do is decided in two places, both enforced inside the TEE at call time. Your contract runs in one of the `tenant-*` linker worlds, chosen from the host interfaces it imports in `world.wit`. Import `http` and your contract is linked against the `tenant-http` world; import nothing beyond the base and you get `tenant-base` (`kv-store`, `logging`, `tenant-context`).

```
world your-contract {
  import host:tenant/tenant-context@1.0.0;
  import host:interfaces/logging@2.1.0;
  import host:interfaces/kv-store@2.1.0;
  import host:interfaces/http@2.1.0;   // ← opting into outbound HTTP
}
```

On top of that, the TEE runtime enforces a capability ceiling — privileged interfaces (signing, user profile, …) are never linked into tenant worlds. See [Host API → z-namespace](https://docs.terminal3.io/t3n/how-t3n-works/host-api) for the full list.
